Programmation GPU
Quel traitement tend à être peu efficace lorsqu'il est exécuté sur GPU ?
- ALe parcours d'une liste chaînée élément par élément depuis la tête, l'action suivante dépendant de la valeur de chaque élément
- BL'addition élément par élément de deux grands tableaux
- CLe doublement de la luminosité de tous les pixels d'une grande image
Afficher la réponse et l'explication
Réponse : A. Le parcours d'une liste chaînée élément par élément depuis la tête, l'action suivante dépendant de la valeur de chaque élément
Dans une liste chaînée, l'emplacement de l'élément suivant n'est connu qu'après lecture de l'élément précédent, ce qui empêche un parcours parallèle. De plus, si l'action dépend de la valeur, les branchements divergent au sein des groupes de threads exécutant la même instruction, ce qui réduit l'efficacité. Les emplacements mémoire sont dispersés et ne peuvent pas non plus être lus en bloc. Le GPU convient aux tâches indépendantes par élément, appliquant le même traitement à des données d'adresses contiguës.