Programmation GPU
Lors de l'addition élément par élément de deux grands tableaux sur GPU (c[i] = a[i] + b[i]), qu'est-ce qui détermine principalement les performances ?
- ALa bande passante mémoire (12 octets lus et écrits par élément pour une seule addition)
- BLe nombre d'unités de calcul
- CUniquement la fréquence d'horloge
Afficher la réponse et l'explication
Réponse : A. La bande passante mémoire (12 octets lus et écrits par élément pour une seule addition)
Chaque addition de float lit 4 octets de a et 4 octets de b et écrit 4 octets dans c : 12 octets transférés pour un calcul. Le GPU peut effectuer plusieurs dizaines de billions d'opérations par seconde, mais sa bande passante mémoire n'est que de quelques To/s ; ce traitement est donc plafonné par la bande passante. Pour l'accélérer, il est efficace de réduire le nombre de lectures et d'écritures ou de fusionner plusieurs traitements pour ne pas écrire les résultats intermédiaires en mémoire.