Les unités de traitement graphique (GPU) sont conçues pour rendre les graphiques en temps réel. Cependant, il s’avère que ce qui rend les GPU excellents pour les graphiques les rend également excellents pour certaines tâches non graphiques. C’est ce qu’on appelle l’informatique GPU.

Quelle est la différence entre les CPU et les GPU ?

En principe, les GPU et les CPU (Central Processing Units) sont des produits de la même technologie. Dans chaque appareil, il y a des processeurs qui se composent de millions ou de milliards de composants électroniques microscopiques, principalement des transistors. Ces composants forment des éléments de processeur tels que des portes logiques et sont ensuite intégrés dans des structures complexes qui transforment le code binaire en expériences informatiques sophistiquées.

La principale différence entre les CPU et les GPU est le parallélisme. Dans un CPU moderne, vous trouverez plusieurs cœurs de CPU complexes et performants. Quatre cœurs sont typiques des ordinateurs grand public, mais les CPU à 6 et 8 cœurs sont de plus en plus courants. Les ordinateurs professionnels haut de gamme peuvent avoir des dizaines, voire plus de 100 cœurs de processeur, notamment avec les cartes mères multi-socket qui peuvent accueillir plus d’un processeur.

Chaque cœur de CPU peut effectuer une ou (avec l’hyperthreading) deux tâches à la fois. Cependant, cette tâche peut être presque n’importe quoi et elle peut être extrêmement complexe. Les CPU disposent d’une grande variété de capacités de traitement et de conceptions incroyablement intelligentes qui les rendent efficaces pour traiter des calculs complexes.

Les GPU modernes intègrent généralement des milliers de processeurs simples. Par exemple, le GPU RTX 3090 de Nvidia possède un nombre impressionnant de 10496 cœurs de GPU. Contrairement à un CPU, chaque cœur de GPU est relativement simple en comparaison et est conçu pour effectuer les types de calculs typiques des travaux graphiques. De plus, ces milliers de processeurs peuvent tous travailler simultanément sur une petite partie du problème de rendu graphique. C’est ce que nous entendons par « parallélisme ».

Calcul général sur GPUS (GPGPU)

Rappelez-vous que les CPU ne sont pas spécialisés et qu’ils peuvent effectuer n’importe quel type de calcul, quel que soit le temps qu’il leur faut pour terminer le travail. En fait, un CPU peut faire tout ce qu’un GPU peut faire, mais il ne peut pas le faire assez rapidement pour être utile dans les applications graphiques en temps réel.

Si c’est le cas, l’inverse est également vrai dans une certaine mesure. Les GPU peuvent effectuer certains des calculs que nous demandons habituellement aux CPU, mais comme ils ont une conception de traitement parallèle semblable à celle des superordinateurs, ils peuvent le faire plusieurs fois plus vite. C’est ce qu’on appelle le GPGPU : utiliser les GPU pour effectuer les tâches traditionnelles des CPU.

Les principaux fabricants de GPU (NVIDIA et AMD) utilisent des langages de programmation et une architecture spécifiques pour permettre aux utilisateurs d’accéder aux fonctions GPGPU. Dans le cas de Nvidia, il s’agit de CUDA ou Compute Unified Device Architecture. C’est pourquoi vous verrez que leurs processeurs GPU sont appelés « cœurs CUDA ».

CUDA étant propriétaire, les fabricants de GPU concurrents, comme AMD, ne peuvent pas l’utiliser. À la place, les GPU d’AMD utilisent OpenCL (Open Computing Language). Il s’agit d’un langage GPGPU créé par un consortium de sociétés comprenant Nvidia et Intel.

Les GPU dans la recherche scientifique

Le calcul par le GPU a révolutionné ce que les scientifiques peuvent faire avec des budgets beaucoup plus réduits qu’auparavant. L’exploration de données, où les ordinateurs recherchent des modèles intéressants dans des montagnes de données, pour en tirer des informations qui seraient autrement perdues dans le bruit.

Des projets tels que [email protected] utilisent le temps de traitement GPU à domicile offert par les utilisateurs pour travailler sur des problèmes graves tels que le cancer. Les GPU sont utiles pour toutes sortes de simulations scientifiques et d’ingénierie qui auraient pris des années à réaliser dans le passé et des millions de dollars en temps loué sur de grands superordinateurs.

Les GPU dans l’intelligence artificielle

Les GPU sont également excellents pour certains types de travaux d’intelligence artificielle. L’apprentissage automatique (ML) est beaucoup plus rapide sur les GPU que sur les CPU et les derniers modèles de GPU intègrent un matériel d’apprentissage automatique encore plus spécialisé.

Qu’est-ce que l’apprentissage automatique ?

Un exemple concret de la façon dont les GPU sont utilisés pour faire progresser les applications d’IA dans le monde réel est l’avènement des voitures à conduite autonome. Selon Tesla, son logiciel Autopilot a nécessité 70 000 heures de GPU pour « former » le réseau neuronal aux techniques de conduite d’un véhicule. Faire le même travail sur des CPU serait beaucoup trop coûteux et long.

Les GPU dans l’extraction de crypto-monnaies

Les GPU sont également excellents pour résoudre les énigmes cryptographiques, c’est pourquoi ils sont devenus populaires dans l’extraction de crypto-monnaies. Bien que les GPU n’extraient pas les crypto-monnaies aussi rapidement que les ASIC (circuits intégrés à application spécifique), ils ont l’avantage d’être polyvalents. Les ASIC ne peuvent généralement extraire qu’un type spécifique ou un petit groupe de crypto-monnaies et rien d’autre.

Les mineurs de crypto-monnaies sont l’une des principales raisons pour lesquelles les GPU sont si chers et difficiles à trouver, du moins à l’heure où nous écrivons ces lignes, début 2022. Pour atteindre les sommets de la technologie GPU, il faut payer très cher, le prix courant d’un NVIDIA GeForce RTX 3090 étant supérieur à 2 500 dollars. C’est devenu un tel problème que NVIDIA a artificiellement limité les performances de cryptographie des GPU de jeu et a introduit des produits GPU spécifiques au secteur minier.

Vous pouvez aussi utiliser le GPGPU !

Même si vous n’en êtes pas toujours conscient, certains des logiciels que vous utilisez tous les jours déchargent une partie de leur traitement sur votre GPU. Si vous travaillez avec un logiciel de montage vidéo ou des outils de traitement audio, par exemple, il y a de fortes chances que votre GPU supporte une partie de la charge. Si vous voulez vous attaquer à des projets tels que la fabrication de vos propres deepfakes à la maison, votre GPU est une fois de plus le composant qui rend la chose possible.

Le GPU de votre smartphone est également responsable de l’exécution d’un grand nombre de travaux d’intelligence artificielle et de vision artificielle qui auraient été confiés à des ordinateurs en nuage. Nous devrions donc tous être reconnaissants que les GPU puissent faire plus que dessiner une belle image sur votre écran.