La Titan V de Nvidia fait des erreurs de calcul pendant les simulations scientifiques

Car elle ne supporte pas la technologie ECC comme les Quadro

En décembre dernier, le fabricant californien de puces graphiques NVIDIA a profité de la conférence NIPS qui se tenait à San Francisco pour dévoiler sa Titan V, une carte graphique (GPU) pour PC basée sur l’architecture Volta (GV100). Elle embarque 12 Go de mémoire HBM2 et sa puissance de calcul annoncée est 110 téraflops en « demi-précision » (16 bits) et 6 875 téraflops en « double précision » (64 bits).

Sur son site, le fabricant de GPU décrit son produit comme suit : « Moteur d’innovation dans toutes les industries, l’architecture GPU de NVIDIA pour supercalculateurs est désormais disponible sur PC pour vous permettre de réaliser tous vos projets. » Elle précise également que « les utilisateurs de NVIDIA TITAN peuvent accéder gratuitement à des logiciels Deep Learning optimisés pour le calcul sur GPU via NVIDIA GPU Cloud. »

La Titan V est à l’origine un produit haut de gamme de la série GeForce dédié à la fois à l’intelligence artificielle (IA) et au jeu extrême. Cette carte n’a pas que d’extrême ses spécifications (21,1 milliards de transistors réunis sur un die de 8 cm² environ) puisqu’elle est actuellement vendue sur le site Web de la marque en France à 3100 euros.

Mais voilà, un scientifique (anonyme) a récemment révélé que le GPU NVIDIA Titan V produit des erreurs dans des simulations scientifiques. D’après lui, le GPU Titan V de NVIDIA fournit des résultats différents, alors qu’on reproduit les mêmes calculs, et serait, de ce fait, incapable de donner des résultats fiables dans des conditions spécifiques.

Ce « problème » serait dû à l’absence d’implémentation ou à la désactivation par NVIDIA de la technologie de détection et de correction d’erreurs en mémoire, abrégé ECC, qu’on retrouve sur certains modèles de GPU. Chez NVIDIA, cette technologie est, en général, réservée aux GPU de la série QUADRO (dédiés à la conception professionnelle et au marché de la création) et TESLA (dédiés au calcul haute performance ou HPC).

Il faut préciser que l’entrainement des réseaux neuronaux pour l’IA et le Deep Learning ne nécessite généralement pas de recourir à des calculs en haute précision. Ce sont surtout les performances en « demi-précision » du matériel qui font toute la différence dans ce domaine.

Sur une carte graphique dédiée au jeu, la survenue d’erreurs en mémoire qui peut, à titre d’exemple, se manifester par l’apparition d’une couleur de pixel incorrecte pour une image donnée n’aura en général aucune incidence sur l’expérience d’utilisation globale. La plupart du temps, elle demeure d’ailleurs imperceptible. C’est la raison pour laquelle les constructeurs de GPU n’ont pas jugé utile d’implémenter l’ECC sur les cartes graphiques dédiées au jeu.

Cependant, certaines applications spécialisées ont impérativement besoin que les données qu’elles manipulent soient toujours exactes afin d’éviter que le résultat final ne soit faussé et d’anticiper la survenue d’échecs lors d’une expérience. Pour ce type d’application, les fabricants de GPU ont conçu des GPU bien particuliers qui excellent dans le calcul en double précision et prennent en charge la technologie ECC permettant de détecter et de corriger les erreurs éventuelles. Tous les derniers GPU Tesla V100, Tesla P100 et Quadro GP100 supportent la technologie ECC qui est implémentée dans la mémoire HBM2 principale, ainsi que dans les fichiers de registre, les mémoires partagées, le cache L1 et le cache L2.

Suite à cette affaire, le constructeur a réagi en déclarant : « tous nos GPU sont complémentaires. Notre gamme Tesla, qui profite de l’ECC [error-correcting code memory], est conçue pour ce type de simulation haute performance et à grande échelle. Toute personne rencontrant des problèmes devrait contacter support@nvidia.com. »

Dans la même rubrique

| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | ... | 23 |

Actu en image