Quelle est l’importance des processeurs de flux dans les GPU?

La plupart des nouvelles cartes vidéo ont des processeurs de flux intégrés dans leur unité de traitement graphique. Le GPU peut également être intégré à la carte mère ou à l'unité centrale elle-même. Le traitement de flux est une technique de programmation qui simplifie le traitement parallèle matériel et logiciel. Les processeurs de flux du GPU gèrent la plupart des tâches de rendu graphique traditionnelles ou peuvent être programmés pour une analyse des nombres plus générale.

Applications

Les processeurs de flux sont bien adaptés aux tâches traditionnelles axées sur le GPU telles que le traitement des images, de la vidéo et du signal. Cependant, il est de plus en plus courant d'utiliser également les processeurs de flux sur le GPU pour le calcul des nombres à usage général et scientifique. Les techniques de traitement de flux fonctionnent bien pour le traçage de rayons, la dynamique des fluides computationnelle, la modélisation météorologique et les calculs de repliement des protéines. Les applications nécessitant des opérations vectorielles massives et des calculs à haut débit enregistrent de gros gains par rapport au calcul conventionnel du nombre de processeurs. Les applications à usage général peuvent ne pas voir d'améliorations de la vitesse.

Historique

Les processeurs traditionnels fonctionnaient comme un processeur unique exécutant un seul flux d'instructions fonctionnant sur des données stockées dans un seul emplacement de mémoire. Cette architecture est appelée «instruction unique, données uniques». Des techniques parallèles ont été développées pour faire face à la quantité croissante de données à traiter, permettant des opérations sur plusieurs emplacements de données simultanément. Le traitement de flux est une branche de ces développements qui facilite certaines des implémentations du monde réel trouvées dans les technologies antérieures.

Considérations

Les applications souhaitant utiliser le traitement de flux doivent être conçues dès le départ pour tirer efficacement parti de la technologie. Tous les programmes n'en bénéficieront pas, et la plupart des applications commerciales à usage général verront une accélération limitée ou nulle par rapport aux énormes gains réalisés à partir de programmes ou de techniques de développement très spécialisés. Le traitement de flux convient aux programmes qui nécessitent une intensité de calcul élevée et qui s'adaptent à un modèle d'exécution parallèle.

Autres mesures de performance

Le nombre de processeurs de flux (et leur vitesse) ne sont pas la seule mesure significative des performances du GPU. Différents GPU ont des vitesses d'horloge variables entre le GPU lui-même, la mémoire et les processeurs. Ils ont également des contraintes d'architecture et de bande passante différentes entre ces composants séparés. Tout cela ensemble détermine les performances effectives du GPU dans son ensemble. Les revues et les benchmarks sont le meilleur moyen de juger des performances totales d'un GPU par rapport à d'autres unités comparables.