# vLLM на AMD ROCm: совместимость видеокарты и проверка API

Источник: https://modelium.tech/zhurnal/vllm-na-amd-rocm/

vLLM поддерживает часть AMD GPU через ROCm на Linux, но совместимость зависит от точной архитектуры GPU, версии ROCm и сборки vLLM. Для готового колеса ROCm 7.0 проверьте Python 3.12 и glibc не ниже 2.35, затем получите список моделей и ответ локального API. Видимость GPU и успешный ответ — разные проверки; Modelium этот стек на AMD не запускал.

**Проверено по документации 3 октября 2026 года.** Инструкции vLLM сверены с Git-ревизией `4ac0d0e`, AMD и Docker — с полученными сегодня страницами. У Modelium нет собственного прогона AMD GPU: все шаги ниже читатель проверяет на своём Linux-хосте [s1](#src-s1)[s2](#src-s2)[s5](#src-s5)[s7](#src-s7).

## Можно ли запустить vLLM с AMD GPU?

Да, но не с любой картой AMD. На закреплённом срезе vLLM поддерживает ROCm от 6.3 и перечисляет архитектуры MI200 `gfx90a`, MI300 `gfx942`, MI350 `gfx950`, Radeon RX 7900 `gfx1100/1101`, RX 9000 `gfx1200/1201`, Ryzen AI MAX / AI 300 `gfx1151/1150`. Для MI350 указан минимум ROCm 7.0, для Ryzen AI MAX / AI 300 — 7.0.2; это требования конкретного проекта, а не обещание запуска любой модели на каждой перечисленной карте [s1](#src-s1).

Страница решает отдельную задачу: **модель для локального текстового API → точная GPU-архитектура → ROCm и Linux → подходящая сборка vLLM → JSON-ответ и диагностика**. Наличие вашей серии в списке не определяет доступную память: размеры весов, KV-кеш, длина контекста и параллельные запросы влияют на размещение. Для предварительной оценки откройте [гайд по видеокарте](/zhurnal/videokarta-dlya-llm/); конкретный минимум VRAM здесь не утверждается. Близкая серия без нужного `gfx`-кода не считается подтверждённой совместимостью [s1](#src-s1)[s5](#src-s5).

## Какая ОС и версия ROCm нужны до установки?

Официальный GPU-раздел vLLM указывает **Linux**, общий диапазон Python 3.10–3.13 и прямо не поддерживает нативную Windows-установку. Windows/WSL — отдельная ветка, но описанный здесь Linux ROCm-путь нельзя без проверки переносить в WSL или на Windows-драйвер; [гайд WSL](/zhurnal/vllm-windows-wsl/) относится к другому сценарию [s2](#src-s2). Сначала сверяйте *точную карту*, версию Linux-дистрибутива и драйвер с [матрицей ROCm AMD](https://rocm.docs.amd.com/projects/install-on-linux/en/latest/reference/system-requirements.html), затем с `gfx`-списком vLLM; поддержка в одном списке не доказывает поддержку всего стека [s1](#src-s1)[s5](#src-s5).

Для готовых колёс на проверенной ревизии указан `rocm700` под ROCm 7.0, **Python 3.12** и glibc не ниже 2.35; вариант `rocm721` под ROCm 7.2.1 описан для nightly-релизов. Это разные варианты, не взаимозаменяемые флаги. Общее «ROCm 6.3+ поддерживается» не значит, что для произвольной версии ROCm существует готовый стабильный wheel: альтернативой может стать сборка из исходников либо другая официальная конфигурация [s1](#src-s1). Не обновляйте системный GPU-драйвер рабочей станции ради одной команды без плана отката.

До установки ничего не меняйте: в Linux проверьте `python3 --version`, `ldd --version`, `rocminfo` и `ls -l /dev/kfd /dev/dri`. Команда `rocminfo` может отсутствовать до установки ROCm; ошибка на этом этапе — повод сверить драйвер и инструкции AMD, не подставлять произвольный `HSA_OVERRIDE_GFX_VERSION`. Если `rocminfo` доступна, запишите `gfx`-идентификатор, но не считайте это ответом vLLM [s1](#src-s1)[s5](#src-s5)[s6](#src-s6).

## Как выбрать установку без подмены CUDA-пакета?

Для **проверенного сочетания** Linux + поддерживаемая карта + ROCm 7.0 + Python 3.12 + glibc ≥2.35 официальная инструкция vLLM предлагает отдельную среду `uv venv --python 3.12 --seed --managed-python`, её активацию `source .venv/bin/activate`, затем `uv pip install vllm==0.18.0 --extra-index-url https://wheels.vllm.ai/rocm/0.18.0/rocm700` [s1](#src-s1). Выполняйте эти команды только после установки `uv` по его документации и проверки источника пакетов; они скачивают ПО из сети, а в вашем окружении версия PyTorch/ROCm может потребовать иной путь. Сохраните вывод `vllm --version`, `python3 --version` и `rocminfo` для диагностики [s1](#src-s1).

**Почему именно 3.12?** Авторы предупреждают: при другой версии Python установка через PyPI может незаметно выбрать CUDA-wheel и закончиться ошибкой `libcudart.so`; использовать обычное `pip install vllm` как ROCm-инструкцию нельзя [s1](#src-s1). У авторов есть также ROCm-контейнер `vllm/vllm-openai-rocm`, но приведённый ими Docker-запуск пробрасывает `/dev/kfd` и `/dev/dri`, использует `--cap-add=SYS_PTRACE` и `seccomp=unconfined`. Это расширенные привилегии, не безопасный шаблон для многопользовательского или открытого сервера: отдельно оцените необходимость флагов и ограничения хоста по руководствам AMD и Docker [s1](#src-s1)[s6](#src-s6)[s7](#src-s7). Старые образы `rocm/vllm` в документации vLLM названы deprecated; не смешивайте их с официальным образом vLLM [s1](#src-s1).

Для непривилегированного локального опыта путь через отдельную Python-среду проще анализировать, но он не изолирует модель от всех файлов хоста. Не используйте приватные документы и токены в пробном запросе. Даже при работе на `127.0.0.1` установка пакетов и скачивание весов обращаются во внешнюю сеть; локальный адрес API не доказывает офлайн-контур.

## Как получить именно ответ модели, а не только видимость GPU?

В карточке `Qwen/Qwen3-0.6B` есть текстовая модель и chat template, автор отдельно приводит vLLM как вариант развёртывания; это **кандидат для теста интерфейса**, не гарантия размещения на вашей карте и не измеренный минимум памяти [s8](#src-s8). Зафиксированная карточка имеет ревизию `c1899de289a04d12100db370d81485cdf75e47ca`; команда ниже с именем репозитория без флага revision скачает его состояние **на момент вашего запуска**. Зафиксируйте ревизию фактически скачанных весов для воспроизводимости, не приписывайте текущему состоянию свойства закреплённой карточки [s8](#src-s8).

После установки и проверки окружения запустите в первом Linux-терминале `vllm serve Qwen/Qwen3-0.6B --host 127.0.0.1 --port 8000`. `--host` ограничивает прослушивание локальным интерфейсом; конкретную модель и её совместимость подтвердит только результат запуска. У vLLM Chat Completions применим к текстовой модели с chat template, а список моделей доступен через HTTP API [s3](#src-s3)[s4](#src-s4)[s8](#src-s8). В другом терминале запросите `curl -fsS http://127.0.0.1:8000/v1/models`, затем `curl -fsS http://127.0.0.1:8000/v1/chat/completions -H 'Content-Type: application/json' -d '{"model":"Qwen/Qwen3-0.6B","messages":[{"role":"user","content":"Ответь одним словом: готово"}],"max_tokens":32}'` [s3](#src-s3)[s4](#src-s4).

**Критерий успеха на вашей машине:** сервер без ошибки загрузил нужный ID, `/v1/models` показал выбранную модель, а Chat Completions вернул HTTP 200 и JSON с `choices[0].message`. Для Qwen3 может отдельно присутствовать содержимое рассуждения; не требуйте буквально заданного слова. Сохраните журнал запуска и фактическую версию сборки; сопоставьте логи устройства с ответом API. Только успешный `/v1/models` либо `rocminfo` **не доказывает успешный инференс**. Modelium не запускал эти команды и не измерял скорость или качество [s1](#src-s1)[s3](#src-s3)[s8](#src-s8).

## Что делать при ошибке и как завершить пробу?

- **GPU не виден в **`**rocminfo**`** или нет **`**/dev/kfd**`**:** проверьте драйвер, членство пользователя в нужных группах и матрицу GPU/ОС AMD; для контейнера отдельно нужны проброс устройств и разрешения. Это предварительная системная диагностика, не ошибка модели [s5](#src-s5)[s6](#src-s6).

- `**libcudart.so**`** после установки:** проверьте Python 3.12, `rocm700` и источник wheel; документация vLLM предупреждает о тихой подмене CUDA-пакетом. Не переключайтесь на случайный nightly без проверки ROCm-варианта [s1](#src-s1).

- **Модель не загружается или возникает ошибка памяти:** проверьте точный `gfx`, версию ROCm, фактическую сборку и лог загрузки, а затем уменьшайте контекст или выбирайте подходящий размер модели. Список поддерживаемых GPU не задаёт минимум памяти для всех весов [s1](#src-s1)[s8](#src-s8).

- **Есть ответ **`**/v1/models**`**, но нет Chat Completions:** проверьте ID модели, chat template и JSON-тело запроса; тест списка моделей не подменяет генерацию [s3](#src-s3)[s4](#src-s4).

Остановите пробный сервер `Ctrl+C` в первом терминале. После сохранения логов удаляйте только созданную под тест виртуальную среду, если она больше не нужна; драйвер ROCm и общие зависимости хоста не удаляйте вслепую. Если позже сервер понадобится за пределами localhost, нужен отдельный сетевой контроль: документация vLLM прямо говорит, что `--api-key` не защищает все пути, включая `/invocations`; одного API-ключа недостаточно для открытого сетевого развёртывания [s4](#src-s4).

**Следующий шаг:** откройте [общий гайд vLLM](/zhurnal/vllm/), сопоставьте выбранную модель с памятью и сохраните свой локальный ответ Chat Completions вместе с версией ROCm или точную ошибку для повторной диагностики.

## Источники

1. [vLLM — AMD ROCm installation, requirements and wheels](https://github.com/vllm-project/vllm/blob/4ac0d0eac25eecc98ff519887f2aa3d659dc75f3/docs/getting_started/installation/gpu.rocm.inc.md) — получено 2026-10-03
2. [vLLM — GPU installation, Linux/Windows boundary](https://github.com/vllm-project/vllm/blob/4ac0d0eac25eecc98ff519887f2aa3d659dc75f3/docs/getting_started/installation/gpu.md) — получено 2026-10-03
3. [vLLM — Quickstart and local API](https://github.com/vllm-project/vllm/blob/4ac0d0eac25eecc98ff519887f2aa3d659dc75f3/docs/getting_started/quickstart.md) — получено 2026-10-03
4. [vLLM — OpenAI-compatible server and API-key limitations](https://github.com/vllm-project/vllm/blob/4ac0d0eac25eecc98ff519887f2aa3d659dc75f3/docs/serving/online_serving/openai_compatible_server.md) — получено 2026-10-03
5. [AMD ROCm — Linux system requirements and supported GPU/OS matrix](https://rocm.docs.amd.com/projects/install-on-linux/en/latest/reference/system-requirements.html) — получено 2026-10-03
6. [AMD ROCm — Docker and device access](https://rocm.docs.amd.com/projects/install-on-linux/en/latest/how-to/docker.html) — получено 2026-10-03
7. [Docker Engine — security model and container privileges](https://docs.docker.com/engine/security/) — получено 2026-10-03
8. [Qwen/Qwen3-0.6B — pinned model card](https://huggingface.co/Qwen/Qwen3-0.6B/blob/c1899de289a04d12100db370d81485cdf75e47ca/README.md) — получено 2026-10-03
