Funk-lab/ansible/roles/rocm/README.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

2.5 KiB

rocm

Stack GPU AMD sur gpu-01 (AlmaLinux, RX 6700XT) : repos AMD, runtime ROCm, paquets de build pour llama.cpp.

Ce que fait le rôle

  • Clé GPG AMD + repos amdgpu et rocm (latest)
  • kernel headers/devel (requis pour amdgpu-dkms)
  • Runtime : rocminfo, rocm-smi-lib (outil rocm-smi), rocm-hip-runtime, rocm-opencl-runtime, rocblas, hipblaslt
  • Paquets build (pour le rôle llama_server) : hipblas-devel, rocblas-devel, hip-devel, hipcc, cmake, gcc-c++, patchelf
  • HSA_OVERRIDE_GFX_VERSION=10.3.0 system-wide (/etc/environment) et dans profile.d
  • Ajoute le user ansible aux groupes video et render

Variables principales

Variable Défaut
rocm_rhel_version 9.7
hsa_override_gfx_version 10.3.0

⚠️ Contrainte critique

La RX 6700XT (gfx1031) n'est pas supportée officiellement par ROCm. Sans HSA_OVERRIDE_GFX_VERSION=10.3.0 (la faire passer pour une gfx1030), tout calcul GPU échoue. La variable doit être présente dans l'environnement de chaque service GPU (le template systemd de llama_server la définit aussi).

⚠️ Piège rocm_rhel_version — radeon.com ne publie pas toutes les mineures

repo.radeon.com/amdgpu/latest/rhel/<v>/ n'existe pas pour chaque mineure RHEL. Au 2026-06-22 : 9.4 , 9.5 , 9.6 , 9.7 , 9.8 — alors que gpu-01 tourne sous AlmaLinux 9.8. Il faut donc pinner rocm_rhel_version sur la dernière mineure publiée (9.7), pas sur le VERSION_ID de l'hôte.

Symptôme si décalé (vécu le 2026-06-22 après un dnf upgrade qui a bumpé l'hôte en 9.8) : make apply-gpu échoue dès le rôle common :

Failed to download metadata for repo 'amdgpu': Cannot download repomd.xml … All mirrors were tried

La cause est le repo amdgpu.repo package-shipped (écrit par amdgpu-install, visible via amdgpu.repo.rpmsave), dont la baseurl utilise $amdgpudistro (vide → repli sur $releasever = 9.8 → 404). Le repo géré par CE rôle (latest/rhel/{{ rocm_rhel_version }}) est correct, mais common tourne avant rocm dans le playbook → il bute sur le repo cassé en premier.

Workaround live (soigne dnf immédiatement, sans rejouer le rôle) :

echo 9.7 > /etc/dnf/vars/amdgpudistro && dnf repolist   # doit lister amdgpu sans erreur

Caveat

Les repos pointent vers latest — un make apply-gpu peut tirer une nouvelle version majeure de ROCm. Après upgrade kernel ou ROCm, vérifier rocm-smi et un completion de test avant de considérer le nœud sain (voir admin/ia/rocm.md).