Запуск LLM на AMD RX 7800 XT (Руководство по ROCm)

Руководство подготовлено Ian Wirtz

Рекомендация: LM Studio (lms) — сервер инференса, который использует Elite Intel.


Предварительные требования

Шаг 1 Установка rocm-hip-runtime

Прежде чем LM Studio сможет использовать GPU через ROCm, системе необходимы базовые пользовательские HIP-библиотеки для взаимодействия с драйвером ядра.

Arch Linux / CachyOS:

sudo pacman -S rocm-hip-runtime

Ubuntu / Debian:

sudo apt install rocm-hip-runtime

Fedora:

sudo dnf install rocm-hip-runtime

Права доступа к GPU: Ваш пользователь должен входить в группы render и video. Проверьте командой:

groups

Если одной из групп нет, добавьте себя:

sudo usermod -aG video,render $USER

Для применения изменений необходимо полностью выйти из системы и войти снова (или перезагрузить компьютер).


Шаг 2 Установка rocm-smi (может быть необязательным)

На быстро обновляемых дистрибутивах, таких как Arch, утилиты управления не всегда подтягиваются как строгая зависимость rocm-hip-runtime. Установите их явно, чтобы избежать несовпадения версий библиотек.

Arch Linux / CachyOS:

sudo pacman -S rocm-smi-lib

Ubuntu / Debian:

Debian разделяет CLI-инструмент и его библиотеку времени выполнения на отдельные пакеты.

# Инструмент мониторинга командной строки
sudo apt update && sudo apt install rocm-smi

# Библиотеки времени выполнения
sudo apt update && sudo apt install librocm-smi64-1

Подсказка: Если точное название пакета неизвестно, введите sudo apt install librocm-smi64 и нажмите Tab для автодополнения текущего суффикса версии.

Fedora:

# CLI-инструмент
sudo dnf install rocm-smi

# Библиотеки и заголовки для разработки на C/C++ (аналог rocm-smi-lib в Arch)
sudo dnf install rocm-smi-devel

Запуск модели

Модель Требуется VRAM Примечания
google/gemma-4-e4b ~6.3 ГБ ✅ Требуется

Почему именно она? Она поддерживает вызов функций, необходимый компаньону. Модель, которая не умеет формировать вызов инструмента, не сможет управлять приложением, как бы хорошо она ни писала. См. Выбрать LLM.

Шаг 3 Загрузка модели с ускорением ROCm

При вызове lms load явно передавайте флаги аппаратного ускорения. Флаг --gpu max указывает среде выполнения загрузить всю модель в VRAM.

HSA_OVERRIDE_GFX_VERSION=11.0.0 lms load google/gemma-4-e4b --context-length 8192 --gpu max

Префикс HSA_OVERRIDE_GFX_VERSION=11.0.0 сообщает стеку ROCm, что RX 7800 XT следует воспринимать как нативно поддерживаемую вычислительную цель, обходя молчаливые ошибки отката.


Шаг 4 Сохранение конфигурации

Чтобы не добавлять переменную окружения к каждой команде, добавьте её в профиль командной оболочки.

Bash:

echo 'export HSA_OVERRIDE_GFX_VERSION=11.0.0' >> ~/.bashrc
source ~/.bashrc

Fish (стандартная оболочка CachyOS) Вариант A: универсальная переменная (рекомендуется)

Задаётся один раз; Fish автоматически сохраняет её между перезагрузками без дополнительной настройки:

set -Ux HSA_OVERRIDE_GFX_VERSION 11.0.0

Fish Вариант B: явная запись в файл конфигурации

echo 'set -gx HSA_OVERRIDE_GFX_VERSION 11.0.0' >> ~/.config/fish/config.fish
source ~/.config/fish/config.fish

Проверка

Шаг 5 Убедитесь, что вычислительный драйвер ядра загружен

Если команда зависает, возможно, вычислительный уровень ядра (amdkfd) не инициализирован. Проверьте, доступен ли GPU как вычислительная платформа ROCm:

rocminfo

Прокрутите вывод вверх. Если видите Can't open /dev/kfd или аварийное завершение Linux-ядро не открывает интерфейс вычислений для пользовательского пространства. Если вы используете кастомное или экспериментальное ядро, попробуйте загрузиться со стандартным или LTS-ядром (linux-lts), чтобы исключить регрессию драйвера.


Шаг 6 Запуск сервера и проверка использования VRAM

LM Studio:

lms server start

Затем убедитесь, что модель загружена в VRAM:

rocm-smi

В режиме ожидания (модель не загружена):

rocm-smi output with no model running

В режиме ожидания GPU потребляет минимум энергии (9 Вт), тактовые частоты близки к минимуму, использование VRAM невысокое (44%).

Под нагрузкой (модель и игра запущены одновременно):

rocm-smi output with Elite Dangerous and EliteIntel running

При совокупной нагрузке использование VRAM должно заметно вырасти (71% в данном примере), утилизация GPU увеличиться, а энергопотребление возрасти (~147 Вт). Это подтверждает, что модель находится в VRAM и инференс выполняется на GPU.