Pour gérer vos consentements :
Categories: Cloud

Comment le GPGPU va révolutionner le calcul parallèle

Comme vous pouvez vous y attendre, il n’y a encore aucun miracle ici. Le Cell est difficile à programmer. Avec un Core 2 Quad nous disposons d’une architecture similaire à quatre processeurs x86 qui tourneraient en parallèle. Le seul point noir est de composer avec la bande passante mémoire du processeur, qui doit être partagée entre les différentes unités de traitement. Le Cell est différent : il convient d’adresser chacun des SPE (Synergistic Processing Element) de façon explicite, ces modules n’étant pas totalement autonomes.

Les GPU : une solution inattendue

Les cartes graphiques actuelles emploient un processeur de traitement graphique spécialisé (GPU pour Graphics Processing Unit). Ce dernier va gérer les différentes opérations, par exemple le calcul d’une scène en 3D. Ce type de calculs est aisé à paralléliser. C’est donc tout naturellement que les constructeurs ont choisi un modèle où le GPU comprend de multiples unités de traitement. La 3D nécessite également une large bande passante, ce qui impose l’utilisation de mémoire spécialisée, à haut rendement.

Unités de traitement multiples et bande passante avancée… ce sont exactement les caractéristiques demandées par les supercalculateurs. Les programmeurs ont rapidement mis à profit la puissance des cartes graphiques pour des calculs classiques (GPGPU pour General-Purpose Computing on Graphics Processing Units).

La solution la plus universelle reste l’utilisation de l’OpenGL, une bibliothèque graphique exploitable sur l’ensemble des cartes graphiques. En manipulant des textures et points à l’écran, il est possible d’effectuer des opérations complexes de calcul matriciel. C’est artisanal, mais cela fonctionne. Problème ; une très large partie de la puissance disponible est perdue.

Les constructeurs fournissent depuis peu des solutions plus efficaces : au besoin, les nouveaux processeurs de flux peuvent abandonner leur fonction initiale de traitement graphique, pour effectuer d’autres types de calculs. Les constructeurs fournissent des kits de développement logiciel permettant d’adresser directement le hardware inclus sur les cartes graphiques : Stream pour AMD et CUDA pour NVIDIA. Ces solutions fournissent une puissance maximale, mais ne sont pas compatibles entre elles.

Heureusement, l’OpenCL fournira une réponse commune à tous les constructeurs. Il permettra même de créer du code compatible avec les processeurs multicœurs classiques, les GPU et le Cell.

Page: 1 2 3 4 5 6

Recent Posts

OpenAI ouvre son premier bureau en Asie au Japon

OpenAI ouvre son premier bureau en Asie à Tokyo. Quelques jours après l'annonce d'un investissement…

4 jours ago

Les leçons d’une start-up sur l’usage de l’API OpenAI

Après 500 millions de tokens traités avec GPT-3.5 Turbo et GPT-4 via l'API OpenAI, une…

4 jours ago

OpenAI licencie deux chercheurs suite à des fuites d’informations

OpenAI licencie deux chercheurs pour avoir divulgué des informations. Il s'agit du premier bouleversement connu…

4 jours ago

ESG : comment le « datacenter vert » gagne du terrain

Pour combiner performances cloud et responsabilité environnementale, le datacenter évolue de fond en comble. Les…

4 jours ago

OpenTofu-HashiCorp : frictions autour de la licence BSL

Mis sous pression par HashiCorp, le projet OpenTofu se défend de toute appropriation illégale du…

4 jours ago

Salesforce, d’actionnaire à propriétaire d’Informatica ?

Salesforce songerait à s'emparer d'Informatica après en avoir été un temps investisseur.

5 jours ago