Funk-lab/ansible/roles/rocm
ALI YESILKAYA de1cd6c407
fix(gpu): débloque make apply-gpu — repo amdgpu rhel9.7 + pin commit llama.cpp (#47)
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>
2026-06-22 21:19:02 +02:00
..
defaults fix(gpu): débloque make apply-gpu — repo amdgpu rhel9.7 + pin commit llama.cpp (#47) 2026-06-22 21:19:02 +02:00
handlers feat: initial commit — Ansible roles storage-01/gpu-01 opérationnels 2026-05-12 17:17:03 +02:00
tasks feat: initial commit — Ansible roles storage-01/gpu-01 opérationnels 2026-05-12 17:17:03 +02:00
README.md fix(gpu): débloque make apply-gpu — repo amdgpu rhel9.7 + pin commit llama.cpp (#47) 2026-06-22 21:19:02 +02:00

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-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).