Programmation GPU

Pourquoi, sur de nombreux GPU grand public pour le jeu, les performances en double précision (FP64) sont-elles bien inférieures (par exemple quelques dizaines de fois) à celles en simple précision (FP32) ?

  1. AParce que la simple précision ou moins suffit pour le graphisme et l'IA, et que peu de surface de circuit est consacrée aux unités double précision
  2. BParce que le calcul en double précision est physiquement impossible
  3. CParce que le calcul en double précision est réservé aux CPU
Afficher la réponse et l'explication

Réponse : A. Parce que la simple précision ou moins suffit pour le graphisme et l'IA, et que peu de surface de circuit est consacrée aux unités double précision

Une unité double précision consomme plusieurs fois la surface et l'énergie d'une unité simple précision. Pour les images de jeu ou l'inférence IA, la simple ou la demi-précision suffit ; les GPU grand public réduisent donc les unités double précision au profit de la simple précision, etc. Pour les calculs scientifiques exigeant la double précision, comme les simulations météorologiques ou de mécanique des fluides, on utilise des GPU pour centres de données aux performances double précision renforcées.

S'entraîner sur ce thème Retour au thème

Autres questions sur Programmation GPU

  1. Quelle est la caractéristique des Tensor Cores (unités de calcul matriciel) des GPU récents ?
  2. En calcul en précision mixte sur GPU, pourquoi effectue-t-on souvent les multiplications en faible précision (FP16, etc.) et l'accumulation en FP32 ?
  3. La somme en virgule flottante des mêmes données calculée sur GPU diffère légèrement au dernier chiffre d'une exécution à l'autre. Quelle est la cause la plus probable ?
  4. Quelle règle générale guide le choix du nombre de threads par bloc en CUDA ?
  5. Quel est l'avantage d'écrire un noyau avec une boucle comme ci-dessus (boucle à pas de grille, grid-stride loop) ?

Comparatifs sur ce thème