Metal n’est pas encore au niveau d’OpenCL

Nicolas Furno |

Même si macOS Mojave sera toujours fourni avec OpenGL et OpenCL, Apple a été très clair : l’avenir est à Metal et c’est cette API dédiée à la carte graphique que les développeurs doivent utiliser en priorité. Du côté d’OpenGL, Metal a déjà fait ses preuves en offrant des performances souvent bien meilleures, notamment dans les jeux qui ont été optimisés pour la technologie d’Apple. En revanche, on manque encore de recul pour OpenCL, mais les premiers tests ne sont pas encourageants.

Rappelons tout d’abord qu’OpenCL est une API qui permet d’effectuer des calculs en profitant de toutes les ressources d’un ordinateur, processeur et carte graphique. Cette technologie a été lancée à l’initiative d’Apple pour Snow Leopard, mais c’est un standard au même titre qu’OpenGL. Problème, Nvidia a boudé ce standard au profit de CUDA, ce qui a in fine privé OpenCL d’une présence aussi large qu’escompté.

En 2018, OpenCL est malgré tout utilisé par plusieurs apps professionnelles, dont DaVinci Resolve 14 (un outil de rendu vidéo) qui présente l’intérêt supplémentaire de fonctionner également avec Metal. Cela fait de ce logiciel un candidat idéal pour comparer les deux technologies et c’est précisément ce qu’a fait le site Barefeats. Le bilan n’est pas très favorable au nouvel entrant : sur tous les tests, OpenCl a fait mieux que Metal, parfois même deux fois mieux.

Le test a été mené sur un iMac Pro octocore équipé de la carte graphique haut de gamme, une AMD Pro Vega 64, et relié pour certains tests à une ou deux cartes graphiques externes, des Vega Frontier. Pour chaque configuration, un effet qui nécessite un calcul important a été appliqué sur un même fichier, en utilisant OpenCL et Metal successivement.

Résultats des tests menés par Barefeats. À l’exception des deux derniers du tableau, tous les tests ont été réalisés avec un iMac Pro et jusqu’à trois cartes graphiques AMD de dernière génération.

Les résultats parlent d’eux-mêmes, mais dans le détail, on note qu’OpenCL creuse l’écart en multipliant les cartes graphiques. Avec trois cartes utilisées en même temps, le rendu est presque deux fois plus rapide qu’avec Metal, ce qui est une différence très significative. C’est moins visible avec une seule carte graphique, par exemple celle fournie avec l’iMac Pro, où il n’y a plus qu’un petit écart entre les deux technologies. À l’heure où Apple met en avant la possibilité d’utiliser des cartes graphiques externes pour obtenir de meilleures performances, ce constat tombe d’autant plus mal.

C’est une mauvaise nouvelle pour Metal, mais il convient de la relativiser. OpenCL est née il y a une dizaine d’années alors que Metal a tout juste quatre ans, et l’API n’a pas été créée pour les calculs parallèles. Apple a probablement une belle marge de manœuvre pour optimiser le nouveau venu et si Mojave n’a pas retiré OpenGL et OpenCL, c’est bien qu’il y a une raison. Il faudra refaire le point sérieusement quand Metal deviendra la seule technologie vraiment disponible sur macOS.

avatar Pepoto | 

Il faudra surtout refaire un point avec daVinci 15 qui accueille Fusion en son sein, un espace de travail 3D de très haut vol (compositing, incrustation, tracking, peinture vectorielle, particules, etc.), et pour lequel ils ont annoncé un gros travail d’optimisation graphique avec Metal (et CUDA).

Donc, de la part de Barefeats, il aurait été plus intéressant (et parlant) d’attendre la fin de l’été et une version définitive de daVinci 15 (et de macOS Mojave) pour faire un billet sur Metal. D’ailleurs, ils le reconnaissent eux même à la fin de leur article...

DaVinci 15 est déjà dispo en version beta pour ceux qui souhaitent se faire déjà une idée.

avatar Amnesiak | 

Faudrait savoir comment ils comparent les deux. OpenCL et Metal sont des interfaces de programmation, donc qu'une solution soit plus performante qu'une autre pour une certaine tâche dépend non seulement du framework, mais surtout du programme qui est derrière... Est-ce que le programme qui utilise la version Metal a été aussi optimisé que celui qui utilise OpenCL ?
Et Metal a été conçu dès le départ pour être versatile et non pas orienté uniquement graphisme 3D.

avatar SyMich | 

Conçu pour être versatile??? ?
Rien que ça???

En gros il est conçu pour fonctionner comme ça lui chante. Un jour ça va, le lendemain ça ne fonctionne plus.

avatar pierre3453 | 

BRAVO ! Cet anglicisme stupide me fait aussi horreur !

avatar Amnesiak | 

Ben merci pour la bienveillance...
Comme beaucoup de personnes je pense, je ne savais pas que j’utilisais « versatile » avec un sens erroné. Et ce n’est pas le commentaire ironique qui me me l’a fait comprendre. Heureusement qu’un second commentaire mentionne que c’est un anglicisme.

avatar Pepoto | 

Ce qui est sûr, c'est que peu de logiciels sont optimisés pour Metal 2.
Blackmagic fait un boulot de dingue avec DaVinci ! A se demander si l'équipe de développeurs s'autorise des fois des vacances.
Même si CUDA a toujours donné de meilleurs résultats, on sent qu'ils avaient bossé l'optimisation OpenCL. Et ils viennent juste d'ouvrir le chantier Metal, dont la version 15 était sensé être plus aboutie, mais est pour le moment toujours en beta publique.

C'est pour ça que je trouve ces tests, fait avec la version 14, nuls et non avenus...
Aucun moyen de se faire un avis précis sur les efforts d'Apple avec une optimisation inaboutie de Blackmagic.
L'art de faire du buzz sur de l'à-peu-près...

avatar byte_order | 

@Amnesiak
> Est-ce que le programme qui utilise la version Metal a été aussi optimisé
> que celui qui utilise OpenCL ?

Alors que c'est la même hardware derrière, mais le code du compute shader doit être écrit 2 fois et compilés par 2 chaines de compilation différentes, tu m'étonnes que cela donne des résultats différents :
- soit le code du compute shader pour Metal est pas autant optimisé que celui pour OpenCL
- soit l'étage de compilation du shader de Metal n'est pas autant optimisé que celle pour OpenCL.

Je penche pour les 2 à la fois, perso, ce qui est inquiétant car au final, autant le développeur peut faire quelque chose pour le premier (mais au prix de devoir maintenir 2 implémentations du même calcul dans 2 langages de compute shader, juste parce que Apple a n'a voulu être compatible avec autre chose que leur techno...), autant pour le second point, c'est dans les mains d'Apple et de la bonne volonté de AMD.

Comme AMD a probablement d'autre chat à fouetter que d'optimiser leur étage de compilation de Compute Shader pour Metal, qui pèse pas grand chose dans leur PDM, et comme ils ont un accord d'exclusivité avec Apple ils craignent même pas la concurrence au sein de cette PDM très réduite sur mac... je donne pas beaucoup d'espoir sur ce plan non plus.
Et Apple ne peut pas le faire sans avoir une totale connaissance de la cible GPU derrière, qu'elle a fatalement (nettement) moins que AMD.

Metal sur macOS et sur iOS sont 2 marchés sans concurrence pour les GPU. Et donc sans concurrence pour la qualité des pilotes de ces GPU.

Sans concurrence, pas d'incitation à faire mieux que la concurrence, mais également peu d'incitation à faire mieux que ce que l'on fait déjà.

Faut d'abord qu'un lièvre ait le droit de courir sur la même piste que vous pour vous inciter à faire des efforts pour le rattraper...

Pourquoi Apple ou AMD le ferait, alors que l'argent rentre déjà sans avoir besoin de le faire ?

Si vous voulez profiter des bienfaits de la course à la performance, n'achetez pas un ticket d'entrée à une piste où une seule voiture à le droit de courir.

La diversité, c'est le premier moteur du progrès, et c'est pas par hasard, c'est parce que c'est le premier moteur de la compétition, tout simplement.
Sans diversité, vous êtes condamné à accepter ce que l'unique concurrent vous propose comme performance.

avatar thunder72fr | 

Je ne suis pas professionnel, mais j'ai plusieurs questions pour ceux qui le sont:

- Pour le ptit pro, attendre l'évolution de Metal ( et accessoirement Cuda & Opencl qui ne va pas disparaitre de suite) avec un Mac Pro 2009-2012 gonflé / upgradé à fond (Genre installer Volta ou Navi si compatible plus tard) , est il encore gagnant ou doit il passer à la caisse pour du materiel neuf dont les prix explosent et l'évolutivité diminue?

- Aussi les Mac Pro 2009-2012 sont ils encore recherchés?

- Quel est le meilleur investissement à faire côté matériel suivant l'évolution et les promesses d'Apple , des éditeurs de softwares, des fabriquants d'hardwares, pour les 2-3 ans à venir?

avatar Un Type Vrai | 

"suivant l'évolution et les promesses d'Apple" : Aucun

Je ne vois pas comment on peut baser ses besoins sur une éventuelle sortie d'un éventuel produits dans un temps mal déterminé.

Il faut regarder ses besoins et ce qu'il existe sur le marché.
Et ne pas avoir peur des alternatives, parce que faire un choix, c'est certes se priver de la liberté de choix, mais c'est aussi évoluer...

avatar oomu | 

si vous tenez à rester sur Mac, trouvez un mac pro 2009-2012 d'occasions et gonflez de ssd, ram et gpu nvidia.

le mac pro fin 2013 en 2018 aux prix de 2013 est hautement absurde. Pourquoi pas en occase si le tout AMD ne vous dérange pas. Ne comptez pas sur du e-gpu sans du serieux hack.

-

"- Quel est le meilleur investissement à faire côté matériel suivant l'évolution et les promesses d'Apple , des éditeurs de softwares, des fabriquants d'hardwares, pour les 2-3 ans à venir?"

sur 2-3 ans ? On en sait rien, car Apple ne communique sur rien de concret. Rien. Le néant.

Je recommanderai d'investir sur du mac pro d'occasion ou d'arrêter de se prendre la tête et acheter du PC.

avatar byte_order | 

Voilà.
Du coup, la première question à se poser c'est avez-vous vraiment besoin de macOS ou si c'est une conséquence d'avoir besoin d'un logiciel disponible uniquement sur macOS.
La seconde question c'est de vous demandez si vous pourriez changer pour un autre logiciel.

En fonction des réponses, devoir regarde l'offre d'Apple, en neuf comme en occasion, se pose... ou ne se pose pas.

Si votre besoin c'est de faire du FCP ou si votre besoin c'est de faire de la production vidéo, pas forcément avec FCP, cela change pas mal les choix possibles par exemple.

avatar Un Type Vrai | 

Un jour, les gens comprendront qu'un benchmark ne permet pas comparer la puissance de deux plateformes différentes.
Le but d'un benchmark est de montrer sur UNE plateforme données les endroits à optimiser en priorité.
Ceci explique pourquoi un benchmark d'une application s'améliore sur le même hardware au fur et à mesure des versions du logiciel.
Autrement dit, si Barefeats passe 2 ans à optimiser grave pour Metal et laisse tomber les optimisations OpenCL, Metal passera devant OpenCL haut la main et ceci sur le même hardware.

Donc pour conclure, le benchmark, c'est bien quand c'est compris et utilisé dans son unique but...

Et pour la mise en perspective, si jamais une plateforme AUSSI PERFORMANTE SOIT-ELLE n'est pas rentable pour un éditeur, il ne fera AUCUN effort pour les optimisations (voir même sa simple présence).
Il suffit de voir les applications Windows/Mac OS qui n'existent pas sur Linux (trop peu de marché comme poste bureautique) ou encore Androïd / iOS jamais portée sur Windows Phone.

Donc si Barefeats a plein de clients Mac et que les clients ailleurs (Windows, linux ...) utilisent en grande majorité CUDA OpenCL aura en quelques années de sales performances sur DaVinci Resolve...

avatar oomu | 

La seule chose qui compte est de savoir à un moment donné quelle est la technologie la plus performante et à quel prix pour un travail donné.

On investit en fonction de cela et éventuellement choisir une plateforme pour 5 à 10 ans, pour éviter de chambouler des employés ou tout son workflow, si on est indépendant, trop souvent.

Pour l'heure, Metal est immature en pro, peu d'offres, peu de perfs. Si je devais absolument conseiller aujourd'hui à la seconde près, je dirai de se focaliser sur Cuda, ou à la rigueur OpenCl, selon les logiciels demandés.

avatar Pepoto | 

Je suis plutôt d'accord mais les raisonnements en terme de priorité de développement ne sont pas toujours économiques. Surtout si on parle de Blackmagic et d'Apple, qui sont deux sociétés avec le même modèle économique : elles gagnent de l'argent sur la vente de matériel, très peu sur le logiciel.

DaVinci (développé par Blackmagic, pas Barefeats qui est juste un site) développe justement DaVinci sur macOS, Windows et Linux CentOS. Donc, pour le coup, on peut faire des comparaisons, puisqu'ils développent chaque plateforme avec application et sérieux, les versions Centos et Windows étant optimisées CUDA.

La version CentOS a toujours été la plus puissante... jusqu'à ce que la version Windows fasse à peu près jeu égal ces dernières années. Le surplus de puissance vient principalement de la multiplication possible des cartes GPU, notamment sur des SuperMicros qui sont les bécanes hautement recommandées par Blackmagic.

Bref, tout ça pour dire qu'on peut justement se servir de Da Vinci pour faire des comparaisons entre différentes technos GPU, voire entre différentes plateformes, puisqu'ils font un travail de développement sérieux. Encore faut il faire ça au bon moment avec les bonnes versions.

avatar cv21 | 

Merci pour les indications, d'après les vidéos de la WWDC Métal semble encore en chantier "au sens positif" du terme. Côté appli, FCPX était, je crois, optimisé OpenCL et tout est à refaire. Qu'il y est des avantages/inconvénients c'est valable pour tout mais pour une fois la ligne est claire et "simple" : chez Apple, Metal.

avatar SyMich | 

La ligne est claire et simple... jusqu'au prochain revirement!

avatar byte_order | 

OpenCL était une technologie poussée par Apple aussi. La ligne était claire avant, le MacPro 2013 a même été globalement conçu autour de cette vision.

Etait, car cela contrarie désormais sa stratégie autour de Metal : le retour du NIH.

avatar webHAL1 | 

@byte_order
« [...] le retour du NIH. »

Oui, c'est quelque chose qu'on constate de plus en plus ces dernières années, et je pense qu'on peut légitimement s'en inquiéter. :-/

NIH: https://fr.m.wikipedia.org/wiki/Not_invented_here

avatar Pepoto | 

OpenCL était proposé comme un standard ouvert par Khronos Group. Apple l'a supporté dans les deux sens du terme.
Nvidia a fait bonne figure en sortant viteuf quelques pilotes mais, dans les faits, lui a clairement tourné le dos pour privilégier sa techno maison.

Metal, pour le coup, est vraiment une techno Apple.

avatar byte_order | 

@Pepoto
Euh, c'est une revision de l'histoire.

OpenCL a d'abord été une techno Apple - qui en a d'ailleurs la marque déposée - présenté courant 2008 avec Snow Leopard, et proposé dans la foulée par Apple pour devenir un standard du Kronos Group.

avatar Pepoto | 

@byte_order

Effectivement... Autant pour moi.
Dans le doute, j’avais pourtant vérifié sur le résumé d’accueil de la page Wikipedia... qui m’avait visiblement induit en erreur.

C’est certes une techno maison mais qu’ils ont très tôt proposée en standard ouvert et sur laquelle ils ont perdu le contrôle et le rythme du développement.

Rien à voir avec Métal, donc, qui est et restera une techno purement maison.

avatar thunder72fr | 

Je sais très bien qu'il ne faut pas s'arrêter à un benchmark, mais je posais les questions concernant l'état actuel en offres matérielles ou logicielles et dans un futur proche (Aussi bien dans l'environnement Apple qu'autre...)
Question subsidiaire: Est ce que les professionnelles arrivent encore espérer avec Apple?

avatar oomu | 

"Est ce que les professionnelles arrivent encore espérer avec Apple?"

il y a de nombreuses catégories de professionnels.

En ce qui me concerne, je n'en suis plus à l'espoir concernant le Mac mais au nihilisme. C'est mort.

Mon expérience professionnelle m'a montré que le Mac est à nouveau isolé dans le monde de l'éducation supérieure et station de travail grands comptes et PME.

-
Pour des domaines qui m'intéressent (graphisme/3D et logiciel libre/opensource/calcul), il y a encore le choix et plusieurs éditeurs de premiers plans qui continuent de mettre à jour leurs logiciels Mac.

avatar fte | 

@thunder72fr

"Question subsidiaire: Est ce que les professionnelles arrivent encore espérer avec Apple?"

Ça depend des pros ?

Ce que je connais et fréquente - de moins en moins - : les arts graphiques, vidéo et télévision, publishing, bref, les niches emblématiques du mac (hors musique). Et c’est pas rose. L’abandon est en marche.

Il y a plusieurs problèmes d’importance. Apple a foiré la gestion PDF. Le nivellement par le bas avec iOS est misérable. Apple est en train de foirer le support AppleScript, déjà problématique avec High Sierra, mort en l’état avec Mojave (autorisations utilisateur et limitations drastiques) - ça peut encore évoluer, mais je n’ai aucun espoir -. Le fiabilité de High Sierra pose de gros problèmes. Les achats de machines ne supportant que cette version sont bloqués chez une majorité de mes clients. Les machines elles-mêmes sont incohérentes et douteuses.

Il y a des PC "pour voir" un peu partout maintenant. Avec des gens qui bossent avec. Les PC "pour voir" deviennent des postes de travail...

Quant à moi, je suis passé de "je ne conseille pas" à "je déconseille vivement".

avatar Pepoto | 

@fte

Je configure régulièrement des stations de travail DaVinci 14 complexes macOS, Windows et CentOS de A à Z.
Et, pour les petites structures, qui n’ont pas de temps et de resources à dépenser en entretien, je conseille fortement... macOS sur un vrai Mac, (surtout pas un Hackintosh !).
Il y a certes un déficit de puissance largement compensé par la fiabilité de la machine, du simple fait qu’un Mac est une machine standard, avec peu de variantes et des bases matérielles solides. Donc facilement demerdables en cas pépin.

avatar en ballade | 

. il convient de la relativiser. OpenCL est née il y a une dizaine d’années alors que Metal a tout juste quatre ans, »

Euh une api récente devrait être moins performante qu’une ancienne ? Logique Appl€?

avatar Mike Mac | 

Voilà qui me fait penser que Davinci Resolve 15 n'a pas eu droit à un article de présentation sur Macge. Idem pour la 14 en son temps. Pourtant, l'inclusion de Fairlight il y a un an, puis de Fusion aujourd'hui fournissent une belle matière.

C'est quand même bien plus intéressant que les rivalités feuilletonnesques Apple, Samsung pour ne prendre que cet exemple, sauf à préférer la clientèle TF1 à celle d'Arte. Ah le couplet Apple n'intéresse plus les pros sur lequels spéculent les sites spécialisés Mac en creusant la tombe à la pelleteuse des oublis majeurs.

Pourtant, il y a bien d'autres domaines d'incompétences où certains savent faire du copier-coller...

avatar Pipes Chapman | 

@Mike Mac
Quote : "Voilà qui me fait penser que Davinci Resolve 15 n'a pas eu droit à un article de présentation sur Macge. Idem pour la 14 en son temps." (sic)

attention ce qui va suivre va te demander un peu de capacité intellectuelle... tu es prêt ?

MacGénération n'est pas un site de vidéo pro... et ce n'est pas "BlackMagic Génération" non plus...

tu commences à comprendre ?

avatar byte_order | 

Alors pourquoi MacG a parlé des derniers plugins de FCP X, ou du support du Prores RAW ?!

C'est pas AppleGeneration, mais MacGeneration.
S'ils parlent d'applications de vidéo pro comme FCP, pourquoi pas d'autres que FCP ?

avatar Pipes Chapman | 

@byte_order

ben justement on reste dans l'orbite spécifique Mac ! avec les ProApps Apple = CQFD. Merci de confirmer ce que je dis. (en fait)

faites vos propres groupes de discussion pour... dieu sait quoi, le web est vaste

avatar jean512 | 

Il serait interessant de montrer aussi les résultats d'une comparaison entre Metal et OpenGL

avatar Mrpantaloon | 

Ces benchmarks ne veulent rien dire, OpenGL et OpenCL sont des API, pas des implémentations

Tout ce que ça met en évidence c’est que l’implémentation d’opencl est plus efficace sur macOS que métal, métal peut très bien dépasser OpenCL sans aucune refonte de l’api

avatar byte_order | 

@Mrpantaloon
Ce que cela démontre c'est que *actuellement* l'implémentation *actuelle* d'OpenCL sur macOS permet des performances supérieurs qu'en passant par l'implémentation *actuelle* de Metal sur ce même macOS, le tout sur la même machine.

Après, on peut toujours faire des paris sur l'avenir.
Mais les gens - parfois - ils aiment bien être pragmatiques, et regarder le présent plutôt que
de faire des paris (couteux, parfois) sur l'avenir.

avatar Mrpantaloon | 

Et d’ailleurs y’a aussi l’implémentation du test qui rentre en jeux on a accès au code source du benchmark ?

avatar byte_order | 

Le code source du reducteur de bruit de Resolve n'est pas public, donc non.

avatar Mrpantaloon | 

@jean512
Sur macOS pas vraiment, l’implémentation d’opengl est tellement mauvaise que cela n’a aucun intérêt et qu’il est évident que métal sera plus performant

avatar LIFEPROD | 

Moi pour le moment sur mon macbook pro mi 2014 avec une nvidia 750 M et high sierra ,j ai toujouts le message d'erreur de cuda au démarrage je suis vraiment dégoûté que le cuda ne soit plus gerer

CONNEXION UTILISATEUR