Last active 4 months ago

llm
manual.md Raw

1. Определите, какой системной карте соответствует Device 0

ls -l /sys/class/drm/ | grep card
# Обычно card0 → Device 0, card1 → Device 1
# Точнее можно сопоставить через:
lspci -k | grep -iE 'vga|3d' -A 2

2. Проверьте статус энергопотребления

cat /sys/class/drm/card0/device/power/runtime_status
cat /sys/class/drm/card0/device/power/control
  • Если runtime_status = suspended или auto, а control = auto → система пытается экономить энергию.
  • Если control = auto, измените его временно:
    echo on | sudo tee /sys/class/drm/card0/device/power/control
    
    (запись в runtime_status не требуется и обычно запрещена)
    Снова запустите rocm-smi. Если данные появились → причина точно в Runtime PM.

3. Проверьте логи ядра на ошибки

dmesg | grep -iE 'amdgpu|pcie|error|firmware|link' | tail -40

Ищите строки вроде:

  • amdgpu: failed to load firmware
  • PCIe link degraded или Gen1 x1
  • runtime suspend failed или device not responding

4. Если Runtime PM мешает → отключите его навсегда

Отредактируйте GRUB:

sudo nano /etc/default/grub

В строку GRUB_CMDLINE_LINUX_DEFAULT добавьте:

amdgpu.runpm=0 pcie_aspm=off

Примените и перезагрузитесь:

sudo update-grub  # или sudo grub2-mkconfig -o /boot/grub2/grub.cfg на RHEL/Arch
sudo reboot
manual_amd_radeon_pro_vii.yaml Raw
1services:
2 ollama-amd2:
3 image: xxdoman/ollama-mi50:latest
4 container_name: ollama-amd2
5 ports:
6 - 7871:11434
7 environment:
8 - OLLAMA_KEEP_ALIVE=2h
9 - OLLAMA_NUM_PARALLEL=1
10 - OLLAMA_KV_CACHE_TYPE=q4_0
11 - OLLAMA_FLASH_ATTENTION=1
12 - OLLAMA_LLM_LIBRARY=rocm
13 - OLLAMA_MODELS=/models
14 - HSA_OVERRIDE_GFX_VERSION=9.0.6
15 - LD_LIBRARY_PATH="/usr/lib/ollama/rocm"
16 volumes:
17 - /dev/dri:/dev/dri
18 - ./ollama_models:/models
19 networks:
20 - ollama-docker
21 devices:
22 - /dev/kfd
23 device_cgroup_rules:
24 - 'c 226:* rmw'
25 runtime: runc
26
27networks:
28 ollama-docker:
29 driver: bridge
readme.md Raw

Совместимость и подготовка хоста
Перед запуском Docker необходимо убедиться, что ваша хост-система правильно идентифицирует карту MI50 и загрузила необходимые драйверы/модули.


1. Проверьте видимость оборудования

Сначала проверьте, видит ли ядро Linux карту на шине PCI:

lspci -nn | grep -E "1002|Display|3D"

Вы должны увидеть запись о «Vega 20» или «Radeon Instinct MI50».


2. Установите драйверы ROCm на хост (Ubuntu 24.04)

Если карта не обнаружена или rocminfo отсутствует, установите стек ROCm. Для Ubuntu 24.04 (Благородный) и ROCm 7.1 используйте следующие команды:

Обновите систему

sudo apt update && sudo apt upgrade -y

Скачайте и установите репозиторий AMDGPU

wget https://repo.radeon.com/amdgpu-install/7.2/ubuntu/noble/amdgpu-install_7.2.70200-1_all.deb
sudo apt install ./amdgpu-install_7.2.70200-1_all.deb

Установите ROCm и HIP

sudo amdgpu-install --usecase=rocm,hip

Перезагрузка хоста

sudo reboot now

3. Узлы и разрешения тестовых устройств

Docker требует доступа к определенным узлам устройства. Проверьте их наличие:

ls -l /dev/kfd /dev/dri/render*

Важно: Ваш пользователь должен быть в группах render и video для доступа к графическому процессору:

sudo usermod -aG render $USER
sudo usermod -aG video $USER
# Выходите и войдите снова, чтобы изменения вступили в силу

4. Окончательная проверка хоста

Запустите следующие команды на хосте. Если они завершатся ошибкой, Docker не будет работать:

Проверьте информацию ROCm

rocminfo

Найдите: Name: gfx906

Проверьте SMI

rocm-smi

Должен показывать: ваш MI50 и текущую температуру.


Примечание: Убедитесь, что все команды выполнены в правильном порядке и система обновлена.