Nvidia CUDA : plus en pratique

Tags : CUDA; GPGPU; Nvidia;
Publié le 09/08/2007 par
Imprimer
D'autres concurrents
Nvidia et AMD ne sont pas les seuls à essayer de s'engager sur le marché des processeurs massivement parallèles. IBM (ainsi que Sony mais probablement plus pour faire parler de la PS3 qu'autre chose) propose ainsi un BladeCenter basé sur 2 processeurs Cell. Pour rappel, le Cell est composé d'un core généraliste accompagné d'un bloc de 8 cores destinés au calcul parallèle. IBM propose déjà tout un environnement de développement autour de cette plateforme. Par rapport à une GeForce 8800, un Cell dispose de moins d'unités de calcul et de moins de bande passante mémoire, mais d'une fréquence plus élevée et de plus de mémoire locale aux unités de calcul (256 Ko contre 8-16 Ko dans un GeForce 8).


IBM commercialise un BladeCenter équipé de 2 processeurs Cell

Intel planche lui aussi sur le problème avec le projet Larabee qui est une puce massivement parallèle destinée à faire office de GPU mais également de coprocesseur. Dans ses présentations censées être confidentielles, Intel fait mention de 16 à 24 cores qui disposeraient d'unités SSE 512 bits (soit 16 opérations 32 bits par cycle et par core !). Chacun de ces cores disposerait d'un cache L1 de 32 Ko et d'un L2 de 256 Ko, le tout accompagné par un cache global de 4 Mo. Larabee est attendu pour 2009 ou 2010 et aura comme gros avantage d'être basé sur l'architecture x86.


Les unités de calcul de chaque architecture se comportent d'une manière différente.



Quelle utilité ?
Mais à quoi peuvent bien servir ces unités de calcul ? Ni à jouer, ni à accélérer internet. Entendez par là qu'il ne s'agit pas, tout du moins à l'heure actuelle, d'une utilisation grand public mais bien d'une utilisation professionnelle. De nombreuses applications scientifiques ont besoin d'une puissance de calcul énorme qu'aucun processeur généraliste ne peut fournir. La solution est donc de créer d'énormes supercalculateurs à base de centaines voire de milliers de processeurs.

La conception de ces calculateurs est très complexe très longue et très coûteuse. Là où un processeur massivement parallèle est efficace, il permet à un coût / encombrement identique d'offrir bien plus de puissance de calcul ou d'offrir la même prestation à moindre frais.

Selon nous, il n'est pas envisagé dans l'immédiat de construire un immense supercalculateur à base de GPUs. Ils devront d'abord faire leurs preuves et gagner en maturité puisqu'il n'est pas question de prendre des risques à ce niveau. Il serait d'ailleurs intéressant que Nvidia fournisse plus d'informations sur la fiabilité de ses puces, taux d'erreur (la mémoire n'est pas ECC par exemple), taux de pannes etc. Interrogé à ce sujet à chaque annonce liée au stream computing, Nvidia n'a jamais pu y répondre, un point qui semble donc négligé actuellement, peut-être volontairement puisque le marketing préfère ne pas rendre public ce genre de données. Il ne faudrait pas qu'on arrête de penser que les GeForce ne tombent jamais en panne et ne font jamais d'erreur.


L'utilisation actuelle concerne plutôt la mise en place de systèmes qui étaient irréalisables sans de telles puces. On imagine bien entendu mal placer un supercalculateur dans chaque service des hôpitaux par exemple. Un accélérateur tel que Tesla peut permettre à une station de travail de réaliser des tâches qui étaient impensables auparavant. Ou de réaliser presque en temps réel des opérations qui peuvent être très longues.

Lors d'une présentation à la presse fin mai, Nvidia avait invité quelques partenaires qui nous ont fait la démonstration de plusieurs utilisations pratiques des GPUs.

Acceleware est une société qui développe des plateformes à base de GPUs destinées à accélérer un certain nombre de fonctions. Cette plateforme est utilisée par les clients d'Acceleware pour accélérer leur application. Acceleware nous a fait la démonstration d'une simulation de l'impact des radiations émises par un GSM sur les tissus humain mais a cité d'autres utilisations de sa plateforme, par exemple pour aider au dépistage rapide du cancer du sein ou pour réaliser des simulations liées aux pacemakers.


Evolved Machine est une société qui essaye de comprendre le fonctionnement des neurones de manière à pouvoir en reproduire les circuits et créer des systèmes capables par exemple d'apprendre et de reconnaître des objets ou des odeurs, comme nous le faisons naturellement. Simuler un seul neurone représente l'évaluation de 200 millions d'équations différentielles par seconde. Quand on sait qu'une structure basique de neurones en représente des milliers on imagine facilement la masse énorme de calcul à traiter. Evolved Machine indique avoir constaté un gain de 130x en vitesse de traitement en utilisant des GPUs et travaille sur le développement d'un rack de GPUs qui sera capable de rivaliser les meilleurs supercalculateurs du monde pour 1/100ème de leur coût.


Headwave développe des solutions destinées à l'analyse des données géophysiques. Les compagnies pétrolières ont de plus en plus de mal à trouver de nouvelles réserves de pétrole et de gaz. Les gisements détectés à une grande profondeur sont difficiles à analyser. Une quantité énorme de données doit être récoltée et ensuite traitée. Le traitement est d'ailleurs tellement lourd que les données récoltées s'accumulent à une vitesse vertigineuse et ne peuvent pas être analysées par manque de puissance de calcul. L'utilisation des GPUs permet d'accélérer significativement ces analyses notamment un rendant possible un affichage en temps réel. D'après Headwave l'infrastructure pour profiter des GPUs est déjà en place et les compagnies pétrolières sont prêtes et impatientes d'utiliser cette technologie.

Vos réactions

Top articles