Nvidia utilise l'émulation logicielle pour améliorer les performances du calcul à virgule flottante double précision (FP64) dans ses accélérateurs d'IA pour le calcul haute performance (HPC) et les applications scientifiques, selon Le registre. Cette stratégie intervient alors que la société dévoile ses GPU Rubin, qui offrent 33 téraFLOPS de performances maximales FP64, soit une diminution de 1 téraFLOP par rapport au GPU H100. Les bibliothèques CUDA de Nvidia peuvent atteindre jusqu'à 200 téraFLOPS de performances matricielles FP64 grâce à l'émulation logicielle, ce qui représente une augmentation de 4,4 fois par rapport aux capacités matérielles des accélérateurs Blackwell. Dan Ernst, directeur principal des produits de calcul intensif chez Nvidia, a déclaré que la précision de l'émulation correspond ou dépasse celle du matériel de base tensoriel. Cependant, Nicholas Malaya, membre d'AMD, a remis en question l'efficacité du FP64 émulé dans les simulations scientifiques physiques par rapport aux références. Le FP64 reste essentiel pour le calcul scientifique en raison de sa plage dynamique, capable d'exprimer plus de 18,44 quintillions de valeurs uniques, contrairement aux 256 valeurs uniques du FP8 utilisées dans les modèles d'IA. Selon Malaya, les simulations HPC, contrairement aux charges de travail d'IA, nécessitent une grande précision pour empêcher la propagation d'erreurs pouvant conduire à l'instabilité du système. Le concept d'utilisation de types de données de moindre précision pour émuler FP64 remonte au milieu du 20e siècle. Début 2024, des chercheurs des instituts technologiques de Tokyo et Shibaura ont publié un article démontrant que les opérations matricielles FP64 pouvaient être décomposées en plusieurs opérations INT8 sur les cœurs tenseurs de Nvidia, obtenant ainsi des performances supérieures à celles d'origine. Cette méthode, connue sous le nom de schéma Ozaki, constitue la base des bibliothèques d'émulation FP64 de Nvidia, publiées à la fin de l'année dernière. Ernst a confirmé que le calcul émulé conserve la précision FP64, ne différant que par sa méthode d'exécution matérielle. Les GPU modernes comportent des cœurs tenseurs de faible précision, tels que ceux de Rubin, qui offrent 35 pétaFLOPS de calcul FP4 dense. Ces cœurs sont plus de 1 000 fois plus rapides que les composants spécifiques au FP64. Ernst a expliqué que l'efficacité de ces cœurs de faible précision a conduit à explorer leur utilisation pour l'émulation FP64, s'alignant ainsi sur la tendance historique du supercalcul consistant à exploiter le matériel disponible. AMD a exprimé des réserves quant à la précision de l'émulation FP64. La Malaisie a noté que l'approche fonctionne bien pour les systèmes numériques bien conditionnés, tels que les références High Performance Linpack (HPL), mais peut échouer dans les systèmes moins conditionnés trouvés dans la science des matériaux ou les codes de combustion. Il a également souligné que les algorithmes de Nvidia pour l'émulation FP64 ne sont pas entièrement conformes à l'IEEE, ne prenant pas en compte les nuances telles que les zéros positifs par rapport aux zéros négatifs ou les erreurs « pas de nombre ». Ces écarts peuvent conduire à de petites erreurs se propageant et affectant les résultats finaux. La Malaisie a ajouté que le schéma Ozaki double approximativement la consommation de mémoire pour les matrices FP64. Le prochain MI430X d'AMD améliorera spécifiquement les performances matérielles en double et simple précision grâce à son architecture chiplet. Ernst a reconnu certaines limites, mais a soutenu que des problèmes tels que les zéros positifs/négatifs ne sont pas critiques pour la plupart des praticiens du HPC. Nvidia a développé des algorithmes supplémentaires pour détecter et atténuer les problèmes tels que les nombres non numériques et les nombres infinis. Il a déclaré que l'augmentation de la surcharge de mémoire est relative au fonctionnement, et non à l'ensemble de l'application, les matrices typiques étant de quelques gigaoctets. Ernst a fait valoir que les problèmes de conformité IEEE ne se posent souvent pas dans les cas de multiplication matricielle, en particulier dans les opérations DGEMM. L'émulation profite principalement à un sous-ensemble d'applications HPC reposant sur des opérations de multiplication matricielle générale dense (DGEMM). La Malaisie estime que 60 à 70 % des charges de travail HPC, en particulier celles qui reposent sur le FMA vectoriel, ne tirent que peu ou pas d'avantages de l'émulation. Pour les charges de travail lourdes en vecteurs comme la dynamique des fluides computationnelle, les GPU Rubin de Nvidia doivent utiliser des accélérateurs vectoriels FP64 plus lents au sein de leurs cœurs CUDA. Ernst a rétorqué que les FLOPS théoriques ne se traduisent pas toujours par des performances utilisables, en particulier lorsque la bande passante mémoire agit comme un goulot d'étranglement. Rubin, avec 22 To/s de mémoire HBM4, devrait offrir des performances réelles plus élevées dans ces charges de travail malgré des performances vectorielles FP64 plus lentes. La viabilité de l'émulation FP64 sera testée à mesure que de nouveaux supercalculateurs intégrant les GPU Blackwell et Rubin de Nvidia deviendront opérationnels. Les algorithmes peuvent s’améliorer avec le temps étant donné leur nature logicielle. Malaya a indiqué qu'AMD explore également l'émulation FP64 sur des puces comme le MI355X via des indicateurs logiciels. Il a souligné que la conformité IEEE validerait l'approche en garantissant la cohérence des résultats avec du silicium dédié. Malaya a suggéré que la communauté établisse une suite d'applications pour évaluer la fiabilité de l'émulation dans différents cas d'utilisation.




