Le `dnf upgrade` du rôle common avait bumpé gpu-01 en AlmaLinux 9.8, mais repo.radeon.com ne publie pas latest/rhel/9.8 (ni 9.5) — seulement 9.4/9.6/9.7. `make apply-gpu` échouait alors dès `common` sur « Cannot download repomd.xml » pour le repo amdgpu. - rocm_rhel_version 9.4 → 9.7 (dernière mineure publiée par radeon) + piège documenté dans le README rocm (avec workaround live /etc/dnf/vars/amdgpudistro). - Pin llama_server_commit au commit construit sur g01 : sans pin le rôle clonait HEAD → rebuild (~15 min) + restart GPU non déterministe à chaque apply. - Réconciliation du drop-in llama-embed (ubatch 2048) dans l'unit rendu par le rôle (apply ciblé) ; drop-in temporaire supprimé. RAG validé (rag-query OK). - Doc : etat-cluster + journal 2026-06-22 mis à jour. Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| defaults | ||
| handlers | ||
| tasks | ||
| README.md | ||
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
amdgpuetrocm(latest) - kernel headers/devel (requis pour amdgpu-dkms)
- Runtime : rocminfo, 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.0system-wide (/etc/environment) et dansprofile.d- Ajoute le user ansible aux groupes
videoetrender
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).