TL;DR
Мы пытались запустить LLM inference на старой AMD RX580 (8 VRAM) через ROCm в Kubernetes. GPU корректно определялся, VRAM использовалась, но inference падал с ошибками вида:
hipMemGetInfo(free, total) CUDA error: invalid argument
После серии экспериментов с ROCm userspace, Docker‑образами и Kubernetes deployment выяснилось, что проблема лежит на границе:
kernel → ROCm runtime → ggml backend
Финальное решение включало:
-
переход на kernel 6.8
-
стабилизацию ROCm runtime
-
использование llama.cpp + ROCm
-
grammar‑constrained decoding для strict sanity prompts
В итоге мы получили стабильный GPU inference:
-
~42 токен/сек
-
gpu_busy_percent → до 100%
