Fermer le menu
 

OpenCL : Nvidia tourne le dos à la technologie d'Apple

Stéphane Moussie | | 09:30 |  92
Si Nvidia a sauté sur OpenGL 4.4 en publiant dès l'annonce de sa ratification des pilotes Windows et Linux le prenant en charge, le constructeur ne montre pas le même empressement concernant les dernières évolutions d'OpenCL. Pendant ce temps-là, la technologie initiée par Apple évolue et va occuper une place cruciale dans le nouveau Mac Pro.

Stand du Khronos Group au salon Siggraph en 2009 - Photo Khronos Group CC


Pour mémoire, OpenCL est une technologie qui permet de confier des tâches de calcul à la carte graphique (GPU) notamment. On nomme ce fonctionnement GPGPU, pour General Purpose Graphical Processing Unit. OpenCL, qui est un standard ouvert initié par Apple et supervisé par le consortium industriel Khronos Groupe, n'est pas seul sur ce créneau. En 2007, avec l'arrivée des GeForce 8, Nvidia sort la première version de CUDA, sa technologie de GPGPU maison et la réserve à ses produits. Quatre ans plus tard, alors que CUDA est déjà réputé, le constructeur ouvre son code. Cette ouverture n'a cependant pas élargi la prise en charge de la technologie hors des produits de Nvidia, puisqu'AMD préfère se concentrer sur OpenCL.

En septembre dernier, nous rapportions que Nvidia avait tenté de décourager certains éditeurs d'utiliser OpenCL pour leur faire adopter sa solution maison. L'entreprise avait aussi retiré toute sa documentation de son site.

Près d'un an plus tard, la situation a très peu évolué. Certes, la documentation est revenue, mais elle concerne des produits vieux de plusieurs années. L'OpenCL programming guide de Nvidia, le manuel de référence, n'a pas été mis à jour depuis 2009 et le forum dédié n'est toujours pas réapparu sur le site développeur — résultat, les sujets sur OpenCL sont noyés dans le forum portant sur CUDA.

Concernant ses cartes graphiques, Nvidia semble en être resté à la prise en charge d'OpenCL 1.1 pour la quasi-totalité d'entre elles. Sur les fiches des pilotes, soit le constructeur n'indique pas quelle version d'OpenCL est prise en charge, soit il indique qu'il s'agit de la version 1.1 qui est finalisée depuis juin 2010. Ses pilotes compatibles OpenCL 1.1 sont arrivés un an après ceux d'AMD. L'exception semble être certains modèles de GeForce GT 7xxM, des cartes pour ordinateur portable, dont les fiches mentionnent OpenCL 1.2.

De plus, certaines fonctions propres à OpenCL de l'outil Nsight ne marchent pas et les bugs OpenCL soumis à Nvidia ne sont pas corrigés, nous a confié un ingénieur très au fait des technologies de GPGPU qui a souhaité conserver l'anonymat. Nvidia compte-t-elle abandonner cette technologie pour mieux imposer CUDA ? Le constructeur a en tout cas brandi cette menace de l'abandon auprès d'une grande société de développement à la fin de l'année dernière pour influer sur son choix. L'absence de mention d'OpenCL pour Logan, le successeur du Tegra 4 qui est présenté comme le pendant mobile des GeForce Titan, est aussi éloquente. Difficile de savoir s'il s'agit d'un retrait progressif ou bien d'une communication qui omet délibérément OpenCL pour mieux mettre en avant CUDA. Nous avons contacté Nvidia et attendons une réponse.



Un peu de CUDA dans OpenCL 2.0



Le Khronos Group a annoncé hier les spécifications provisoires d'OpenCL 2.0 qui seront ratifiées d'ici six mois. Cette version introduira de vraies avancées fonctionnelles, dont certaines sont déjà présentes dans CUDA. C'est le cas du parallélisme dynamique (dynamic parallelism), qui permet de lancer de nouveaux trends directement depuis le GPU, et de l'espace d'adressage générique (generic address space), qui permet d'écrire des fonctions sans avoir à spécifier un espace d'adressage spécifique. Parmi les autres nouveautés, on peut citer la mémoire virtuelle partagée, qui évite des copies et duplications explicites entre le GPU et CPU, et la meilleure prise en charge d'Android.

Mavericks apporte la prise en charge d'OpenCL 1.2 (la version finale actuelle) et d'OpenGL 4.1. Apple sera donc à jour sur OpenCL — mais la version 2.0 arrivera rapidement après la sortie d'OS X 10.9 —, mais restera en retrait concernant OpenGL dont la version 4.3 est disponible depuis l'année dernière. Est-ce pour autant un problème ? Cela dépend pour qui. Généralement les logiciels qui utilisent les dernières nouveautés d'OpenGL sont surtout des jeux. La version 4.4 facilite notamment le portage d'un jeu créé avec Direct3D. Si Apple veut accueillir plus de jeux sur Mac, elle sait donc ce qui lui reste à faire.

Pour le reste, aussi bien pour OpenGL que pour OpenCL, les développeurs font face à une fragmentation logicielle et matérielle qui ne les encourage pas à adopter immédiatement leurs dernières fonctions. Pour ces développeurs-là, le fait que Mavericks soit « en retard » n'est pas un handicap, au moins à court terme.

Là où on attend Apple, c'est sur iOS. OpenCL permettrait aux applications les plus lourdes de tirer parti du processeur graphique du terminal. D'autant que les GPU des derniers iPhone, iPad et iPod touch prennent en charge OpenCL 1.1.



L'autre sujet chaud, c'est le nouveau Mac Pro. En miniaturisant et en fermant la machine, Apple ne permettra plus d'utiliser facilement le GPU de son choix. Une décision accompagnée d'un second choix, AMD comme fournisseur de carte, qui écarte CUDA du Mac Pro pour de bon. Le nouveau Mac Pro est clairement pensé pour OpenCL.

Dans notre appel à témoins sur la nouvelle tour d'Apple, vous avez été plusieurs à nous indiquer que les performances avec OpenCL conditionnaient votre achat. Grant Petty, le PDG de Blackmagic Design, qui a pu essayer un prototype, a déclaré qu'il était impressionnant et il a laissé entendre qu'il y avait encore des surprises du côté d’OpenCL. Quant à David McGavran, responsable de Premiere Pro chez Adobe, il a également rassuré les utilisateurs qui s’inquiétaient du choix de cartes graphiques AMD qui ne supportent pas les instructions CUDA. « Les applications Creative Cloud fonctionnent avec les technologies OpenCL sur les cartes AMD », a-t-il déclaré (lire : Le Mac Pro a convaincu les pros). Le nouveau Mac Pro et OpenCL vont-ils tenir leur promesse ? Réponse d'ici la fin de l'année.
Catégories: 
Tags : 

Les derniers dossiers

Ailleurs sur le Web


92 Commentaires Signaler un abus dans les commentaires

avatar robrob 26/07/2013 - 14:53

@beber Pour l'instant OpenCL n'est pas dispo sur les mobiles. Ce serait d'ailleurs bien qu'Apple mette un SDK a disposition sur iOS. Pour CUDA c'est vraiment un usage pour les besoins de puissance tres pointus donc l'interet sur mobile est faible par rapport a OpenCL. Potentiellement ca peut donner quelques applis sympa sur Android avec la version optimisee CUDA d'OpenCV. Mais a part ca ca risque d'etre tres limite. En revanche sur ordi, CUDA a encore pas mal de sens pour beaucoup d'applications.

avatar Benz Hine 26/07/2013 - 14:53

@ robrob C'est peine perdue….ta pédagogie est louable..mais vaine. ces gens là sont aveuglés.

avatar saji_sama 26/07/2013 - 15:04

@Benz Hine C'est toi qui es aveuglé par la vérité, arrêtes de troller sur chaque news sans aucunes argumentations....


avatar Benz Hine 26/07/2013 - 15:07

Quelle vérité ? Tiens fais nous rêver. Quelle vérité ? :) On attend !

avatar Benz Hine 26/07/2013 - 15:12

La seule vérité concernant OpenGL et Mavericks c'est que les perfs sont toujours à la ramasse face aux autres plateformes y compris Linux…Et je t'avais filé le lien mais tu as fait semblant de l'ignorer.

avatar Bungie 26/07/2013 - 15:25

http://rk.md/2013/opengl-osx-mountain-lion-vs-mavericks/

avatar saji_sama 26/07/2013 - 15:26

Benz Hine [26/07/2013 14:12] "Et OpenGL c'est surtout pour les jeux" - On voit bien que tu ne maitrises pas du tout ton sujet mon pauvre ami… Si tu le dis on te crois ;) Vous imaginez des types, qu'on a flatté en leur offrant le privilège de tester en avant première une machine Apple, dirent : "ouais on a testé, ben c'est de la merde en barre….pas évolutive et avec des perfs correctes sans plus". Troll inside ou bien? La vérité c'est que justement CUDA est a la ramasse justement comme l'est Flash parce que c'est un format propriétaire, et pour les calculs GPGPU, les AMD sont souvent devant (Boinc, Bitcoin Minning etc) parce que les ATi ont souvent beaucoup plus de stream processors que les Nvidia, et que ca coûte toujours moins cher parce que Nvidia applique une politique de prix premium comme Asus pourrait le faire. Donc quand Apple veut se débarrasser de Nvidia en optant pour d'autres fournisseurs comme AMD et intel (Fire pro, HDx series), et bien Nvidia se la joue solo en continuant de développer sur CUDA, sauf qu’évidement c'est nuisible pour les consommateurs surtout pro, la ou la part de pro est plus importante sur Mac pour les besoins en calculs et rendu 3D, on a vite vu le coup de mou de Nvidia il a quelques temps, donc pour le grand public (gaming) CUDA ne sert a rien et OpenGL fait clairement le taff, et pour les pros OpenCL fera bien mieux que CUDA, surtout en puissance de calculs bruts et avec le nombre plus importants de stream processors, c'est donc pas anodin qu'Apple est choisi AMD pour son Mac Pro. Comme on dit CQFD...

avatar Anonyme (non vérifié) 26/07/2013 - 15:27

@Benz Hine "C'est peine perdue….ta pédagogie est louable..mais vaine. ces gens là sont aveuglés." Ayé ! Revoilà notre roquet baveur ! :-) Peine perdue ? Pourquoi ? Quelle peine tu te donnes toi ? A part de montrer ta soit disant connaissance du sujet ? Tu veux qu'on te croit sur parole ? Robrob n'est pas d'accord et il explique , Il donne des arguments , Fait part de ses connaissances . Ne te fait pas artificiellement son acolyte . Il fait passer son savoir aux autres et il discute, ce que tu es incapable de faire ici. tu viens pour quoi ? Pour seulement dire qu'on y connaît que dalle ? Que tu es le meilleur q, Sans plus ? Va falloir être plus démonstratif , sinon tu peux rester coucher .. Et Tu peux aller faire ta demo bidon avec tes amis .. Mais peut être que tu es simplement INCAPABLE d'expliquer clairement aux autres ce que tu connais . Effectivement avec cette limite je comprend mieux tes interventions ici . Mais du coup , comment veux tu qu'on te croit quand tu interviens ? Vu que tu ne prouves que dalle .. Du vent ! Un pet sur une toile cirée ! Voilà ce que tu es, tout du moins ici . Je plains tes gosses si un jour tu en as et qu'ils vont te poser des questions bêtes et évidente . Va falloir mûrir un peu ... mais bon y'a pas de cours pour ça malheureusement pour toi. Âpre je sais ce que tu vas dire, que j'ai fait de la diarrhée verbale . Normal toi tu es un constipé verbal et ça commence à sentir ! :-)

avatar iapx 26/07/2013 - 15:31

Il y a un troisième joueur OpenCL, en sus d'AMD et nVidia: Intel. Intel supporte maintenant correctement OpenCL sur ses GPU intégrées, des GPU de plus en plus puissantes, et qui surtout couvrent plus de 80% du marché. nVidia s'isole en tournant le dos à OpenCL, et risque de payer un prix très cher, en dehors du domaine des centres de calcul où ils se sont taillé une belle place.

avatar Bungie 26/07/2013 - 15:32

Apple a bien fait de choisir ATI pour le MP oui, tout comme avoir "donné" OpenCL au groupe qui gère déjà l'OpenGL.

avatar Benz Hine 26/07/2013 - 15:35

@saji_sama, Donc tu approuves qu' "openGL" c'est surtout fait pour les jeux je cite ? OK. Tout est bien résumé :) Pour le reste quand on dit "supporter pleinement" des technos comme OpenCL ET OpenGL on fait en sorte d'abord d'offrir les dernières versions et pas 10 ans de retard et ensuite on offre des perfs qui se détachent de la concurrence… http://www.macg.co/news/voir/260627/opengl-sur-mavericks-du-mieux-mais-ubuntu-reste-devant Donc vous aurez beau détourner l'attention sur l'essentiel, il y aura toujours des contradicteurs sérieux pour vous mettre le nez dedans.

avatar robrob 26/07/2013 - 15:39

@saji_sama Houla alors sans vouloir etre embarque dans la gueguerre ici y a quand meme quelques trucs que je vais relever: "La vérité c'est que justement CUDA est a la ramasse justement comme l'est Flash parce que c'est un format propriétaire" CUDA n'est pas du tout a la ramasse. C'est dans les faits quasiment reserve aux cartes nvidia mais ca repond a un besoin precis de puissance brute, et dans ce cas je peux te dire que c'est loin d'etre a la ramasse. Et le fait d'avoir quelque chose de proprietaire n'est pas forcement mauvais. Apple a des tonnes de technos proprietaires, et elles ne sont pas toutes a jeter. ", et pour les calculs GPGPU, les AMD sont souvent devant (Boinc, Bitcoin Minning etc) parce que les ATi ont souvent beaucoup plus de stream processors que les Nvidia, et que ca coûte toujours moins cher parce que Nvidia applique une politique de prix premium comme Asus pourrait le faire." Il y a differentes raisons. Pour le bitcoin mining c'est surtout que les AMD sont optimisees pour le calcul integral, ce qui n'est generalement pas le point fort des cartes graphiques. Mais dans une utilisation de calcul intensif, CUDA est encore devant. Par contre ce qui est sur c'est qu'il y a eu de tres gros progres sur OpenCL. Quand j'ai commence a regarder OpenCL a sa sortie, on voyait que c'etait interessant mais pas encore tout a fait pret. Depuis ca a bien fait son retard. Et c'est clairement la solution d'avenir pour les systemes qui ne cherchent pas a extraire 100% de la puissance brute d'un materiel specifique. "et pour les pros OpenCL fera bien mieux que CUDA, surtout en puissance de calculs bruts et avec le nombre plus importants de stream processors," Pas vraiment non. Il y a des cas ou ce sera mieux, mais dans la majorite des cas CUDA est encore devant juste parce que tu tapes plus bas niveau. Ceci dit quand on parle puissance brute on parle meme de cartes sans sortie video, dediees uniquement au calcul. C'est de plus en plus present dans la finance.

avatar saji_sama 26/07/2013 - 15:41

@Benz Hine ET ALORS ?!! Tu compares deux OS différents, ca n'a absolument rien a voir avec le fait que CUDA soit moisi par rapport a OpenCL, et le fait que Nvidia se planque solo devant CUDA, et lache OpenCL alors que intel et AMD soient dessus, que Maverick est un retard sur OpenGL n'a rien a voir avec OpenGL en lui meme, et le retard se va se combler bien vite. Je dis juste qu'a terme CUDA sera derrière parce que Nvidia développe en solo en interne, là ou OpenCL est développer par tout les autres acteurs, donc l'union fera la force, et Nvidia sera forcer de lâcher CUDA parce que la demande sera plus importante sur OpenCl du fait de la concurrence entre AMD et Intel et le nombres de ventes cumulées, rien qu'a voir les PDM des HD series dans les configs. Pour les formats propriétaires c'est très différent dans le cas d'Apple, qui est toujours leader, il n'y a que le Firewire qui s'est fait distancer par l'USB, on voit bien le thunderbolt, qui devient un standard même sur les Cartes Meres PC haut de gamme, et quand on voit l’évolution de flash et de HTML5.

avatar robrob 26/07/2013 - 15:47

@iapx D'accord qu'ils vont finir par etre de plus en plus dans une niche. En revanche ce ne serait pas tres complique pour eux de supporter OpenCL, et ils pourraient donc suivre quand le vent tourne vraiment. Le probleme c'est qu'ils auront perdu un facteur differenciateur a ce moment.

avatar Stardustxxx 26/07/2013 - 16:21

@ saji_sama C bien joli mais CUDA ou OpenCL sur un mobile, tu fais quoi avec ? Pour le moment rien, car ca n'est meme pas supporte. Mais meme si ca l'etait, tu ferais quoi avec ? De la computer vision avec OpenCV ? nVidia pour sa part produit des cartes accelleratrice Tesla qui sont meme maintenant integrer a des super-ordinateur. Il y a un gros marché du cote du calcul scientifique. CUDA, OpenCL ca restera niche. Meme les developpeurs de jeux ne sont pas vraiment interesse par OpenCL car l'integration des compute shaders dans OpenGL et Direct3D permet quasi la meme chose. Et de plus OpenCL est supporte par nVidia, mais pas dans sa derniere version. On pourrait dire la meme chose de OS X avec OpenGL... nVidia essaye de promouvoir sa techno, et utilse les meme techniques que les autres (DirectX par ex), rien d'exceptionel.

avatar saji_sama 26/07/2013 - 16:26

@Stardustxxx Je n'ai pas parler de l’utilisation sur hardware mobile, il est evident que le mobile ne soit pas le coeur de cible de CUDA ou OpenCL, tout simplement parce que ca degage des temperatures élevées en charge donc la nécessité de ventilations.

avatar Macmmouth 26/07/2013 - 17:55

@saji_sama "Je dis juste qu'a terme CUDA sera derrière parce que Nvidia développe en solo en interne, là ou OpenCL est développer par tout les autres acteurs, donc l'union fera la force" Ah bon ? C'est l'essence même d'une technologie normalisée d'être à la traîne par rapport à une technologie propriétaire. Pour mettre tout le monde d'accord, il faut du temps, faire des compromis, s'inspirer des initiatives propriétaires. Tenter de normaliser les choses, c'est bien, mais par définition ça se base sur un état de fait et ça ne peut se faire qu'après des créations propriétaires.

avatar Orus 26/07/2013 - 18:07

Bon résumons : Comme d'habitude Apple est la ramasse sur les pilotes des cartes graphiques. Le futur Mac "pro" sera complètement fermé comme les autres produits Apple et ne pourra pas évoluer. Pas brillant.

avatar BenUp 26/07/2013 - 18:26

@Orus Tout à fait d'accord. De plus vouloir mettre dos à dos OpenCL et Cuda n'a pas de sens. Mais ici tu as une paire de Troll Pro Apple; ils le "dissent" c'est que c'est vrai hein !

avatar saji_sama 26/07/2013 - 18:26

@Macmmouth : Euh non c'est l'inverse qui va se produire c'est les technos propriétaire qui se font larguer par celles open source

avatar Djipsy5 26/07/2013 - 18:31

Une société comme Apple. Une merveille comme le MacPro. Tous deux handicapés par les pilotes graphiques. Faudra vraiment qu'Apple crée un écosystème solide qui travaille jour et nuit sur OpenCL. Car moi j'en peux plus d'entre les trolls des PC users comme quoi nos Mac ne sont bons qu'à surfer sur le web, ce qui n'est pas assez faux. Du coup cela décourage quelques éditeurs de jeux à développer pour Mac car ils auront des problèmes d'optimisations. Concernant les Intel HD Graphics qu'Apple met dans les MacBook Pro 13", les Mac mini, et le Air, je reste muet...

avatar Manu33 26/07/2013 - 19:03

@iolofato : si tu n'est pas content de tes outils, tu les changes. Car je doute que tu sois assez influent pour dicter à ces entreprises leur choix. Elles ont la liberté de proposer ce qu'elles veulent, en contre partie tu as la liberté de ne pas acheter leur produit s'ils ne te conviennent pas. Ce n'est pas pour défendre apple je m'en mais je trouve toujours le raisonnement que tu tiens curieux et plutôt totalitaire.

avatar petergab 26/07/2013 - 19:05

"Je suis toujours sur l'avis de Nvidia car les AMD est un peu moins bien depuis longtemps..." C'est quand même NVidia qui a envoyé à la poubelle de très nombreux Macs suite à la défectuosité d'un certain nombre de ses cartes... aussi bien sur iMac que sur les portables. Je préfère "un peu moins vite" que "plus vite" avec des composants qui claquent...

avatar lennoyl 26/07/2013 - 19:08

C'est clair. On s'en fiche royalement de l'openCL. C'est l'OpenGL qui est important. aussi bien pour les jeux sur mac que pour certains logiciels pro. Là, on voit que NVidia a mis à jour ses pilotes pour qu'ils intègrent la toute dernière version d'openGL 4.4 dès maintenant sur windows 8, windows 7 et windows Vista (sorti il y a 6 ans maintenant). sous mac osx, c'est Apple qui s'en occupe (je comprendrais jamais pourquoi) et on a droit à quoi ??? à la version 4.0 datant d'il y a deux ans, mais seulement avec mac OSX Mavericks. Mountain lion, c'est dépassé ma p'tite dame.

avatar W.B.M 26/07/2013 - 19:25

@saji_sama Alors si on écoute ta vision de ce qui est propriétaire , iOS est à la ramasse et larguer par rapport à android . Merci ;)

Pages