Premiers tests avec OpenCL

Christophe Laporte |
OpenCL est une jeune technologie très prometteuse. Afin d'avoir une idée du gain qu'est susceptible d'apporter cette nouveauté apparue dans Snow Leopard, Andreas Michalak a mis au point un logiciel appelé OpenCL Benchmark. L'intérêt de cet outil, c'est qu'il lance le même algorithme optimisé pour OpenCL deux fois : une fois avec le processeur, une autre avec le GPU.

Bien évidemment, le gain varie en fonction de la configuration de votre ordinateur. Ainsi, sur un MacBook Pro Unibody, le bench est effectué en 2,8 secondes lorsque l'on fait appel à la GeForce 9600M GT, en 3,08 secondes lorsque l'on fait appel à la GeForce 9400M et en 15,45 secondes avec un processeur Intel Core 2 Duo à 2,4 GHz. Sur cette configuration, le gain de performances est donc flagrant.

Sur un MacBook Pro Penryn doté d'une GeForce 8600M GT, le gain l'est beaucoup moins. Le GPU achève la tâche en 15,28 secondes alors que le processeur cadencé à 2,4 GHz l'effectue en 16,05 secondes.



On comprend mieux pourquoi Apple a réservé cette technologies aux dernières générations de GPU.

Sur le même sujet :
- Hydra est jusqu'à 2,5 fois plus rapide sous Snow Leopard
- Snow Leopard vs Leopard : tests de performances
avatar wolverine | 

salut
moi avec mon mac pro ca donne ca !

Number of OpenCL devices found: 2
OpenCL Device # 0 = GeForce 8800 GT
Device 0 is an: GPU with max. 1500 MHz and 112 units/cores
Now computing - please be patient....
time used: 0.689 seconds

OpenCL Device # 1 = Intel(R) Xeon(R) CPU E5462 @ 2.80GHz
Device 1 is an: CPU with max. 2800 MHz and 8 units/cores
Now computing - please be patient....
time used: 3.273 seconds

Now checking if results are valid - please be patient....
:) Validate test passed - GPU results=CPU results :)
logout

[Opération terminée]

avatar tmeritan | 

Vivement les premières applications qui en tireront parti

avatar biniou | 

Il faut voir comment c'est implémenté, mais avec Cuda j'avais des gains de performance bien plus important avec ma GeForce 8600 GT que le benchmark que vous avez passé.

avatar misterbrown | 

Si c est vrai et qu ils ont passé à la trappe l optimisation des 8600GT pour favoriser que les derniers GPU sur les derniers portable, je vais être énervé.

On dirait une sorte de prime à la casse ce Snow Léopard.

avatar alushta | 

Tiens, encore une application qui n'ont pas fini de traduire :o

avatar ispeed | 

Genre de test qui ne veut rien dire. Il faudra juger sur pièce

avatar françois bayrou | 

"Sur un MacBook Pro Penryn doté d'une GeForce 8600M GT, le gain l'est beaucoup moins. Le GPU achève la tâche en 15,28 secondes alors que le processeur cadencé à 2,4 GHz l'effectue en 16,05 secondes."

HUM !
Plus que la vitesse de calcul GPU vs. CPU .... L'important n'est il pas que le programme soit capable de s'executer sur le GPU, tout simplement ? la 8600M a beau être plus lente, tant qu'elle décharge le CPU c'est super, non ? Ou alors j'ai rien compris à l'avantage de l'openCL.
Parce que s'il faut un GPU plus rapide que le CPU ben on est pas sorti de l'auberge, avec les prochains CPU qui arrivent sur le marché :\

avatar Liam128 | 

A vue de nez je dirais que la 8600 GT ne profite purement et simplement pas d'OpenCL... Il n'y a donc rien à "comprendre" sur les choix d'Apple. C'est pas parce que c'est lent sur 8600GT qu'Apple a fait son choix, mais parce qu'Apple a fait son choix que c'est lent sur une 8600GT.

Évidemment ya de quoi s'inquiéter d'un probable retour aux Intel GMA l'année prochaîne après des tests pareils. La 9400M en a dans le ventre, mine de rien.

avatar shirm | 

Sur mon MacBook Alu Late 2008 (Core 2 Duo 2Ghz, NVidia 9400M 16 coeurs à 1.1GHz):
12.65 s sur GPU contre 25.517 s sur CPU.
Notoire donc.
Et comme l'a bien fait remarqué françois bayrou, quand bien même le gain ne serait pas significatif, cela libère le CPU de cette tache là, et il peut s'occuper d'autre chose pendant ce temps là. C'est déjà ça de pris ;)
L'algorithme (présenté dans le readme) est une addition vectorielle membre à membre:
c(i) = a(i) + b(i), le tout pour i allant de 0 à 4999.
Cet algo est assez "CPU friendly" (instructions SSE etc..) et j'ose espérer qu'il l'exécute plus d'une fois (voir meme plusieurs centaines de fois), parce que 25 secondes pour faire 5000 additions, ce serait un bond de 50 ans en arrière dans l'histoire de l'informatique!!!!
Bref, un test un peu plus complet serait le bienvenu (avec du calcul matriciel, si cher à l'image et la vidéo)!
(edit)
Je constate aussi un "freeze" général de 1 à 2 secondes au lancement du programme (compilation du programme à la volée???). Si ça freeze comme ça à chaque envoi de programme sur le GPU, ça risque d'être emm****. Ca donnerait un large avantage à Cuda qui lui, compile les kernels offline avec le reste du programme...

avatar RickDeckard | 

Sur Macrumors, les 8600GT font des aussi bons scores que le reste, le bench de la news est foireux.

Sur mon MB Late 2K8 C2D 2,4

Number of OpenCL devices found: 2
OpenCL Device # 0 = GeForce 9400M
Device 0 is an: GPU with max. 1100 MHz and 16 units/cores
Now computing - please be patient....
time used: 3.493 seconds

OpenCL Device # 1 = Intel(R) Core(TM)2 Duo CPU P8600 @ 2.40GHz
Device 1 is an: CPU with max. 2400 MHz and 2 units/cores
Now computing - please be patient....
time used: 15.065 seconds

avatar shirm | 

Quoi? Il y a une c****** dans le potage!
RickDeckard et moi avons la même GPU et les résultats varient du simple au quadruple!!!

Number of OpenCL devices found: 2
OpenCL Device # 0 = GeForce 9400M
Device 0 is an: GPU with max. 1100 MHz and 16 units/cores
Now computing - please be patient....
time used: 12.648 seconds

OpenCL Device # 1 = Intel(R) Core(TM)2 Duo CPU P7350 @ 2.00GHz
Device 1 is an: CPU with max. 2000 MHz and 2 units/cores
Now computing - please be patient....
time used: 24.028 seconds

avatar dipdip11 | 

...........................................................
.................. OpenCL Bench V 0.25 by mitch ...........
...... C2D 3GHz = 12 sec vs Nvidia 9600GT = 0,93 sec ......
... time results are not comparable to older version! .....
...........................................................

Number of OpenCL devices found: 2
OpenCL Device # 0 = GeForce 8800 GS
Device 0 is an: GPU with max. 1250 MHz and 64 units/cores
Now computing - please be patient....
time used: 0.933 seconds

OpenCL Device # 1 = Intel(R) Core(TM)2 Duo CPU E8435 @ 3.06GHz
Device 1 is an: CPU with max. 3060 MHz and 2 units/cores
Now computing - please be patient....
time used: 12.124 seconds

J'ai hâte qu'ils sortent des programme codés pour OpenCL ...

avatar jabial | 

8600M = très bon résultat au contraire. La carte testée par le rédacteur n'aurait-elle pas un problème?

...........................................................
.................. OpenCL Bench V 0.25 by mitch ...........
...... C2D 3GHz = 12 sec vs Nvidia 9600GT = 0,93 sec ......
... time results are not comparable to older version! .....
...........................................................

Number of OpenCL devices found: 2
OpenCL Device # 0 = GeForce 8600M GT
Device 0 is an: GPU with max. 940 MHz and 32 units/cores
Now computing - please be patient....
time used: 2.953 seconds

OpenCL Device # 1 = Intel(R) Core(TM)2 Duo CPU T7700 @ 2.40GHz
Device 1 is an: CPU with max. 2400 MHz and 2 units/cores
Now computing - please be patient....
time used: 15.977 seconds

Now checking if results are valid - please be patient....
:) Validate test passed - GPU results=CPU results :)
logout

avatar MrSoul | 

Sur un machine ancienne c'est moins flagrant ?

J'ai un MacBook Pro avant Penryn (3,1) et c'est tout aussi flagrant :

Number of OpenCL devices found: 2
OpenCL Device # 0 = GeForce 8600M GT
Device 0 is an: GPU with max. 1040 MHz and 32 units/cores
Now computing - please be patient....
time used: 2.409 seconds

OpenCL Device # 1 = Intel(R) Core(TM)2 Duo CPU T7700 @ 2.40GHz
Device 1 is an: CPU with max. 2400 MHz and 2 units/cores
Now computing - please be patient....
time used: 16.441 seconds

avatar Spart | 

Sur un iMac 2,93 avec une ATI Radeon HD 4850

Number of OpenCL devices found: 2
OpenCL Device # 0 = Radeon HD 4850
Device 0 is an: GPU with max. 503 MHz and 4 units/cores
Now computing - please be patient....
time used: 6.221 seconds

OpenCL Device # 1 = Intel(R) Core(TM)2 Duo CPU E8335 @ 2.93GHz
Device 1 is an: CPU with max. 2930 MHz and 2 units/cores
Now computing - please be patient....
time used: 12.303 seconds

Tout ça ne me semble pas cohérent, mais bon. On verra bien

avatar ispeed | 

Tout ça ne me semble pas cohérent, mais bon. On verra bien

Hi hi mon message a été effacé parce que je disais que ce test n'apportait rien de concret et qu'il fallait voir avec un logiciel comme FCS hi hi

avatar Pascal-007 | 

Sur un MacBook Pro C2D 2,8 GHz/4 Go RAM (automne 2008)

[b]a) Lors d'une session avec seule la 9400M activée :[/b]
Number of OpenCL devices found: 2
OpenCL Device # 0 = GeForce 9400M
Device 0 is an: GPU with max. 1100 MHz and 16 units/cores
Now computing - please be patient....
time used: 3.493 seconds

OpenCL Device # 1 = Intel(R) Core(TM)2 Duo CPU T9600 @ 2.80GHz
Device 1 is an: CPU with max. 2800 MHz and 2 units/cores
Now computing - please be patient....
time used: 13.557 seconds

[b]b) Lors d'une session avec la 9600M GT activée :[/b]
Number of OpenCL devices found: 3
OpenCL Device # 0 = GeForce 9600M GT
Device 0 is an: GPU with max. 1250 MHz and 32 units/cores
Now computing - please be patient....
time used: 2.793 seconds

OpenCL Device # 1 = GeForce 9400M
Device 1 is an: GPU with max. 1100 MHz and 16 units/cores
Now computing - please be patient....
time used: 8.998 seconds

OpenCL Device # 2 = Intel(R) Core(TM)2 Duo CPU T9600 @ 2.80GHz
Device 2 is an: CPU with max. 2800 MHz and 2 units/cores
Now computing - please be patient....
time used: 13.506 seconds

J'ai répété les tests à quelques reprises et ils sont superposables à ± 0.050 secondes.

avatar Florian Innocente | 

Testé avec le MacBook Pro de la génération juste avant celui cité dans la news (mi 2007) : 2.2 GHz et 8600M GT.

Même carte, même ordre de résultats.

...........................................................
.................. OpenCL Bench V 0.25 by mitch ...........
...... C2D 3GHz = 12 sec vs Nvidia 9600GT = 0,93 sec ......
... time results are not comparable to older version! .....
...........................................................

Number of OpenCL devices found: 2
OpenCL Device # 0 = GeForce 8600M GT
Device 0 is an: GPU with max. 940 MHz and 32 units/cores
Now computing - please be patient....
time used: 15.688 seconds

OpenCL Device # 1 = Intel(R) Core(TM)2 Duo CPU T7500 @ 2.20GHz
Device 1 is an: CPU with max. 2200 MHz and 2 units/cores
Now computing - please be patient....
time used: 16.457 seconds

avatar dandu | 

Bizarre, vos résultats.

Avec mon 2,2 GHz/8600M, je fais moins de 3 secondes, ce qui est logique : y a pas de différence techniques entre une 9600M et une 8600M (tout du moins pour la partie 3D) en dehors de la fréquence, vous devriez donc être entre une 9400 et une 9600M.

Y avait pas une appli 3D ouverte ?

avatar DarkDestiny | 

Tout à fait, les différences sont énormes alors que les cartes ont presque les m^mes performances. De plus une 8600GT est plus puissante qu'une 9400M donc bon les résultats sont incompréhensibles.

Un peu de roulette russe dans l'Open CL Benchmark ?

avatar Almux | 

Quelqu'un a-t-il tenté le teste sur un MacPro rev 1 8x3ghz et la carte graphique 7300GT d'origine? ... Je me demande...

avatar c4software | 

@Almux Oui, la 7300GT n'étant pas compatible, cela ne calcul rien pas la carte graphique on obtient juste un calcul via le processeur soit environ 4secondes...

avatar P2M | 

oui moi aussi j'ai à priori de bon résultat avec mon MBP 8600M GT

...........................................................
.................. OpenCL Bench V 0.25 by mitch ...........
...... C2D 3GHz = 12 sec vs Nvidia 9600GT = 0,93 sec ......
... time results are not comparable to older version! .....
...........................................................

Number of OpenCL devices found: 2
OpenCL Device # 0 = GeForce 8600M GT
Device 0 is an: GPU with max. 940 MHz and 32 units/cores
Now computing - please be patient....
time used: 2.949 seconds

OpenCL Device # 1 = Intel(R) Core(TM)2 Duo CPU T9500 @ 2.60GHz
Device 1 is an: CPU with max. 2600 MHz and 2 units/cores
Now computing - please be patient....
time used: 14.126 seconds

Now checking if results are valid - please be patient....
:) Validate test passed - GPU results=CPU results :)

avatar Gimli fils de Gloin | 

me faudrait les sources de ce benchmark ...

avatar KeepAlive | 

Les gens qui indiquent le résultat du bench, il faudrait aussi préciser la quantité de mémoire vidéo (VRAM), je suppose que ça doit avoir une influence sur la rapidité d'exécution de OpenCL. Par exemple l'entrée de gamme MacBookPro de mi-2007 avec le 8600GT embarque 128 Mo VRAM alors que le modèle haut de gamme avec le même GPU a le double (256Mo), et ceux sortis début 2008, toujours équipés du 8600GT, ont 256 ou 512 Mo de VRAM (GDDR3). Aussi sur certains modèles, la VRAM est partagée avec la RAM principale !

avatar Macleone | 

Les 8600M GT sont foireuses. J'ai moi même une de ces cartes, et bien qu'elle fasse semblant de fonctionner correctement, je sais qu'elle cache un bon nombres de problèmes. Pour rappel, elles font partie de la série noir de Nvidia.

Sur la mienne, les seuls symptômes sont une bande passante mémoire divisé par 8 par rapport aux perfs que j'obtenais quand elle étais neuve, et des performance du GPU moins bonne également.
De plus, quand je fais un test Hardware, il me remonte une erreur du Contrôleur Video.

Je soupçonne celle utilisée pour ces tests d'être défectueuse également, ce qui expliquerais l'absence de bénéfice d'OpenCL.

avatar lol51 | 

A noter que même si la carte graphique est un peu moins puissante, cela permet de désengorger le processeur, ce qui n'est pas négligeable d'un point de vue utilisateur.

avatar melaure | 

La 9600 et le 8600 sont la même puce. C'est juste du rebranding de NVidia pour faire croire qu'ils ont corrigés leurs soucis. Dans les faits, il y a aussi plein de 9600 qui crament avec le même substrat défectueux.

Bref on devrait donc avoir des résultats similaires comme indiqué par Rick Deckard.

Ceux qui ont de mauvais résultats avec leur 8600, il faudrait voir ce qui tourne en parallèle ou bloque l'accélération ...

avatar TotOOntHeMooN | 

Ce n'est pas parce que la carte graphique est plus puissante pour l'affichage, qu'elle est douée pour faire autre chose. N-Vidia a optimisé ses dernières puces pour faire du calcul via OpenCL, et ça se ressent.

La chose intéressante à noter est que les MBP équipés de deux GPU en tirent partie !
En attend de voir des applications probantes ; Je pense que Snow nous cache beaucoup de sa puissance aujourd'hui.

avatar Le Chapelier | 

Personnellement, il n'y a qu'une chose qui m'intéresse (pour l'instant) avec l'Open CL : est-ce que ça permet d'encoder plus vite ? Genre du MPEG-2 de la TNT en H.264, on gagne combien ? Parce que l'encodage vidéo, c'est looooooooooooooooong !

Faudra voir aussi si e-on software saura intégrer cette technologie, parce que je suis pas contre une accélération des rendus sous Vue 7. Là aussi, c'est d'une leeeeeeeeeeeeeeeenteur !

avatar pomme85 | 

Les résultats sur mon [b]MacBook Pro 13" 2.26 Ghz - NVIDIA GeForce 9400M[/b]

Number of OpenCL devices found: 2
OpenCL Device # 0 = [b]GeForce 9400M[/b]
Device 0 is an: GPU with max. 1100 MHz and 16 units/cores
Now computing - please be patient....
time used: [b]3.484 seconds[/b]

OpenCL Device # 1 = [b]Intel(R) Core(TM)2 Duo CPU P8400 @ 2.26GHz[/b]
Device 1 is an: CPU with max. 2260 MHz and 2 units/cores
Now computing - please be patient....
time used: [b]16.061 seconds[/b]

avatar foudeapple | 

...........................................................
.................. OpenCL Bench V 0.25 by mitch ...........
...... C2D 3GHz = 12 sec vs Nvidia 9600GT = 0,93 sec ......
... time results are not comparable to older version! .....
...........................................................

Number of OpenCL devices found: 1
OpenCL Device # 0 = Intel(R) Xeon(R) CPU 5150 @ 2.66GHz
Device 0 is an: CPU with max. 2660 MHz and 4 units/cores
Now computing - please be patient....
time used: 6.773 seconds

Now checking if results are valid - please be patient....
:) Validate test passed - GPU results=CPU results :)
logout

je remarque que personne n'a testé avec les dernières cartes graphiques ATI ????

moi je possède un X1900XT 512 Mo qui n'est pas donc supporté par openCL ? (aucun projet de développement chez ati ?)

avatar crashdump.fr | 

Incroyable, j'ai la même configuration que dipdip11 et les écarts sont énormes.. ??

Number of OpenCL devices found: 2
OpenCL Device # 0 = GeForce 8800 GS
Device 0 is an: GPU with max. 1250 MHz and 64 units/cores
Now computing - please be patient....
time used: 3.340 seconds

OpenCL Device # 1 = Intel(R) Core(TM)2 Duo CPU E8435 @ 3.06GHz
Device 1 is an: CPU with max. 3060 MHz and 2 units/cores
Now computing - please be patient....
time used: 13.078 seconds

-- Au final le test chez moi prend 3s de plus sur le GPU et 1s de plus sur le CPU.

EDIT: J'ai fait tourner les tests sous une session vierge de tout process.

avatar Florian Innocente | 

J'ai refait le test (9600m GT) et je suis tombé sur des valeurs plus cohérentes, 3 secondes en OpenCL et 16 en CPU. Curieux, la première fois je n'avais que Safari d'ouvert (mon 10.6 est quasi vierge).

avatar frizouille | 

iMac Alu 2,66Ghz 20" GeForce 9400

GeForce 9400
GPU with max. 1150 MHz and 16 units/cores
time used: 6.146 seconds

Intel(R) Core(TM)2 Duo CPU E8135 @ 2.66GHz
CPU with max. 2660 MHz and 2 units/cores
time used: 14.911 seconds

Ce Bench donne un apparçu de la puissance de calcul BRUT d'un GPU comparé au CPU malgré l'avantage de la fréquence pur. Reste a voir dans la pratique, l'impact réel sur les performances. Plus difficiles à mesurer.
Très prometteur, on imagine bien ce que cela pourrait donner dans un environnement pleinement optimisé
= équivalent à du double processeur.

CONNEXION UTILISATEUR