OpenCL amadoue les trous noirs supermassifs

Arnaud de la Grandière |
Voilà un signe qu'OpenCL est en passe d'obtenir le statut de standard qu'Apple a clairement ambitionné pour lui en offrant sa technologie de GPU computing au Khronos Group : un groupe de chercheurs l'a mis à profit pour un modèle physique reproduisant les ondes gravitationnelles générées par des objets stellaires (tels qu'une étoile de la taille de notre soleil) en orbite déclinante autour de trous noirs supermassifs. Ces derniers (que la communauté scientifique dénomme EMRI : Extreme Mass-Ratio Inspirals, d'une masse souvent supérieure à un million de fois celle du soleil) se trouvent au centre de la plupart des galaxies, et dévorent avec appétit étoiles et autres trous noirs.

Un tel modèle est assez complexe à mettre en œuvre et nécessite une grande puissance de calcul, mais se prête particulièrement bien au calcul parallèle. Une tâche toute trouvée pour OpenCL qui se voue précisément à faire effectuer du calcul parallèle aux processeurs graphiques. Les chercheurs ont ainsi pu faire tourner le même code sur différentes configurations, grâce à la vocation universaliste d'OpenCL. Le résultat est sans appel : sur des processeurs de compétition (Cell Broadband Engine et Tesla), les performances sont plus de 25 fois supérieures à celles observées avec un CPU standard.

Les chercheurs notent que les performances sous OpenCL sont similaires à celles observées avec CUDA d'une part pour le processeur Tesla, et avec le Cell SDK pour le processeur du même nom, avec toutefois l'avantage significatif sur ces derniers de ne pas avoir à réécrire le code puisqu'il fonctionne sur toute architecture qui dispose d'un driver pour OpenCL.

Les machines utilisées pour ces tests sont un Blade System QS22 d'IBM doté de 2 processeurs Cell BE cadencés à 3,2 GHz et de 16 Go de RAM d'une part, et de l'autre d'une machine équipée d'un processeur AMD Phenom quad-core à 2,5 GHz et de 4 Go de RAM qui intégrait une carte NVIDIA C1060 Tesla CUDA. Les deux machines fonctionnaient sur Fedora Linux et exploitaient les bibliothèques OpenCL et les compilateurs livrés par les constructeurs.

skitched
Tags
avatar SuMyDi | 

Euuuh, je ne veux pas faire mon pointilleux, mais OpenCL permet de gérer aussi bien des archi multi-coeur que des GPU. En fait, cette techno permet de tirer parti de TOUS les processeurs présent dans un système que ce soient des GPU, CPU ou autres.

Enfin bon, voici une preuve que le système est viable et performant !

avatar Frodon | 

@SuMyDi

Je ne veux pas faire le pointilleux, mais c'est justement ce qui est mis en oeuvre par l'équipe scientifique dont il est question dans la news...

Les Cell BE sont des CPU (particulier, mais des CPU quand même) et le Tesla lui est un GPU.

avatar nodus | 

Les facteurs ne veulent rien dire. Qu'en est il des flops ?

avatar TotOOntHeMooN | 

Les Flops ne veulent rien dire non plus ...
Tout dépend du code assembleur généré et du type de calculs demandé.

Le graphique est clair et montre ce qu'on sait en gros déjà depuis 2 ans ; Une GPU fait au moins aussi bien que le Cell pour bien moins cher. Et ce n'est pas pour rien si IBM remet en question cette architecture aujourd'hui.

avatar Artanis | 

Dans la pratique pour ce genre d'applications, c'est quand même majoritairement du GPU ou du Cell. On a des tas d'autres technologies efficaces pour faire de la programmation parallèle sur CPU qui vont au-delà de ce qu'on peut faire avec OpenCL.
C'est quand même très encourageant, reste plus qu'à mettre les pilotes dans les Linux des machines de calcul, et faire des bindings Fortran :D

avatar SuMyDi | 

@Frodon
je me suis mal exprimé : ce que je voulais dire, c'est qu'en lisant l'article, on pourrait croire qu'OpenCL n'est dédié qu'aux GPU, alors qu'en effet, les Cell utilisés dans l'application décrites sont biens des processeurs.

avatar Le_iPodeur | 

L'autre question c'est : existe t'il des applications pour l'utilisateur lambda qui utilisent OpenCL ? J'aurais bien aimé m'en servir pour autre chose que juste du test.

J'avais espéré que Handbrake soit mis à jour, mais d'après l'équipe qui le développe, ce ne sera pas le cas sauf si les librairies utilisées sont adaptées elles mêmes.

avatar bluheim | 

@Toto :

[quote]Le graphique est clair et montre ce qu'on sait en gros déjà depuis 2 ans ; Une GPU fait au moins aussi bien que le Cell pour bien moins cher. Et ce n'est pas pour rien si IBM remet en question cette architecture aujourd'hui.[/quote]

Ben tiens, amusant. Deux CELL seraient donc plus chers qu'une Tesla à 1200$ épaulée par un quad-core AMD à plus de 100$ ? On se demande comment Sony fait pour caser un CPU à plus de 600$, un GPU, de la RAM et tout le reste dans une PS3 à 300$... ;o)

Au contraire, cette étude prouve clairement que le CELL est une architecture fantastique, capable de rivaliser, pour des coûts nettement inférieurs, avec des solutions basés sur des GPU professionnels.

avatar Shralldam | 

Tin… Tiiiin-din…

Supermassive Black Hole!

Tin…Tiiin-din…

Sup…

Euh, désolé, je sors.

avatar Gimli fils de Gloin | 

Je viens de lire l'article, utilisant moi aussi CUDA et bientôt Open CL pour des codes de calcul scientifique en électromagnétisme. On va passer les détails mathématiques liés à la simulation numérique pour la relativité générale, mais cet article peut aussi servir d'exemples à des développeurs agissant dans de tout autres domaines (biologie, météo ... tout ce qui exige des ressources de calcul importantes)

Open CL est une généralisation de CUDA. Si vous connaissez ce dernier, vous apprendrez très très vite ce dernier. NVIDIA fait d'ailleurs partie du consortium Khronos. Ceci étant, sur des codes que j'ai testé, Open CL 1.0 est plus lent que les dernières versions de CUDA, qui avance toujours chez Nvidia. Mais d'ici quelques mois avec le soutien d'acteurs majeurs du monde du HPC, OPen CL devrait faire une importante percée d'abord chez les organismes de recherche puis chez les industriels.

En tout cas, le domaine du HPC est passionnant. Bien dommage que les jeunes ingénieurs soient plus attirés par les maths financières que le calcul scientifique.

avatar Gimli fils de Gloin | 

Aux détracteurs du Cell : il y'a chaque année de nouvelles versions du Cell. La dernière, Power Cell X8, permet de franchir le "memory wall" : c'est adire que les accès mémoires, le goulot d'étranglement que constituent ceux ci, ne pénalisent pratiquement plus les temps de calcul. le Cell est un processeur hybride à mi chemin entre un CPU classique et un GPU par son architecture. Et c'est le seul dont les mécanismes de gestion des caches permet d'atteindre en pratique presque 100% des performances théoriques.

Ceci etant pour ma part je préfère les clusters hybrides à base de GPU et de CPU classiques : c'est moins difficile à programmer que le Cell. Même si bien sûr les étapes d'optimisation de transfert entre mémoires device et host compliquent quelque peu le tout sur des gros codes.

avatar Macleone | 

[quote]En tout cas, le domaine du HPC est passionnant. Bien dommage que les jeunes ingénieurs soient plus attirés par les maths financières que le calcul scientifique.[/quote]

Encore faudrait-il qu'il en entendent parler. Il y a plus d'école qui ont choisies du VB.Net plutôt que de la programmation pour processeur vectoriels dans leur cursus. Et je suis d'accord pour dire que c'est bien dommage.

avatar Artanis | 

@Gimli
CUDA a un peu d'avance sur OpenCL encore, mais ça devrait se combler assez rapidement. Les calculateurs hybrides ont des avantages sur les machines Cell, même si c'est un processeur excellent. Je ne pense pas qu'il réussira à s'imposer malgré ses qualités. Les GPU, et notamment Fermi, ont des architectures mémoires assez poussées aussi, et qui progressent énormément. Sinon je suis d'accord, c'est un bon moment pour faire du HPC...

avatar MixUnix | 
avatar Oliange | 

Ca fait plaisir de lire des posts comme ça Gimli ça change ! :) C'est moins sec et ça donne plus envie de lire quand tu nuances.
C'est clair que la mode est aux maths financiers.

Le CELL est un bon proc mais Intel est difficilement attaquable..

avatar françois bayrou | 

"On se demande comment Sony fait pour caser un CPU à plus de 600$, un GPU, de la RAM et tout le reste dans une PS3 à 300$... ;o)"

... En la vendant à perte ?

avatar foudeapple | 

ben ça ne booste pas mon vieux macpro 2,66 Ghz. Ok je sors !

CONNEXION UTILISATEUR