
Sauf que… La communauté du calcul scientifique s'intéresse de plus en plus aux calculs en "précision mixte", car les possibilités d'accélération au niveau matériel sont plus grandes que pour les opérations habituelles, en pleine précision. De fait, toutes les opérations ne requièrent pas une précision absolue pour les calculs : l'idée est d'alors utiliser des opérations en précision mixte quand cela ne nuit pas au résultat final.
En pratique, une équipe jointe de l'université du Tennessee et de celle de Manchester a adapté les tests de performance utilisés pour les superordinateurs afin d'exploiter la puissance des cœurs tensoriels fournis sur les dernières puces de NVIDIA. L'algorithme itératif de résolution de systèmes linéaires de Linpack a bénéficié des possibilités de calcul mixte de ces unités, avec une technique de raffinement itératif. Cette technique de calcul a été développée dans les années 1940 et est surtout utile dans le cas de matrices denses (dont beaucoup d'éléments sont non nuls). Le résultat est alors obtenu bien plus rapidement qu'en utilisant uniquement les unités de calcul sur soixante-quatre bits de ces puces graphiques. Les cœurs tensoriels offrent la possibilité de travailler avec des nombres sur seize bits à peine, avec des accumulateurs sur trente-deux bits. Numériquement, un superordinateur peut ainsi espérer tripler son score de performance ! C'était par exemple le cas de Summit : la résolution du même système linéaire (une matrice de dix millions de lignes et autant de colonnes) prend alors vingt-cinq minutes au lieu de septante-cinq.
Reste à voir comment ces techniques pourront s'appliquer de manière plus générale, à d'autres algorithmes de calcul numérique. On aura peut-être droit à une petite révolution dans le domaine, avec une très nette amélioration de performance sans dégradation de précision !
Source : Doing The Math : The Reality Of HPC And AI Convergence.