Funk-lab/admin/ia/rocm.md
ALI YESILKAYA 9b903c0311
feat(rocm): ajoute rocm-smi (paquet rocm-smi-lib) sur gpu-01 (#85)
Monitoring GPU consolidé (util/VRAM/temp/clocks) façon nvidia-smi, aligné
sur la ROCm 7.2.4 installée (repo rocm, /opt/rocm/bin/rocm-smi déjà dans
le PATH). Appliqué sur gpu-01 : llama-server intact (GPU non perturbé).
Doc admin/ia/rocm.md + README du rôle mis à jour.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 11:55:21 +02:00

123 lines
3 KiB
Markdown

# ROCm — GPU AMD RX 6700XT (gpu-01)
ROCm tourne directement sur l'hôte AlmaLinux (pas dans des conteneurs).
La RX 6700XT (gfx1031) n'est pas officiellement supportée → `HSA_OVERRIDE_GFX_VERSION=10.3.0` obligatoire.
---
## Vérification de base
```bash
# Le GPU est-il détecté par le kernel ?
ssh g01 "lspci | grep -i amd | grep -i vga"
# Le module amdgpu est-il chargé ?
ssh g01 "lsmod | grep amdgpu"
# ROCm voit-il le GPU ? (doit lister la RX 6700XT)
ssh g01 "HSA_OVERRIDE_GFX_VERSION=10.3.0 rocminfo | grep -A5 'Agent 2'"
# Version ROCm installée
ssh g01 "rocminfo | grep 'ROCk'"
# GPU info complet
ssh g01 "HSA_OVERRIDE_GFX_VERSION=10.3.0 rocminfo"
```
---
## Variable HSA_OVERRIDE
```bash
# Vérifier qu'elle est bien définie system-wide
ssh g01 "cat /etc/environment | grep HSA"
# Vérifier dans profile.d (sessions interactives)
ssh g01 "cat /etc/profile.d/rocm.sh"
# Tester manuellement (si la variable n'est pas dans l'env courant)
ssh g01 "HSA_OVERRIDE_GFX_VERSION=10.3.0 rocminfo | grep gfx"
```
---
## Modules kernel
```bash
# Statut du module amdgpu
ssh g01 "lsmod | grep amdgpu"
# Recharger le module (si nécessaire)
ssh g01 "sudo modprobe -r amdgpu && sudo modprobe amdgpu"
# Logs kernel liés au GPU
ssh g01 "sudo dmesg | grep -i amdgpu | tail -20"
ssh g01 "sudo dmesg | grep -i 'drm\|gpu' | tail -20"
```
---
## Repos AMD
```bash
# Vérifier les repos installés
ssh g01 "sudo dnf repolist | grep -i 'amd\|rocm'"
# Voir les packages ROCm installés
ssh g01 "sudo dnf list installed | grep -i rocm"
ssh g01 "sudo rpm -qa | grep rocm"
```
---
## Groupes utilisateur (accès GPU)
```bash
# L'user doit être dans video et render
ssh g01 "groups ansible"
# Si absent — ajouter manuellement
ssh g01 "sudo usermod -aG video,render ansible"
```
---
## Monitoring GPU — `rocm-smi`
Installé par le rôle `rocm` (paquet `rocm-smi-lib`, `/opt/rocm/bin/rocm-smi` déjà dans
le PATH). Vue consolidée équivalente à `nvidia-smi` — plus lisible que les lectures
sysfs ci-dessous.
```bash
# Résumé complet (util, VRAM, temp, conso, clocks)
ssh g01 "rocm-smi"
# Ciblé
ssh g01 "rocm-smi --showproductname --showtemp --showuse --showmeminfo vram"
# Temps réel
ssh g01 "watch -n 1 rocm-smi --showuse --showmeminfo vram --showtemp"
# Sortie machine (scripts / scraping)
ssh g01 "rocm-smi --showuse --showmeminfo vram --json"
```
> ⚠️ La RX 6700XT n'expose pas la consommation en watts (`--showpower` renvoie
> `not supported`) — normal sur gfx1031, ne pas s'en inquiéter.
## Debug ROCm / llama-server
```bash
# Tester OpenCL
ssh g01 "HSA_OVERRIDE_GFX_VERSION=10.3.0 clinfo | head -30"
# Alternative sysfs (si rocm-smi indisponible) — utilisation GPU en temps réel
ssh g01 "watch -n 1 'cat /sys/class/drm/card*/device/gpu_busy_percent'"
# Température GPU (millidegrés → diviser par 1000)
ssh g01 "cat /sys/class/drm/card*/device/hwmon/hwmon*/temp1_input"
# VRAM utilisée / totale
ssh g01 "cat /sys/class/drm/card*/device/mem_info_vram_used"
ssh g01 "cat /sys/class/drm/card*/device/mem_info_vram_total"
```