Polydesk-logotype
Polydesk.ai — Header

ROCm (Radeon Open Compute)

ROCm (Radeon Open Compute) est la plateforme logicielle open source d’AMD pour le calcul accéléré sur GPU, conçue comme l’alternative à CUDA de NVIDIA pour les workloads d’intelligence artificielle et de calcul haute performance (HPC).

ROCm fournit les drivers, compilateurs, bibliothèques et outils nécessaires pour exécuter des applications de machine learning et de deep learning sur les GPU AMD, qu’il s’agisse des accélérateurs de data center Instinct (MI300X, MI325X, MI355X) ou des cartes grand public Radeon (RX 7900, RX 9060). Le cœur de ROCm est HIP (Heterogeneous-computing Interface for Portability), une API C++ quasi-identique à CUDA qui permet de porter du code CUDA vers AMD avec des modifications minimales. ROCm est intégré dans PyTorch, TensorFlow, et les principaux frameworks ML, mais avec un niveau de maturité et de support inférieur à celui de CUDA.

ROCm en bref
Signification
Radeon Open Compute
Éditeur
AMD
Version production
ROCm 7.2.0
Version preview
ROCm 7.11.0 (tech preview via TheRock) Preview
Licence
Open Source (MIT, Apache 2.0 selon composants)
API principale
HIP (compatible CUDA)
OS
Linux + Windows (unifié depuis ROCm 7.2)
GPU data center
AMD Instinct MI300X, MI325X, MI350X, MI355X
GPU grand public
Radeon RX 7000/9000 (RDNA3/RDNA4), Ryzen AI Max
Frameworks ML
PyTorch, TensorFlow, JAX, ONNX Runtime
GitHub
ROCm/ROCm

HIP : le pont entre CUDA et AMD

Comment HIP fonctionne

HIP est une API C++ qui ressemble à CUDA de manière délibérée. L’idée est simple : si vous avez du code CUDA, vous pouvez le convertir en code HIP avec l’outil hipify, qui remplace les appels cuda* par des appels hip* (par exemple cudaMalloc devient hipMalloc, cudaMemcpy devient hipMemcpy). Le code HIP peut ensuite être compilé soit pour GPU AMD (via le compilateur ROCm), soit pour GPU NVIDIA (via le backend CUDA). C’est ce qui fait de HIP un outil de portabilité, pas juste une API AMD.

// Code HIP : quasi-identique à CUDA #include <hip/hip_runtime.h> __global__ void vectorAdd(float *a, float *b, float *c, int n) { int i = blockIdx.x * blockDim.x + threadIdx.x; if (i < n) { c[i] = a[i] + b[i]; } } int main() { float *d_a, *d_b, *d_c; hipMalloc(&d_a, N * sizeof(float)); hipMalloc(&d_b, N * sizeof(float)); hipMalloc(&d_c, N * sizeof(float)); hipLaunchKernelGGL(vectorAdd, dim3(blocks), dim3(256), 0, 0, d_a, d_b, d_c, N); hipDeviceSynchronize(); hipFree(d_a); hipFree(d_b); hipFree(d_c); return 0; }

ROCm 7.1 a amélioré significativement la compatibilité HIP/CUDA avec l’ajout de nombreuses API manquantes : gestion mémoire 2D/3D, gestion de modules, attributs de streams, et le support des partitions de tuiles imbriquées dans les groupes coopératifs. L’objectif d’AMD est de rendre HIP suffisamment compatible pour que la conversion soit quasi-automatique.

hipify : convertir du code CUDA

L’outil hipify-perl (conversion textuelle rapide) et hipify-clang (conversion basée sur l’AST, plus précise) permettent de convertir du code CUDA existant en HIP. En pratique, les projets simples se convertissent bien. Les projets complexes qui utilisent des bibliothèques CUDA spécifiques (cuDNN, TensorRT, NCCL) nécessitent plus de travail, car les équivalents ROCm (MIOpen, TensorRT n’existe pas sur AMD, RCCL) n’ont pas exactement les mêmes API.

Bibliothèques ROCm

ROCm propose des équivalents aux principales bibliothèques CUDA :

FonctionCUDAROCmParité
Algèbre linéaire (BLAS)cuBLASrocBLAS + hipBLASLtBonne
Primitives deep learningcuDNNMIOpenCorrecte (moins d’opérations)
Communication multi-GPUNCCLRCCLBonne
FFTcuFFTrocFFTBonne
SparsecuSPARSErocSPARSEBonne
SolvercuSOLVERrocSOLVERCorrecte
RandomcuRANDrocRANDBonne
Algorithmes parallèlesCUB / ThrusthipCUB / rocThrustBonne
ProfilageNsightROCprofiler-SDK (rocprofv3)En progression
Optimisation inférenceTensorRTPas d’équivalent directAbsent
L’absence de TensorRT AMD n’a pas d’équivalent à TensorRT, le moteur d’optimisation d’inférence de NVIDIA. Pour l’inférence optimisée sur GPU AMD, vous devez utiliser vLLM (support ROCm en progression), ONNX Runtime (support ROCm), ou llama.cpp avec le backend HIP. C’est l’une des lacunes les plus significatives de l’écosystème ROCm pour les déploiements d’inférence en production.

L’évolution rapide de ROCm

AMD reconnaît que ROCm a longtemps souffert de problèmes de stabilité, de documentation lacunaire, et d’un support matériel limité. L’entreprise a investi massivement pour corriger le tir. Lors du CES 2026, un représentant AMD a déclaré que « ROCm de 2023 est méconnaissable comparé à ROCm aujourd’hui ».

ROCm 7.2 : le tournant Windows

ROCm 7.2 est la version qui a marqué un changement de stratégie. Pour la première fois, il s’agit d’une release unifiée Linux et Windows, ce qui met fin à la séparation historique où ROCm était principalement une plateforme Linux. Sur Windows, ROCm s’installe désormais via le driver AMD Adrenalin (version 26.1.1+) et s’intègre avec PyTorch, ONNX Runtime, et DirectML.

Les gains de performance sont aussi notables. AMD revendique un gain de 5× sur ComfyUI entre ROCm 6.4 et ROCm 7.1, avec des accélérations spécifiques de 2,6× pour SDXL et 5,2× pour Flux S sur les systèmes Ryzen AI Max. ROCm 7.2 ajoute le support des GPU RDNA4 (Radeon RX 9060 XT) et des processeurs Ryzen AI 400.

TheRock : l’avenir open source

AMD développe TheRock, une nouvelle plateforme de build open source pour ROCm, disponible sur GitHub. TheRock utilise un build CMake unifié avec des dépendances bundlées, un support Windows natif, et une conformité ManyLinux_2_28 qui permet de produire des builds portables entre distributions Linux. Le stream de preview technologique (versions 7.9+) utilise TheRock, tandis que le stream production (7.0 à 7.8) utilise le système de build classique. La transition complète vers TheRock est prévue pour mi-2026.

GPU supportés

CatégorieGPUArchitectureSupport ROCm
Data centerInstinct MI300XCDNA 3Complet (production)
Data centerInstinct MI325XCDNA 3Complet (production)
Data centerInstinct MI350X / MI355XCDNA 4Complet (production)
Grand publicRadeon RX 7900 XTX/XTRDNA 3Supporté (workstation/IA locale)
Grand publicRadeon RX 7700 XTRDNA 3Ajouté ROCm 7.2
Grand publicRadeon RX 9060 XT LPRDNA 4Ajouté ROCm 7.2
APURyzen AI Max+ / Max 300RDNA 3.5 / Zen 5Supporté
APURyzen AI 400Zen 5Ajouté ROCm 7.2.2
Support Radeon grand public : en progrès AMD a doublé le nombre de produits Ryzen et Radeon supportés par ROCm au cours de la dernière année. Toutefois, le support des GPU grand public reste moins complet que celui des Instinct. Certains modèles Radeon peuvent rencontrer des problèmes avec des workloads spécifiques. AMD recommande de consulter la documentation « ROCm on Radeon and Ryzen » pour vérifier la compatibilité de votre matériel.

ROCm pour l’IA en pratique

PyTorch sur ROCm

PyTorch supporte ROCm officiellement. L’installation se fait via pip avec un build spécifique ROCm :

# Installer PyTorch avec support ROCm 7.x pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm7.2 # Vérifier le support python -c "import torch; print(torch.cuda.is_available())" # True (HIP utilise l'API CUDA de PyTorch)

Un point important : PyTorch utilise l’API torch.cuda même pour les GPU AMD via HIP. Vous écrivez model.to('cuda'), et HIP redirige transparemment vers le GPU AMD. Cela signifie que la plupart du code PyTorch fonctionne sans modification sur ROCm, à condition que les opérations utilisées soient implémentées dans MIOpen et rocBLAS.

Inférence locale de LLM

Pour l’inférence locale de LLM sur GPU AMD, plusieurs options existent. llama.cpp supporte AMD via le backend HIP/ROCm (compilation avec -DGGML_HIP=ON), avec un support de tous les formats de quantification incluant les K-quants et I-quants. C’est l’option la plus performante. Le backend Vulkan de llama.cpp est une alternative plus simple à installer mais limitée aux quants Q4_0/Q4_1/F16.

Ollama détecte automatiquement les GPU AMD compatibles ROCm et utilise le backend HIP. vLLM supporte ROCm comme « second-class citizen » (support fonctionnel mais moins optimisé que CUDA). ONNX Runtime supporte ROCm pour l’inférence.

Génération d’images

ROCm a fait des progrès significatifs pour la génération d’images. ComfyUI, l’interface open source la plus populaire pour les workflows de diffusion, est maintenant intégrée avec ROCm. AMD démontre l’exécution de modèles comme SDXL (6,6B paramètres), FLUX 2 (32B paramètres), et même des modèles text-to-video comme LTX Video et WAN 2.2 sur les systèmes Ryzen AI Max+ avec 64 Go de RAM.

ROCm vs CUDA : comparatif honnête

Performance réelle

En termes de performance brute, les GPU AMD Instinct sont compétitifs avec les NVIDIA équivalents. Le MI300X avec ses 192 Go de HBM2e offre plus de mémoire que le H100 (80 Go), ce qui est un avantage pour les modèles très gourmands en mémoire. Pour l’entraînement, les benchmarks MLPerf montrent des résultats comparables entre MI300X et H100 sur les workloads standard.

Cependant, la performance logicielle de ROCm est souvent en retrait de 10 à 30% par rapport à CUDA pour les mêmes opérations sur des GPU de puissance théorique équivalente. Cet écart vient principalement de l’optimisation des bibliothèques : cuDNN et cuBLAS bénéficient de décennies d’optimisation kernel par kernel, tandis que MIOpen et rocBLAS progressent rapidement mais n’ont pas encore atteint le même niveau de maturité. Pour certains workloads spécifiques (modèles MoE, certaines tailles de batch), l’écart peut être plus important ou au contraire quasiment nul.

Un avantage concret de ROCm est le rapport prix/VRAM. Sur le marché grand public, une Radeon RX 7900 XTX (24 Go VRAM) coûte significativement moins cher qu’une RTX 4090 (24 Go) tout en offrant des performances IA correctes. En data center, les MI300X avec 192 Go de HBM sont souvent proposés à des tarifs plus compétitifs que les H100 80 Go, ce qui compense partiellement l’écart de performance logicielle.

AMD Instinct en data center

C’est dans les data centers que ROCm est le plus mature. Les GPU Instinct MI300X et MI355X sont déployés chez les plus grands hyperscalers et opérateurs IA. Meta a signé un accord massif pour déployer jusqu’à 6 GW de GPU AMD dans ses data centers IA, avec les premières livraisons de MI450 dans les serveurs rack-scale Helios prévues courant 2026. OpenAI, Oracle, et le département américain de l’Énergie sont aussi des clients Instinct.

Le MI355X (architecture CDNA 4), dernière génération Instinct, apporte des Tensor Cores améliorés avec le support TF32, FP8 optimisé, et une efficacité énergétique accrue. hipBLASLt (l’équivalent de cuBLASLt) a reçu des optimisations spécifiques pour le MI355X dans ROCm 7.1+, incluant des kernels TF32 pour l’entraînement et l’inférence.

Tableau comparatif

CritèreROCmCUDA
LicenceOpen sourcePropriétaire (gratuit)
MaturitéBonne (en progression rapide)Excellente (20+ ans)
Bibliothèques MLMIOpen, rocBLAS, RCCLcuDNN, cuBLAS, NCCL, TensorRT
Frameworks supportésPyTorch, TensorFlow, JAXTous (natif)
Support WindowsDepuis ROCm 7.2 (récent)Historique
DocumentationEn améliorationExhaustive
Portabilité APIHIP (compatible CUDA)CUDA uniquement
Communauté développeursCroissante4+ millions
GPU grand public pour IARadeon RX (support limité)GeForce RTX (support complet)
Prix GPU (rapport VRAM/$)Souvent meilleur (ex: RX 7900 XTX)Plus cher par Go de VRAM

Verdict : ROCm a fait des progrès spectaculaires entre 2023 et 2026. L’unification Windows/Linux, l’amélioration de la compatibilité HIP, et le support élargi des GPU grand public rendent ROCm viable pour de plus en plus d’utilisateurs. Cependant, CUDA reste le choix par défaut pour la productivité et la fiabilité. ROCm est un bon choix si vous avez un GPU AMD et que vous êtes prêt à investir du temps pour résoudre les problèmes de compatibilité occasionnels, si vous ciblez les GPU Instinct en data center (où le support est le plus complet), ou si vous valorisez l’open source.

Installation

Bonnes pratiques et pièges courants

L’installation de ROCm est l’un des points faibles historiques du projet. Voici les conseils essentiels pour éviter les problèmes les plus fréquents :

Vérifiez la compatibilité de votre GPU avant tout. Tous les GPU AMD ne sont pas supportés par ROCm. Consultez la page « Supported GPUs » de la documentation ROCm officielle. Les Radeon anciennes (RX 6000 et antérieures) ne sont généralement pas supportées ou le sont partiellement. Utilisez un OS supporté : Ubuntu 22.04 et 24.04 sont les mieux testés sous Linux. RHEL 9/10, SLES 15, et Oracle Linux sont aussi supportés. Évitez les distributions exotiques pour votre premier essai.

Ne mélangez pas les versions de ROCm. L’installation de composants de versions différentes (par exemple un driver 7.1 avec des bibliothèques 7.2) provoque des erreurs difficiles à diagnostiquer. Faites une installation propre. Testez avec rocminfo après installation pour vérifier que votre GPU est bien détecté. Si rocminfo ne liste pas votre GPU, le reste ne fonctionnera pas.

Pour PyTorch : utilisez toujours les builds officiels depuis pytorch.org avec l’index-url ROCm correspondant à votre version. Ne tentez pas de compiler PyTorch depuis les sources pour ROCm sauf si vous avez une raison spécifique, c’est un processus long et fragile.

Pour llama.cpp : si le backend HIP ne compile pas, vérifiez que les variables d’environnement ROCM_PATH et HIP_PATH pointent vers votre installation ROCm. Le problème le plus courant est un mauvais chemin vers le compilateur HIP. En cas de doute, le backend Vulkan est une alternative plus simple qui ne nécessite pas ROCm.

Sur Linux

# Ubuntu 22.04 / 24.04 (méthode recommandée) # 1. Ajouter le dépôt AMD wget https://repo.radeon.com/rocm/rocm.gpg.key -O - | sudo gpg --dearmor -o /etc/apt/keyrings/rocm.gpg echo "deb [signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/7.2 jammy main" | sudo tee /etc/apt/sources.list.d/rocm.list # 2. Installer sudo apt update sudo apt install rocm # 3. Vérifier rocminfo # Liste les GPU détectés hipcc --version # Version du compilateur HIP

Sur Windows

Sur Windows, ROCm s’installe via le driver AMD Adrenalin 26.1.1 ou supérieur. Le driver intègre les composants ROCm nécessaires pour PyTorch et les applications IA. L’installation de PyTorch avec support ROCm se fait ensuite via pip comme indiqué plus haut.


Questions fréquentes sur ROCm

Ma Radeon RX 7900 XTX est-elle supportée par ROCm ?

Oui. La RX 7900 XTX (RDNA 3) est supportée par ROCm pour les workloads IA et de calcul. Cependant, le support n’est pas au même niveau que celui des GPU Instinct (MI300X, MI355X). Certaines opérations ou certains modèles peuvent ne pas fonctionner correctement. Pour l’inférence de LLM, llama.cpp avec le backend HIP fonctionne bien sur la RX 7900 XTX. Pour la génération d’images, ComfyUI avec ROCm est fonctionnel.

ROCm peut-il remplacer CUDA ?

En théorie, oui : HIP est conçu comme un remplacement compatible. En pratique, le remplacement est partiel. PyTorch fonctionne bien sur ROCm pour l’entraînement et l’inférence standard. Mais les outils spécialisés (TensorRT, Nsight, certaines bibliothèques CUDA-X) n’ont pas d’équivalent ROCm, et la communauté de développeurs est bien plus petite. Si votre workflow dépend uniquement de PyTorch et de bibliothèques standard, ROCm peut remplacer CUDA. Si vous utilisez l’écosystème NVIDIA étendu, la migration sera plus complexe.

ROCm fonctionne-t-il sur Windows ?

Oui, depuis ROCm 7.2. C’est une avancée majeure. Historiquement, ROCm était quasi-exclusivement Linux. Le support Windows passe par le driver Adrenalin et permet d’utiliser PyTorch, ONNX Runtime, et DirectML sur GPU AMD sous Windows. Le support est encore plus récent et moins mature que sous Linux, mais AMD investit activement pour atteindre la parité.

Faut-il installer ROCm pour utiliser llama.cpp sur AMD ?

Ça dépend du backend. Pour le backend HIP (recommandé, meilleures performances, tous les formats de quantification), oui, ROCm doit être installé. Pour le backend Vulkan (plus simple, mais limité aux quants Q4_0/Q4_1/F16), non, Vulkan suffit et est déjà inclus dans les drivers AMD standard. Si vous débutez, essayez d’abord Vulkan. Si vous voulez les meilleures performances, installez ROCm et compilez llama.cpp avec -DGGML_HIP=ON.

Quel est l’avenir de ROCm ?

AMD accélère fortement le développement de ROCm. Le projet TheRock vise à rendre ROCm plus facile à builder et à distribuer. Le support Windows s’améliore à chaque release. Les GPU MI400/MI450 (attendus courant 2026) seront accompagnés d’un ROCm encore plus optimisé. AMD signe des contrats massifs avec Meta, OpenAI et le département de l’Énergie américain, ce qui garantit que ROCm continuera de recevoir des investissements significatifs. L’écart avec CUDA se réduit, mais la parité complète reste un objectif à moyen terme.

Polydesk.ai — Footer