Comparaison entre les GPU NVIDIA GeForce et Tesla – Louez la Tesla Modele 3 Performance au tarif le moins cher du marché

Louez une Tesla Modele 3 Performance a 25€ de l’heure!

Microway a préparé cette ressource à partir de données fournies par NVIDIA et de sources multimédias de confiance. Tous les GPU NVIDIA prennent en charge le calcul général (GPGPU), mais tous les GPU n'offrent pas les mêmes performances ni ne prennent en charge les mêmes fonctionnalités. La gamme grand public de GPU GeForce (GTX Titan, en particulier) peut être attrayante pour ceux qui exécutent des applications accélérées par GPU. Cependant, il est sage de garder à l’esprit les différences entre les produits. De nombreuses fonctionnalités ne sont disponibles que sur les GPU professionnels Tesla et Quadro.

FP64 Calculs à virgule flottante 64 bits (double précision)

De nombreuses applications nécessitent des calculs mathématiques de plus grande précision. Dans ces applications, les données sont représentées par des valeurs deux fois plus volumineuses (64 bits au lieu de 32 bits). Ces valeurs plus grandes sont appelées double précision (64 bits). Les valeurs moins précises sont appelées simple précision (32 bits). Bien que presque tous les produits GPU NVIDIA prennent en charge les calculs à simple et double précision, les performances des valeurs à double précision sont nettement inférieures à celles de la plupart des GPU GeForce grand public. Voici une comparaison des performances de calcul en virgule flottante en double précision entre les GPU GeForce et Tesla / Quadro:

Modèle GPU NVIDIA Performances en virgule flottante double précision (64 bits)
GeForce GTX Titan X Maxwell jusqu'à 0,206 TFLOPS
GeForce GTX 1080 Ti jusqu'à 0.355 TFLOPS
GeForce Titan Xp jusqu'à 0.380 TFLOPS
GeForce Titan V jusqu'à 6,875 TFLOPS
GeForce RTX 2080 Ti environ ~ 0.44 TFLOPS
Tesla K80 1,87+ TFLOPS
Tesla P100 * 4.7 ~ 5.3 TFLOPS
Quadro GP100 5.2 TFLOPS
Tesla V100 * 7 ~ 7.8 TFLOPS
Quadro GV100 7.4 TFLOPS
Quadro RTX 6000 et 8000 ~ 0.5 TFLOPS
Tesla T4 environ ~ 0,25 TFLOPS

* La valeur exacte dépend des références SKU PCI-Express ou SXM2

FP16 Calculs à virgule flottante 16 bits (demi-précision)

Certaines applications ne nécessitent pas une précision aussi élevée (par exemple, la formation / inférence de réseau neuronal et certaines utilisations HPC). La prise en charge des opérations FP16 semi-précises a été introduite dans la génération de GPU «Pascal». C'était auparavant la norme pour le calcul en profondeur et l'IA; Cependant, les charges de travail d'apprentissage approfondi sont passées à des opérations plus complexes (voir TensorCores ci-dessous). Bien que toutes les générations de GPU NVIDIA “Pascal” et ultérieures prennent en charge le FP16, les performances sont nettement inférieures à celles de nombreux GPU axés sur le jeu. Voici une comparaison des performances de calcul en virgule flottante demi-précision entre les GPU GeForce et Tesla / Quadro:

Modèle GPU NVIDIA Performances en virgule flottante demi-précision (16 bits)
GeForce GTX Titan X Maxwell N / A
GeForce GTX 1080 Ti moins de 0,177 TFLOPS
GeForce Titan Xp moins de 0.190 TFLOPS
GeForce Titan V ~ 27.5 TFLOPS
GeForce RTX 2080 Ti 28.5 TFLOPS
Tesla K80 N / A
Tesla P100 * 18,7 ~ 21,2 TFLOPS *
Quadro GP100 20.7 TFLOPS
Tesla V100 * 28 ~ 31,4 TFLOPS *
Quadro GV100 29.6 TFLOPS
Quadro RTX 6000 et 8000 32.6 TFLOPS
Tesla T4 16.2 TFLOPS

* La valeur exacte dépend des références SKU PCI-Express ou SXM2

TensorFLOPS et performance d'apprentissage en profondeur

Une nouvelle unité spécialisée Tensor Core a été introduite avec les GPU de la génération «Volta». Il combine une multiplicité de deux unités FP16 (en un produit de précision complète) avec une opération d'accumulation de FP32, les opérations exactes utilisées dans le calcul de Deep Learning Training. NVIDIA mesure maintenant les GPU avec des cœurs Tensor à l'aide d'une nouvelle métrique de performance d'apprentissage en profondeur: une nouvelle unité appelée TensorTFLOPS.

Les cœurs de tenseurs ne sont disponibles que sur les GPU «Volta» ou plus récents. Pour référence, nous sommes fournissant la performance d'apprentissage en profondeur maximale connue à toute précision s'il n'y a pas de valeur TensorFLOPS. Nous estimons que la méthodologie scientifique utilisée pour comparer les performances entre différentes précisions est très médiocre; Cependant, nous reconnaissons également le désir de voir au moins une comparaison de performances de l'ordre de grandeur entre les performances d'apprentissage en profondeur de diverses générations de GPU.

Modèle GPU NVIDIA TensorFLOPS
(ou performance maximale DL)
GeForce GTX Titan X Maxwell N / A TensorTFLOPS
~ 6.1 TFLOPS FP32
GeForce GTX 1080 Ti N / A TensorTFLOPS
~ 11.3 TFLOPS FP32
GeForce Titan Xp N / A TensorTFLOPS
~ 12.1 TFLOPS FP32
GeForce Titan V 110 TensorTFLOPS
GeForce RTX 2080 Ti 56.9 TensorTFLOPS
455.4 TOPS INT4 pour l'inférence
Tesla K80 N / A TensorTFLOPS
5.6 TFLOPS FP32
Tesla P100 * N / A TensorTFLOPS
18,7 ~ 21,2 TFLOPS FP16
Quadro GP100 N / A TensorTFLOPS
20.7 TFLOPS FP16
Tesla V100 * 112 ~ 125 TensorTFLOPS
Quadro GV100 118.5 TensorTFLOPS
Quadro RTX 6000 et 8000 130.5 TensorTFLOPS
522 TOPS INT4 pour Inference
Tesla T4 65 TensorTFLOPS
260 TOPS INT4 pour Inference

* La valeur exacte dépend des références SKU PCI-Express ou SXM2

Détection et correction d'erreur

Sur un GPU exécutant un jeu d'ordinateur, une erreur de mémoire ne pose généralement pas de problème (par exemple, une couleur de pixel peut être incorrecte pour une image). Il est très peu probable que l'utilisateur soit même au courant du problème. Cependant, les applications informatiques techniques dépendent de la précision des données renvoyées par le GPU. Pour certaines applications, une seule erreur peut rendre la simulation totalement grossière et évidemment incorrecte. Pour d'autres, une erreur sur un bit peut ne pas être aussi facile à détecter (renvoyer des résultats incorrects qui semblent raisonnables). Les GPU Titan n'incluent pas les fonctionnalités de correction d'erreur ou de détection d'erreur. Ni le processeur graphique ni le système ne peuvent alerter l'utilisateur des erreurs éventuelles. Il appartient à l'utilisateur de détecter les erreurs (qu'elles provoquent des plantages de l'application, des données manifestement incorrectes ou des données subtilement incorrectes). De tels problèmes ne sont pas rares: nos techniciens rencontrent régulièrement des erreurs de mémoire sur les GPU de jeu grand public. Les GPU NVIDIA Tesla sont capables de corriger les erreurs sur un seul bit et de détecter et alerter sur les erreurs sur deux bits. Sur les derniers GPU Tesla V100, Tesla T4, Tesla P100 et Quadro GV100 / GP100, la prise en charge ECC est incluse dans la mémoire principale HBM2, ainsi que dans les fichiers de registre, les mémoires partagées, les caches L1 et L2.

Garantie et contrat de licence utilisateur final

La garantie de NVIDIA sur les produits GPU GeForce indique explicitement que les produits GeForce ne sont pas conçus pour être installés sur des serveurs. L'exécution de GPU GeForce sur un système serveur annulera la garantie du GPU et se fera aux risques et périls de l'utilisateur. Sur le site Web de la garantie constructeur de NVIDIA:

Le produit garanti est destiné aux utilisateurs finaux uniquement et ne doit pas être utilisé dans des centres de données ni dans des déploiements commerciaux de grappes de GPU («utilisation en entreprise»). Toute utilisation du produit garanti pour une utilisation en entreprise annulera cette garantie.

Le contrat de licence inclus avec le logiciel pilote des produits GeForce de NVIDIA stipule notamment:

Pas de déploiement de centre de données. Le LOGICIEL n’est pas concédé sous licence pour le déploiement dans un centre de données, sauf que le traitement par chaîne de blocs dans un centre de données est autorisé.

Performance de la mémoire GPU

Les applications gourmandes en ressources informatiques nécessitent des unités de calcul hautes performances, mais un accès rapide aux données est également essentiel. Pour de nombreuses applications HPC, une augmentation des performances de calcul n’aide en rien, à moins que les performances de la mémoire ne soient également améliorées. Pour cette raison, les GPU Tesla offrent de meilleures performances réelles que les GPU GeForce:

Modèle GPU NVIDIA Bande passante mémoire GPU
GeForce GTX Titan X Maxwell 336 Go / s
GeForce GTX 1080 Ti 484 Go / s
GeForce Titan Xp 548 Go / s
GeForce Titan V 653 Go / s
GeForce RTX 2080 Ti 616 Go / s
Tesla K80 480 Go / s
Tesla P40 346 Go / s
Tesla P100 12Go 549 Go / s
Tesla P100 16 Go 732 Go / s
Quadro GP100 717 Go / s
Tesla V100 16 Go / 32 Go 900 Go / s
Quadro GV100 870 Go / s
Quadro RTX 6000 et 8000 624 Go / s
Tesla T4 320 Go / s

Quantité de mémoire GPU

En général, plus un système a de mémoire, plus il s'exécutera rapidement. Pour certaines applications HPC, il n’est même pas possible d’effectuer une seule exécution si la mémoire est insuffisante. Pour d'autres, la qualité et la fidélité des résultats seront dégradées à moins que suffisamment de mémoire ne soit disponible. Les GPU Tesla offrent jusqu'à deux fois plus de mémoire que les GPU GeForce:

Modèle GPU NVIDIA Quantité de mémoire GPU
GeForce GTX 1080 Ti 11 Go
GeForce Titan Xp 12 Go
GeForce GTX Titan V 12 Go
GeForce RTX 2080 Ti 11 Go
Tesla K80 24 Go
Tesla P40 24 Go
Tesla P100 12 Go ou 16 Go*
Quadro GP100 16 GB*
Tesla V100 16 Go ou 32 Go*
Quadro GV100 32 Go*
Quadro RTX 6000 24 Go*
Quadro RTX 8000 48 Go*
Tesla T4 16 GB*

* Notez que la mémoire unifiée Tesla / Quadro permet aux GPU de partager la mémoire de chacun pour charger des jeux de données encore plus volumineux.

PCI-E vs NVLink – Débit de périphérique à hôte et de périphérique à périphérique

L'un des plus gros goulots d'étranglement potentiels est l'attente du transfert des données vers le processeur graphique. Des goulots d'étranglement supplémentaires sont présents lorsque plusieurs GPU fonctionnent en parallèle. Des transferts de données plus rapides entraînent directement des performances plus rapides des applications. Les GPU GeForce se connectent via PCI-Express, qui a un débit maximum théorique de 16 Go / s. Les GPU NVIDIA Tesla / Quadro avec NVLink peuvent tirer parti d'une connectivité beaucoup plus rapide. Le NVLink de la génération «Pascal» de NVIDIA permet à chaque GPU de communiquer à une vitesse allant jusqu’à 80 Go / s (160 Go / s bidirectionnelle). Le NVLink 2.0 de la génération «Volta» de NVIDIA permet à chaque GPU de communiquer à une vitesse allant jusqu’à 150 Go / s (300 Go / s bidirectionnelle). Les connexions NVLink sont prises en charge entre les GPU, ainsi qu'entre les CPU et les GPU sur les plates-formes OpenPOWER prises en charge.

Support logiciel d'application

Certains logiciels sont capables de fonctionner sur n’importe quel GPU prenant en charge CUDA, d’autres sont conçus et optimisés pour la série de GPU professionnels. La plupart des progiciels professionnels ne prennent officiellement en charge que les GPU NVIDIA Tesla et Quadro. L'utilisation d'un GPU GeForce est peut-être possible, mais ne sera pas prise en charge par le fournisseur du logiciel. Dans d'autres cas, les applications ne fonctionneront pas du tout lorsqu'elles seront lancées sur un GPU GeForce (par exemple, les produits logiciels de Schrödinger, LLC).

Support du système d'exploitation

Bien que les pilotes GPU de NVIDIA soient assez flexibles, aucun pilote GeForce n’est disponible pour les systèmes d’exploitation Windows Server. Les GPU GeForce ne sont pris en charge que sous Windows 7, Windows 8 et Windows 10. Les groupes qui utilisent Windows Server doivent s’appuyer sur les produits GPU professionnels Tesla et Quadro de NVIDIA. Les pilotes Linux, quant à eux, supportent tous les GPU NVIDIA.

Cycle de vie du produit

En raison de la nature du marché des GPU grand public, les produits GeForce ont un cycle de vie relativement court (généralement pas plus d'un an entre la sortie du produit et la fin de la production). Les projets qui nécessitent une plus longue durée de vie du produit (comme ceux pouvant nécessiter des pièces de rechange plus de 3 ans après l'achat) doivent utiliser un processeur graphique professionnel. Les produits GPU professionnels Tesla et Quadro de NVIDIA bénéficient d’un cycle de vie prolongé et d’un support à long terme de la part du fabricant (notamment des avis de fin de vie des produits et des possibilités de derniers achats avant l’arrêt de la production). De plus, les GPU professionnels sont soumis à un processus de test et de validation plus approfondi pendant la production.

Efficacité énergétique

Les GPU GeForce sont destinés à une utilisation de jeu grand public et ne sont généralement pas conçus pour une efficacité énergétique accrue. En revanche, les GPU Tesla sont conçus pour un déploiement à grande échelle où l'efficacité énergétique est importante. Cela fait des GPU Tesla un meilleur choix pour les grandes installations. Par exemple, la GeForce GTX Titan X est populaire pour les charges de travail d’apprentissage approfondi des postes de travail. Dans les déploiements de serveurs, le GPU Tesla P40 offre des performances équivalentes et double la capacité de la mémoire. Cependant, une fois côte à côte, la Tesla consomme moins d’énergie et génère moins de chaleur.

Moteurs DMA

Le moteur d'accès direct à la mémoire (DMA) d'un processeur graphique permet un transfert rapide des données entre la mémoire système et la mémoire du processeur graphique. Étant donné que de tels transferts font partie de toute application réelle, les performances sont essentielles à l'accélération GPU. Les transferts lents font que les cœurs du processeur graphique restent inactifs jusqu'à ce que les données arrivent dans la mémoire du processeur graphique. De même, les retours lents font que le processeur attend jusqu'à ce que le processeur graphique ait fini de renvoyer les résultats.

Les produits GeForce comportent un seul moteur DMA * qui est capable de transférer des données dans une direction à la fois. Si des données sont en cours de téléchargement sur le GPU, les résultats calculés par le GPU ne peuvent pas être renvoyés avant la fin du téléchargement. De même, les résultats renvoyés par le GPU bloquent toute nouvelle donnée devant être téléchargée sur le GPU. Les produits GPU Tesla comportent deux moteurs DMA pour atténuer ce goulot d'étranglement. Les données peuvent être transférées simultanément dans le GPU et hors du GPU.

* Un modèle de processeur graphique GeForce, le GeForce GTX Titan X, intègre deux moteurs DMA.

GPU direct RDMA

La technologie GPU-Direct de NVIDIA permet d’améliorer considérablement les vitesses de transfert de données entre les GPU. Diverses capacités relèvent de la catégorie GPU-Direct, mais la capacité RDMA promet le gain de performances le plus important. Traditionnellement, l’envoi de données entre les GPU d’un cluster nécessitait 3 copies de mémoire (une fois dans la mémoire système du GPU, une fois dans la mémoire système de la CPU et une fois dans la mémoire du pilote InfiniBand). GPU Direct RDMA supprime les copies de la mémoire système, ce qui permet au GPU d'envoyer des données directement via InfiniBand à un système distant. En pratique, cela a entraîné une réduction de 67% de la latence et une augmentation de 430% de la bande passante pour les messages de petite taille MPI [1]. Dans la version CUDA 8.0, NVIDIA a introduit GPU Direct RDMA ASYNC, qui permet au GPU d’initier des transferts RDMA sans aucune interaction avec le CPU.

Les GPU GeForce ne supportent pas le RDMA GPU-Direct. Bien que les appels MPI puissent toujours être renvoyés avec succès, les transferts seront effectués via les chemins de copie de mémoire standard. La seule forme de GPU-Direct prise en charge sur les cartes GeForce est le GPU Direct Peer-to-Peer (P2P). Cela permet des transferts rapides sur un seul ordinateur, mais ne fait rien pour les applications exécutées sur plusieurs serveurs / nœuds de calcul. Les GPU Tesla supportent pleinement GPU Direct RDMA et les diverses autres fonctionnalités GPU Direct.. Ils sont la cible principale de ces fonctionnalités et ont donc le plus de tests et d’utilisations sur le terrain.

Hyper-Q

Hyper-Q Proxy pour MPI et CUDA Streams permet à plusieurs threads ou processus de la CPU de démarrer leur travail sur un seul GPU. Ceci est particulièrement important pour les applications parallèles existantes écrites avec MPI, car ces codes ont été conçus pour tirer parti des multiples cœurs de processeur. Autoriser le processeur graphique à accepter le travail de chacun des threads MPI s'exécutant sur un système peut améliorer considérablement les performances. Cela peut également réduire la quantité de réarchitecture du code source nécessaire pour ajouter une accélération GPU à une application existante. Cependant, la seule forme de Hyper-Q prise en charge sur les GPU GeForce est Hyper-Q for CUDA Streams. Cela permet à la GeForce d’accepter et d’exécuter efficacement des calculs parallèles à partir de cœurs de processeur distincts, mais les applications exécutées sur plusieurs ordinateurs ne pourront pas lancer efficacement le travail sur le GPU.

Fonctions de surveillance et de gestion de l’intégrité des GPU

De nombreuses fonctionnalités de surveillance de l'état et de gestion du GPU (indispensables pour la maintenance de plusieurs systèmes de GPU) ne sont prises en charge que sur les GPU professionnels Tesla. Les fonctionnalités d'intégrité qui ne sont pas prises en charge sur les GPU GeForce incluent:

  • NVML / nvidia-smi pour surveiller et gérer l’état et les capacités de chaque GPU. Cela permet de prendre en charge le processeur graphique à partir d'un certain nombre d'applications et d'outils tiers tels que Ganglia. Les liaisons Perl et Python sont également disponibles.
  • OOB (surveillance hors bande via IPMI) permet au système de surveiller l'intégrité du processeur graphique, d'ajuster la vitesse du ventilateur pour refroidir correctement les périphériques et d'envoyer des alertes en cas de problème
  • InfoROM (configuration persistante et données d'état) fournit au système des données supplémentaires sur chaque GPU
  • Utilitaire NVHealthmon fournit aux administrateurs de cluster un outil d'état d'intégrité du processeur graphique prêt à l'emploi
  • TCC permet aux GPU d'être spécifiquement configurés pour les modes d'affichage uniquement ou de calcul uniquement
  • ECC (détection et correction d'erreur de mémoire)

Les outils de cluster s'appuient sur les fonctionnalités fournies par NVIDIA NVML. Environ 60% des fonctionnalités ne sont pas disponibles sur GeForce. Ce tableau offre une comparaison plus détaillée des fonctionnalités NVML prises en charge par les GPU Tesla et GeForce:

Fonctionnalité Tesla Geforce
Nom du produit Oui Oui
Afficher le nombre de GPU Oui Oui
Génération PCI-Express (par exemple, 2.0 vs 3.0) Oui
Largeur de liaison PCI-Express (par exemple, x4, x8, x16) Oui
Vitesse actuelle du ventilateur Oui Oui
Température actuelle Oui Oui*
Etat de performance actuel Oui
État du papillon Oui
Utilisation actuelle du processeur graphique (pourcentage) Oui
Utilisation actuelle de la mémoire (pourcentage) Oui Oui
Capacité de renforcement du GPU Oui oui ^
Assistance de détection / correction d'erreur ECC Oui
Liste des pages retirées Oui
Puissance absorbée Oui
Définir la limite de consommation électrique Oui
Vitesse d'horloge du GPU actuelle Oui
Vitesse actuelle de la mémoire Oui
Afficher les vitesses d'horloge disponibles Oui
Afficher les vitesses de mémoire disponibles Oui
Définir la vitesse de démarrage du processeur graphique (horloge principale et mémoire) Oui
Afficher les processus de calcul en cours Oui
Numéro de série de la carte Oui
InfoROM image et objets Oui
Fonction de comptabilité (utilisation des ressources par processus) Oui
ID PCI-Express Oui Oui
Version du pilote NVIDIA Oui Oui
Version NVIDIA VBIOS Oui Oui

* La lecture de la température n'est pas disponible sur la plate-forme système, ce qui signifie que la vitesse du ventilateur ne peut pas être ajustée. ^ GPU Boost est désactivé pendant les calculs en double précision. De plus, les vitesses d'horloge GeForce seront automatiquement réduites dans certains scénarios.

GPU Boost

Tous les derniers produits GPU NVIDIA prennent en charge GPU Boost, mais leur implémentation varie en fonction du scénario d'utilisation prévu. Les cartes GeForce sont conçues pour l’utilisation interactive des ordinateurs de bureau et des jeux. Les GPU Tesla sont conçus pour un calcul intensif et constant, avec stabilité et fiabilité. Compte tenu des différences entre ces deux cas d'utilisation, GPU Boost fonctionne différemment sur Tesla que sur GeForce.

Comment GPU Boost fonctionne sur GeForce

Dans le cas de Geforce, la carte graphique détermine automatiquement la vitesse de l’horloge et la tension en fonction de la température du GPU. La température est la variable indépendante appropriée car la génération de chaleur affecte la vitesse du ventilateur. Pour les jeux moins intenses sur le plan graphique ou pour l’utilisation générale du bureau, l’utilisateur final peut profiter d’une expérience informatique plus silencieuse. Cependant, lorsque vous jouez sur des jeux nécessitant des calculs GPU sérieux, GPU Boost augmente automatiquement la tension et la vitesse d'horloge (en plus de générer plus de bruit).

Comment GPU Boost fonctionne sur Tesla

En revanche, le niveau de boost du GPU de Tesla peut également être déterminé par la tension et la température, mais ne nécessite pas toujours de cette façon.

Si vous préférez, augmentez peut être spécifié par l'administrateur système ou l'utilisateur, la vitesse d'horloge souhaitée peut être réglée sur une fréquence spécifique. Plutôt que de laisser flotter la vitesse d'horloge à différents niveaux, la vitesse d'horloge souhaitée peut être maintenue de manière statique sauf si le seuil de consommation d'énergie (TDP) est atteint. Cette considération est importante car les accélérateurs d'un environnement HPC doivent souvent être synchronisés les uns avec les autres. L’aspect déterministe optionnel de l’amplification GPU de Tesla permet aux administrateurs système de déterminer les vitesses d’horloge optimales et de les verrouiller sur tous les GPU.

Pour les applications nécessitant des performances supplémentaires et déterminisme, les derniers GPU Tesla peuvent être configurés pour Boost automatique dans groupes boost synchrones. Lorsque la fonction Boosting automatique est activée, chaque groupe de GPU augmente la vitesse d'horloge lorsque la marge disponible le permet. Le groupe maintiendra les horloges synchronisées les unes avec les autres pour garantir des performances identiques à travers le groupe. Les groupes peuvent être définis dans les outils NVIDIA DCGM

1. Prise en charge des GPU avec GPUDirect RDMA dans MVAPICH2 par D.K. Panda (Université d'État de l'Ohio)

Comparaison entre les GPU NVIDIA GeForce et Tesla – Louez la Tesla Modele 3 Performance au tarif le moins cher du marché
4.9 (98%) 32 votes