Nvidia ou AMD : quelles sont les offres GPU disponibles ?
Nvidia et AMD proposent tous les deux des GPU optimisés pour le datacenter. Cet article fait le point sur leurs capacités respectives.
Alors que Nvidia a lancé en 2020 sa nouvelle architecture Ampere et AMD son GPU MI100, la question se pose de savoir lequel des deux fournisseurs présente l’offre la plus adaptée à quelles applications.
À l’origine, les GPU accéléraient les calculs graphiques à l’aide d’une batterie de fonctions dédiées, mais ils ont depuis évolué vers des composants de calcul entièrement programmables. Les entreprises utilisent désormais fréquemment les GPU pour exécuter des algorithmes comme le Machine Learning ou ceux du supercalcul.
L’A100 de Nvidia
Outre le Machine Learning et les applications analytiques qui tirent parti de ses résultats, les GPU de Nvidia se sont taillé une réputation certaine dans l’accélération des simulations traitées par les supercalculateurs, parmi lesquelles la modélisation financière ou les prévisions météorologiques.
Dans ce contexte, des fournisseurs comme OmniSci, l’un des partenaires de Nvidia, ont mis au point des infrastructures prêtes à l’emploi qui comprennent une base de données, un moteur de rendu et un système de visualisation, le tout accéléré par des GPU, qui fournissent des résultats d’analyse bien plus rapidement que les solutions classiques à base de serveurs.
Les GPU A100 de Nvidia – les plus récents – sont basés sur l’architecture Ampere, qui succède aux architectures Volta et Turing. La carte GPU A100 comporte 108 processeurs de traitement (dits de streaming), chacun d’entre eux intégrant en l’occurrence quatre Tensor Core de troisième génération et soixante-quatre cœurs CUDA FP32. On parlera plutôt d’unités de traitement spécialisées : le Tensor Core, par exemple, est un circuit qui exécute les opérations matricielles 4x4, notamment utilisées dans les algorithmes de machine learning, tandis que les cœurs CUDA FP32 exécutent les opérations en virgule flottante, par exemple celles avec des logarithmes.
La puce GA100 au centre de cette carte possède une douzaine de contrôleurs de mémoire à large bande passante, de 512 bits, et qui accèdent à six banques de mémoire de type HBM2. Au lancement, les cartes A100 étaient livrées avec 40 Go de mémoire, offrant 1,5 To/s de bande passante mémoire. Nvidia a dévoilé une nouvelle version en novembre 2020 qui double la mémoire à 80 Go et augmente la bande passante à 2 To/s.
Nvidia propose par ailleurs des kits de développement qui permettent aux entreprises d’écrire elles-mêmes des applications qui tirent profit des accélérations de son GPU. Le CUDA Toolkit comprend ainsi des bibliothèques dédiées aux fonctions GPU, un compilateur, des outils de développement et le runtime CUDA.
L’Instinct MI100 d’AMD
Le GPU Instinct MI100 d’AMD a été lancé en 2020 pour exécuter les calculs des applications scientifiques. Le portefeuille GPU du fournisseur se répartit désormais entre les modèles grand public pour les jeux, la famille Radeon DNA, et ceux pour les datacenters, dits Compute DNA, dont fait partie l’Instinct MI100.
La puce Instinct MI100 dispose de 120 unités de traitements « CU » réparties par blocs de 8 unités, l’ensemble étant interconnecté via une matrice censée favoriser la parallélisation des traitements et le partage des résultats. Comme chez Nvidia, les CU sont composés de plus petites unités fonctionnelles, au nombre de 64 par CU (dont les Matrix Core Engines pour les opérations matricielles que l’on trouve en Machine Learning). La mémoire de la carte est également de type HBM2 ; elle est composée de quatre banques pour une capacité de 32 Go et une bande passante de 1,23 To/s.
AMD propose une plateforme de développement appelée ROCm. Se voulant une plateforme ouverte, ROCm permet aux développeurs d’écrire et de compiler du code pour plusieurs environnements, y compris les GPU Nvidia. Elle prend en charge les frameworks de machine learning courants, dont TensorFlow et PyTorch. ROCm fournit également des moyens pour porter du code Nvidia CUDA sur du matériel AMD.
GPU Nvidia et AMD : comment les comparer
Une comparaison directe entre les performances des GPU de Nvidia et d’AMD donne un avantage apparent à AMD avec jusqu’à 11,5 téraflops de score de puissance en virgule flottante 64 bits (FP64) et jusqu’à 23,1 téraflops en FP32, contre 9,7 téraflops en FP64 et 19,5 téraflops en FP32 pour Nvidia.
Cependant, le GPU A100 de Nvidia bénéficie d’améliorations clés pour accélérer les fonctions d’IA et comprend beaucoup plus de mémoire que le GPU d’AMD. AMD est un rival sérieux pour Nvidia en matière de supercalcul scientifique, mais Nvidia reste plus avantageux pour accélérer les algorithmes d’intelligence artificielle.
Nvidia dispose d’un environnement de développement plus éprouvé avec CUDA, tandis que ROCm d’AMD a l’avantage d’être une plateforme universelle pour tous les calculs accélérés par GPU, quel que soit le GPU. Les entreprises devront évaluer elles-mêmes laquelle des deux plateformes leur permet le plus facilement d’obtenir les meilleurs résultats sur les applications qu’elles développent.
Ajoutons que les entreprises pourraient bientôt avoir le choix supplémentaire de solutions GPU chez Intel. Le fondeur a en effet l’intention de bouleverser le marché des GPU avec sa famille de produits Intel Xe. Un premier modèle haut de gamme, répondant au nom de code Ponte Vecchio, devrait voir le jour au sein du supercalculateur Aurora, attendu pour plus tard cette année.