General-purpose processing on graphics processing units

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Ce modèle est-il pertinent ? Cliquez pour en voir d'autres.
Cet article ne cite pas suffisamment ses sources (décembre 2015).

Si vous disposez d'ouvrages ou d'articles de référence ou si vous connaissez des sites web de qualité traitant du thème abordé ici, merci de compléter l'article en donnant les références utiles à sa vérifiabilité et en les liant à la section « Notes et références » (modifier l'article, comment ajouter mes sources ?).

GPGPU est l'abréviation de general-purpose computing on graphics processing units, c'est-à-dire un calcul générique sur un processeur graphique afin de bénéficier de leur capacité de traitement massivement parallèle.

GPGPU en modèle de remplacement du CPU[modifier | modifier le code]

Jusqu'à récemment[Quand ?], le CPU, chef d'orchestre ou processeur central de l'ordinateur, traitait la plupart des opérations lourdes en calcul comme les simulations physiques, le rendu hors-ligne pour les films, les calculs de risques pour les institutions financières, la prévision météorologique, l'encodage de fichier vidéo et son, etc.

Intel avec ses 80 % de parts de marché sur les CPU dominait donc très largement tous les besoins en calcul et pouvait en extraire de substantielles marges.

Certains de ces calculs lourds sont cependant facilement parallélisables et peuvent donc bénéficier d'une architecture pensée pour le calcul parallèle[1]. La plupart des architectures parallèles étaient lourdes, chères et s'adressaient à un marché de niche jusqu'à ce que le GPU s'impose comme un acteur important du calcul parallèle.

Le GPU est un produit grand public avec une large diffusion grâce aux débouchés des jeux vidéo, ce qui permet d'en réduire les coûts par rapport à une architecture trop spécialisée. Une architecture relativement bon marché et taillée pour le calcul parallèle au point d'afficher des performances parfois supérieure à 2 000 %[réf. nécessaire] par rapport à un CPU haut de gamme de dernière génération.

Si les premiers GPU étaient à fonctions fixes, ils ont évolué pour devenir programmables. Ainsi depuis la NVIDIA GeForce 3 qui implémente les Pixels shaders 1.1, les processeurs graphiques disposent d'une unité de géométrie programmable. Et depuis la AMD Radeon R300 qui implémente les Pixels shaders 2.0, le calcul se fait sur des nombres flottants et plus seulement sur des nombres entiers.

Exemples d'applications[modifier | modifier le code]

Les pilotes libres de cartes graphiques AMD Radeon pour Linux recourent aux shaders pour accélérer le décodage vidéo (voir Video Acceleration API).

Notes et références[modifier | modifier le code]

  1. Fast k nearest neighbor search using GPU. In Proceedings of the CVPR Workshop on Computer Vision on GPU, Anchorage, Alaska, USA, June 2008. V. Garcia and E. Debreuve and M. Barlaud.

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]

  • [PDF] Programmation sur Carte Graphique (Jean-Sébastien Franco, Romain Vergne & Xavier Granier (LaBRI), Gabriel Fournier (LIRIS), Christian Trefftz / Greg Wolffe)