Aller au contenu
Linux

Mémoire GPU allouable sous Linux

Comment dépasser les 64 Go de GTT par défaut sur Strix Halo (UMA BIOS, ttm.pages_limit, amd-ttm), avec les plafonds observés (108 et 120 Go), les paramètres contradictoires et la procédure de mesure à réaliser.

À vérifier#amd#strix-halo#linux#rocm#kv-cachePublié le 16 sept. 2026Mis à jour le 16 sept. 2026Vérifié le 16 sept. 2026À revérifier le 15 déc. 2026

L'essentiel

  • Sur Strix Halo, CPU et GPU partagent physiquement les 128 Go (mémoire unifiée). Le GPU y accède par deux mécanismes : une petite réservation « VRAM » fixée dans le BIOS (UMA) et le GTT, pool de mémoire système mappé à la demande 1.
  • Par défaut, le GTT est limité à ≈ 50 % de la RAM, soit ≈ 64 Go : insuffisant pour gpt-oss-120b (≈ 61 Go) plus son KV cache.
  • AMD recommande de garder la réservation BIOS petite (0,5 Go) et d'augmenter la limite TTM/GTT via ttm.pages_limit ou l'outil amd-ttm 1.
  • Plafonds observés : ≈ 108 Go (août 2025, segfaults à 110 Go) 2 et 120 Go (guides 2026) 3. Le chiffre « 96 Go » souvent cité est une limite Windows 6.
  • Rien n'a été mesuré par nous ; la valeur réelle pour la Box est la question Q-011.

Pourquoi c'est central

Le dimensionnement de la Box repose sur la mémoire que le GPU peut réellement utiliser :

Composant en mémoire GPUOrdre de grandeurOrigine
gpt-oss-120b MXFP4≈ 61 Gofiche modèle (à confirmer)
KV cache, 3 utilisateurs × 16k tokensquelques Go à plus de 10 Go selon le modèleestimation, à mesurer
Modèle d'embedding (bge-m3) + reranker2 à 4 Goestimation
Marge pour le système, Docker, base vectorielle8 à 16 Go de RAM côté CPUestimation

À 64 Go de GTT, le modèle principal ne tient pas. À 96 Go, il tient avec peu de marge pour le KV cache multi-utilisateurs. À 108–120 Go, tout tient. La différence entre 96 et 120 Go décide du modèle principal (Q-009) et du nombre d'utilisateurs simultanés (Q-001).

Ce que dit AMD (documentation officielle)

Le guide « Strix Halo system optimization » de ROCm 10.0 1 :

  • deux notions : GART (mappage noyau) et GTT (pool pour les processus utilisateur) ; « by default, the GTT limit is set to approximately 50 percent of total system RAM » ;
  • réserver de la VRAM dédiée dans le BIOS n'apporte aucun gain puisque la mémoire est physiquement partagée ; recommandation : « keeping the dedicated VRAM reservation in BIOS small (for example 0.5 GB) and increasing the shared (TTM/GTT) limit instead » ;
  • le paramètre est /sys/module/ttm/parameters/pages_limit, exprimé en pages de 4 Kio, pas en Go ;
  • outil : pipx install amd-debug-tools puis amd-ttm --set 100 (exemple donné pour 100 Go, soit 26 214 400 pages sur un système à « 125.65 GB » de mémoire totale) ;
  • prérequis : noyau 6.18.4 ou plus récent (patches fusionnés upstream) ; Fedora 43, Ubuntu 26.04 et Arch listés stables.

Ce que dit la communauté

SourceMachine, dateParamètresRéservation BIOSLimite constatée
Jeff Geerling 24 cartes mères Framework 128 Go, 08/2025amdttm.pages_limit=27648000 + amdttm.page_pool_size=27648000 (via grubby) ; amdgpu.gttsize déprécié (avertissement noyau)BIOS plafonné à 96 Go≈ 108 Go pratiques (« 108000M of GTT memory ready ») ; segfaults à 110 Go
strix-halo-guide 3Beelink GTR9 Pro, 08/2026amdgpu.gttsize=131072 (128 Go) + ttm.pages_limit=31457280 (120 Go)UMA Frame Buffer 512 Mo (ou 2 Go si minimum BIOS)120 Go mappés, 8 Go laissés à l'OS
Zypher Systems 4non préciséttm.pages_limit=31457280 (120 Go)512 Monon mesuré
kyuz0 toolboxes 9-fa 1, --no-mmap côté llama.cppévite crashs et ralentissements
ComputingForGeeks 7agrégateur, 08/2026reprend « 96 Go adressables sous Linux »

Tableau des paramètres

ParamètreValeur citéeUnitéOrigineStatut
UMA Frame Buffer SizeBIOS512 Mo (ou minimum disponible)MoAMD 1 + communautéà vérifier sur BIOS Framework 3.06
ttm.pages_limitligne de commande noyau ou /sys/module/ttm/parameters/pages_limit26 214 400 (100 Go) ; 31 457 280 (120 Go)pages de 4 KioAMD (100 Go) ; communauté (120 Go)à tester
ttm.page_pool_sizeligne de commande noyaumême valeur que pages_limitpagesGeerling (préfixe amdttm)à tester ; rôle exact non documenté dans nos sources
amdttm.pages_limit / amdttm.page_pool_sizeidem, pile DKMS27 648 000 (≈ 105 Go)pagesGeerlinguniquement si module amdttm présent
amdgpu.gttsizeligne de commande noyau131 072Miohogeheer499déprécié selon Geerling ; encore utilisé par hogeheer499 : contradictoire
amd-ttm --set Noutil (pipx amd-debug-tools)100GoAMDvoie recommandée : évite les calculs de pages
amdgpu.gpu_recovery=1ligne de commande noyau1forum Frameworkfilet de sécurité, voir Stabilité

Conversion : Go × 262 144 = pages de 4 Kio (100 Go = 26 214 400 ; 120 Go = 31 457 280).

Le contournement « 24 Go » et son incompatibilité

Le fil « Framework Desktop Crashes » 8 cite, comme contournement des hard locks, la limitation de la mémoire iGPU à 24 Go dans le BIOS. Ce contournement est incompatible avec l'usage LLM de la Box ; s'il s'avérait nécessaire pour la stabilité, la machine serait disqualifiée. Ce lien entre allocation mémoire et stabilité est la raison de tester les deux ensemble (Q-011 et Q-012).

Procédure « à tester »

Canevas de l'expérimentation « Mesurer la mémoire GPU allouable » ; chaque étape est à valider sur la machine.

  1. Mettre le BIOS à jour en 3.06 ou plus récent 5 ; régler l'UMA Frame Buffer au minimum (512 Mo si disponible).
  2. Installer la distribution retenue avec un noyau 6.18.4 ou plus récent ; relever uname -r, la version de linux-firmware et le contenu de /sys/module/ (présence de ttm, amdttm, amdgpu).
  3. Relever la valeur par défaut de /sys/module/ttm/parameters/pages_limit et la mémoire GPU vue par rocminfo ou vulkaninfo.
  4. Fixer la limite à 100 Go avec amd-ttm --set 100 (voie AMD) ; redémarrer si nécessaire ; vérifier la nouvelle valeur.
  5. Charger avec llama.cpp (Vulkan puis ROCm) un modèle de taille croissante, ou gpt-oss-120b avec un contexte croissant, jusqu'à l'échec : noter la dernière allocation stable et le type d'échec (OOM propre, segfault, hard lock).
  6. Répéter à 110 puis 120 Go.
  7. Consigner : BIOS, noyau, firmware, paramètre, allocation maximale stable, comportement à l'échec. Le résultat alimente Q-011 et la fiche Framework (gpuMemoryMaxGb).

Questions ouvertes

Sources

  1. 1AMD Strix Halo / RDNA3.5 system optimization (ROCm 10.0)Documentation officielleFiabilité hauteAMD · publié 2026 · consulté le 16 sept. 2026 · fiche source
  2. 2Increasing the VRAM allocation on AMD AI APUs under Linux (Jeff Geerling)BlogFiabilité moyennejeffgeerling.com · Jeff Geerling · publié 2025-08-08 · consulté le 16 sept. 2026 · fiche source
  3. 3strix-halo-guide (README + BENCHMARKS.md)GitHubFiabilité moyenneGitHub (communauté) · hogeheer499 · publié 2026-03 → 2026-08-30 · consulté le 16 sept. 2026 · fiche source
  4. 4Pushing AMD Strix Halo to 120GB Unified VRAM under Linux (Zypher Systems)BlogFiabilité faibleZypher Systems · publié s.d. · consulté le 16 sept. 2026 · fiche source
  5. 5Framework Desktop AMD Ryzen AI Max 300 — BIOS & Drivers (notes de version)Documentation officielleFiabilité hauteFramework Computer Inc. · publié 2026-08-03 (BIOS 3.06) · consulté le 16 sept. 2026 · fiche source
  6. 6AMD Ryzen AI MAX+ 395 Processor: Breakthrough AI Performance (blog AMD)Constructeur / éditeurFiabilité moyenneAMD · publié 2025 · consulté le 16 sept. 2026 · fiche source
  7. 7Ryzen AI Max+ 395 Mini PCs Compared: Real Prices (ComputingForGeeks)Article techniqueFiabilité faibleComputingForGeeks · publié 2026-08-11 · consulté le 16 sept. 2026 · fiche source
  8. 8Framework Desktop Crashes (forum)ForumFiabilité moyenneFramework Community · publié 2026-03 et suite · consulté le 16 sept. 2026 · fiche source
  9. 9amd-strix-halo-toolboxes (README)GitHubFiabilité moyenneGitHub (communauté) · kyuz0 · publié 2025–2026 · consulté le 16 sept. 2026 · fiche source
content/docs/linux/memoire-gpu.md1307 mots