3.4.7 : Avec un GPU A100

Le lecteur perspicace se demandera pourquoi je n'utilise pas ma Quadro M2200 comme je l'ai fait précédemment. En effet, ça serait plus simple, mais pour cela il faurait que le compilateur nvc++ soit coopératif et permette l'utilisation de GPU avec des compute capabilities inférieures à 6. Ce qui n'est pas le cas.

A un moment où l'on songe à utiliser nos machines de plus en plus longtemps afin d'économiser des ressources. Il convient de rappeler deux choses :
  • tant que le hardware fonctionne seul le software importe. Et ce n'est pas en utilisant de vieux compilateurs ou de vieux pilotes que l'on garanti que le résultat sera juste. Un software DOIT prouver que les résultats qu'il obtient sont justes. En terme de performance, c'est la même chose, un compilateur récent permettra de tirer toute la puissance de calcul d'une machine ancienne, mais un vieux compilateur n'obtiendra jamais de performance raisonnable (supérieure à quelques pourcents) sur aucun hardware que ce soit.
  • le fait que NVidia, choisisse que le compilateur nvc++ ne porte du C++17 que sur des architecture récentes (Ampere, Turring, Volta ou Pascal) et non Kepler (comme ma Quadro M2200), n'est pas forcément du à une fuite en avant calculée (il ne faut pas voir le mal partout, même si c'est dans leur intéret) que d'une volonté de simplifier le backend de leur compilateurs. En effet, développer un compilateur est une gageure et il faut tout de même remarquer la volonté de le simplifier tant que possible.


Quelques soient les motivations du deuxième point, on ne peut qu'encourager les administrateurs de centre de calcul à conserver les versions des compilateurs fournies gracieusement par les industriels (comme le HPC_SDK) afin de s'assurer une indépendence en cas de perte de compatibilité.

Utiliser nos machines le plus longtemps possible est une bonne idée, encore faut-il les utiliser efficacement noteDonc, pas avec des compilateurs antiques nous sommes bien d'accord..