Publicité
Tout sur les Cartes graphiques
 Derniers articles sur les Cartes graphiques
Tous les articles Cartes graphiques
 Comparatif Cartes graphiques
Tous les comparatifs
 Dernières actualités Cartes graphiques
Toutes les actualités Cartes graphiques

Newsletters


Questions high-tech
  • Besoin d'aide ? Publiez votre question
  • Publier

nVidia CUDA : la fin des CPU ?

10/06/2008 à 08:40 par Fedy Abi-Chahla

Introduction

CUDA nVidiaPetit retour vers le passé. Nous sommes en 2003, depuis plusieurs années Intel et AMD se livrent une lutte acharnée afin d’offrir des microprocesseurs toujours plus puissants. En quelques années la fréquence a rapidement augmenté du fait de cette concurrence et plus encore sous l’impulsion d’Intel et l’arrivée de son Pentium 4. Pourtant cette situation va soudainement arriver à son terme : après avoir bénéficié d’une augmentation de fréquence soutenue (entre 2001 et 2003 la fréquence des Pentium 4 a ainsi été multipliée par deux, passant de 1.5 à 3 GHz) les utilisateurs doivent désormais se contenter de quelques MHz grappillés difficilement par les fondeurs (entre 2003 et 2005 la fréquence est passée de 3 à 3.8 GHz).

Même les architectures optimisées pour les hautes fréquences comme le Prescott se sont cassées les dents sur ce problème, et pour cause : cette fois il ne s’agissait pas d’un simple défi industriel, les fondeurs venaient tout simplement de se heurter aux lois de la physique. Certains Cassandres se sont mis alors à prophétiser la fin de la loi de Moore mais c’était loin d’être le cas. Bien qu’elle ait souvent été détournée de son sens initial, le véritable sujet de la loi de Moore concerne le nombre de transistors sur une surface de silicium donnée. Pendant longtemps la croissance du nombre de transistors des CPU s’est certes accompagnée d’une augmentation de performance dans le même temps, ce qui explique sans doute la confusion. Mais désormais les choses allaient se montrer plus compliquées : les architectes qui concevaient les CPU se heurtaient à la loi des rendements décroissants. Le nombre de transistors à ajouter pour obtenir un gain de performance donné devenait de plus en plus important et menait tout droit dans une impasse.

CUDA nVidia

Liens commerciaux
Commentaires
AlGrenadine 10/06/2008 09:22
Masquer
-0+

ce qui permettrait effectivement de faire bondir le nombre d'applications se servant du GPU, ça serait un SDK qui prenne en charge les NVidia ET les ATI !

Vikk 10/06/2008 09:28
Masquer
-0+

Citation :On le sait, l’avenir de l’informatique est parallèle, tout le monde se prépare à ce changement et toutes les initiatives qu’elles soient logicielles ou matérielles vont dans ce sens.


Quelqu'un pourrait m'expliquer ce qu'on veut dire par "parallèle"??

Florian c 10/06/2008 09:39
Masquer
-0+

Vikk > Lire par exemple http://www.presence-pc.com/tests/D [...] ium-D-300/ . Il s'agit de l'exécution concurrente (simultannée) de plusieurs tâches d'une application ou plusieurs applications par le processeur, plutôt que de ne disposer que d'une seule unité d'exécution.

os2 10/06/2008 09:37
Masquer
-0+

plusieurs tâche simultannée

ultrabill 10/06/2008 10:27
Masquer
-1+

Après les CPU et les GPU, on va voir apparaitre les APU grâce à Creative [:matleflou]

[:vendredi]

AlGrenadine 10/06/2008 10:28
Masquer
-0+

à signaler qu'il existe aussi Brook+ chez AMD qui fait exactement la même chose que cuda, mais dont on parle moins, pourtant il est utilisé dans folding@home...

AlGrenadine 10/06/2008 10:25
Masquer
--1+

ultrabill :
Après les CPU et les GPU, on va voir apparaitre les APU grâce à Creative


oui ça existe depuis 30 ans les DSP, n'importe quel multieffet de gratteux en intègre un...

ultrabill 10/06/2008 10:33
Masquer
-2+

AlGrenadine a écrit :

oui ça existe depuis 30 ans les DSP, n'importe quel multieffet de gratteux en intègre un...


NVIDIA veut qu'on utilise ses puces graphiques pour faire autre chose que de la 3D, hein.

D'où la "blague" (pffff) de l'APU pour faire autre chose que du son.

C'est dingue, quand on doit expliquer un trait d'humour ça perd tout son charme :/

drouvre 10/06/2008 10:53
Masquer
-0+

Fedy s'est encore déchiré :jap:

Aimame 10/06/2008 11:21
Masquer
-0+

Très bon article, merci.

Maintenant hypothèse: Si CUDA s'impose en tant que tel sur le marché, est ce que ça veut dire que AMD doit racheter les licences pour cette technologies et l'intégré à leur carte? Et déjà est ce que c'est possible???

En fait de ce que je comprend c'est que les cartes graphiques joueront un plus grand rôle dans nos applications quotidienne (travail, application etc...) Donc si CUDA s'impose j'imagine que les intégrateurs préférerons se système et privilégierons donc des cartes Nvidia. D'ailleurs on le voie bien avec Apple qui commence à si intéressé de prêt.

Comme dis se n'est qu'une hypothèse mais sa pourrait être aussi AMD, intel, ou encore comme dis dans l'article Microsoft...

cyrano 10/06/2008 11:41
Masquer
-0+

Si c'est microsoft, c'est l'horreur ! Comme pour le directX, cela veut dire rien pour Apple, Linux et les *BSD !
Je crois que Nvidia devrait s'entendre avec AMD pour rendre leur api compatible et éviter une guerre où les développeurs seraient perdant et MS gagnant.

Mathieu C 10/06/2008 11:41
Masquer
-0+

Fedy, bravo pour cet article que je vais lire en détail dès que j'en ai le temps !

blabla13 10/06/2008 11:42
Masquer
-0+

Citation :Fedy s'est encore déchiré :jap:

+1
excellent article , qui montre de belles perspectives dans le futur
et qui m'a fait apprendre pas mal sur l'architecture des gpu
bravo !!

et pour amd,j'etais meme pas sur qu'ils aient deja sorti un tel truc,c'est beaucoup moins mediatisé que cuda,peut etre parce que c'est moins efficace ?

Zeross 10/06/2008 12:10
Masquer
-0+

Merci pour les commentaires sur l'article ça fait plaisir :)
Concernant une implémentation par AMD de CUDA : outre les problèmes "juridiques" il y aurait quand même de sacrés défis techniques pour les ingénieurs d'AMD. CUDA a beau être de haut niveau, l'API donne beaucoup de détails sur le fonctionnement du GPU or les implémentations d'AMD et de NVIDIA sont extrêmement différentes. Par exemple un des problèmes serait la Shared Memory. AMD ne dispose pas d'une mémoire similaire sur ses puces, qui reposent plutôt sur des caches plus importants. Reproduire le comportement exactement de la même façon que NVIDIA pour que les implémentations soient compatibles me semblerait vraiment compliqué et même s'ils y parvenaient ça serait sans doute pas la meilleure façon de tirer parti de leurs GPU.

C'est d'ailleurs un souci aussi pour NVIDIA à l'avenir, je ne l'ai pas soulevé dans l'article mais CUDA force NVIDIA à ne pas trop s'éloigner de l'architecture introduite par le G80. Ils peuvent changer certaines choses comme le nombre de registres, le nombre de warps par SM ou ajouter des instructions (ils l'ont déjà fait sur le G84/G92), mais s'ils ne veulent pas briser la compatibilité des applications déjà écrites ils doivent respecter un certain schéma. Alors pour le moment ce n'est pas gênant car cette architecture est très efficace mais à terme est ce que ça ne sera pas pénalisant ?

blabla13 10/06/2008 13:04
Masquer
-0+

merci pour la réponse^^,je me demandais également :
je lis sur certains sites que la puissance theorique du RV770 serait superieure à celle des GTX2x0 , donc meme si ils sont moins efficaces dans les jeux du fait de leur architecture, ils devraient être plus efficaces en GPGPU ?

geek_du_44 10/06/2008 14:12
Masquer
-0+

et si le CUDA l'emporte, ne serait-il pas possible que ATI/AMD et µsoft prennent part au projet, financièrement, pour améliorer le système ? et qu'il soit portable sur tous les matériels

AlGrenadine 10/06/2008 14:15
Masquer
-0+

ça serait certainement possible : le mieux serait que directx le gère nativement comme ça la couche d'abstraction serait déjà faite

Foudge 10/06/2008 15:15
Masquer
-0+

blabla13 :
Et pour amd,j'etais meme pas sur qu'ils aient deja sorti un tel truc,c'est beaucoup moins mediatisé que cuda,peut etre parce que c'est moins efficace ?

Chez ATI, l'équivalant de CUDA, c'est CTM.

Watchwolf 10/06/2008 16:40
Masquer
-0+

AlGrenadine a écrit :

ça serait certainement possible : le mieux serait que directx le gère nativement comme ça la couche d'abstraction serait déjà faite




le mieux searit que opengl le gère directement :D

Zeross 10/06/2008 17:55
Masquer
-0+

blabla13 a écrit :

merci pour la réponse^^,je me demandais également :
je lis sur certains sites que la puissance theorique du RV770 serait superieure à celle des GTX2x0 , donc meme si ils sont moins efficaces dans les jeux du fait de leur architecture, ils devraient être plus efficaces en GPGPU ?




On va attendre d'en savoir plus sur les cartes avant de faire ce type de jugements ;)
De toute façon la performance de crête n'est qu'un facteur pour différencier deux architectures, et c'est rarement le plus pertinent. L'archiecture AMD repose sur des unités VLIW, qui demandent plus d'effort au niveau du compilateur pour en tirer parti. Il y a aussi comme on l'a vu des données comme la présence de shared memory qui peut jouer énormément sur les performances dans certains algos. Bref on ne peut pas juger comme ça sur des specs non officieles. Mais en tout cas AMD prend au sérieux le GPGPU aussi.

Foudge a écrit :

Chez ATI, l'équivalant de CUDA, c'est CTM.




Pas vraiment... CTM est beaucoup plus bas niveau et c'est pas tout à fait la même chose. Au dessus de CTM tu as CAL (Compute Abstraction Layer) qui encapsule déjà les appels CTM dans quelque chose de moins spécifique à une famille de GPU donnée. Et enfin au niveau du programmeur "lambda" tu trouves Brook+ pour créer tes kernel et les gérer à plus haut niveau. L'ensemble de tout ça et de quelques bibliothèques forment le Stream SDK qui se rapproche plus de CUDA.

Watchwolf a écrit :

le mieux searit que opengl le gère directement :D




Que Khronos nous sorte déjà OpenGL 3 :p Ils ont presqu'un an de retard alors mieux vaut qu'ils ne se dispersent pas...
Et puis GL = Graphics Library donc ça n'aurait pas sa place là mais par contre Khronos pourrais proposer un OpenCL : Open Compute Library ou OpenSL Open Stream Library:D

Watchwolf 10/06/2008 18:07
Masquer
-0+

Zeross a écrit :



Que Khronos nous sorte déjà OpenGL 3 :p Ils ont presqu'un an de retard alors mieux vaut qu'ils ne se dispersent pas...
Et puis GL = Graphics Library donc ça n'aurait pas sa place là mais par contre Khronos pourrais proposer un OpenCL : Open Compute Library ou OpenSL Open Stream Library:D




C'était plus lié à la remarquer sur directX qu'a une réelle demande. Je suis d'accord qu'il faudrait surtotu une autre lib haut niveau, opengl ne faisant pas la même chose.

Zeross 10/06/2008 18:57
Masquer
-0+

Mince j'arrive trop tard : http://www.apple.com/pr/library/20 [...] opard.html

Apple a déjà proposé OpenCL : Open Computing Language :D

Wirmish 10/06/2008 19:06
Masquer
-0+

ATi = CTM -> CAL -> ACML + APL + Cobra + Brook+

Selon les rumeurs actuelles:
8800GTX =  518 GFLOPs
9800GTX =  648 GFLOPs
GTX 260 =  708 GFLOPs
GTX 280 =  933 GFLOPs
HD 4850 = 1000 GFLOPs
HD 4870 = 1200 GFLOPS
4870-X2 = 2400 GFLOPS

Donc, nVidia a un peu d'avance avec son CUDA, mais il n'a clairement pas la puissance de calcul des GPU d'ATi.

Anonyme 10/06/2008 22:49
Masquer
-0+

CUDA va être une véritable révolution pour les gros calculs massifs pouvant être bien parallélisés, comme:

- le rendu d'images 3D (avec Raytracing, Réfraction, Global Illumination et j'en passe, pour l'instant tout cela est calculé par le CPU, et ça prend booooooocoup de temps !)

- la retouche d'images en haute résolution (Adobe a déjà annoncé que le prochain Photoshop sera vitaminé à la sauce Cuda)

- l'édition de vidéos: imaginez jouer avec AfterEffect en empilant des effets complexes, et pouvoir admirer le résultat en temps réel :-)

- et surtout l'encodage de vidéos, HD ou résolution standard... Bientôt, encoder un film en Divx ne prendra plus que 5 min :-)...

shymata 11/06/2008 10:37
Masquer
-0+

Article de grande qualité que j'ai suivi avec intérêt alors que je suis totalement profane (oui un peu largué parfois, c'est normal). :-D

Bravo à son auteur et merci!

Une question me vient toutefois à l'esprit: nVidia arrive avec un GPU "x2", AMD/ATI ne va pas tarder non plus. Arrive-t-on aussi à un virage dans le monde du GPU, comme il en a été question pour les CPU's?

MistaFR 12/06/2008 08:20
Masquer
-0+

Très bon article, merci.

Chklang 13/06/2008 06:36
Masquer
-0+

Citation :En revanche à voir les évolutions successives des CPU qui s’orientent vers de plus en plus de parallélisme (toujours plus de coresUnité principale de calcul dans un processeur. Les principaux processeurs actuels regroupent désormais deux ou même quatre unités gravées dans la même..., technologie de Simultaneous MultiThreading, élargissement des unités SIMDUnités de calcul parallèle permettant d'exécuter une même opération sur plusieurs données. Ces unités sont moins coûteuses que des unités MIMD car ell...) et à côté de ça les GPU qui à l’inverse s’orientent vers toujours plus de flexibilité (support des calculs flottants simple précision, des calculs entiers et bientôt des calculs double précision) il semble clair qu’à terme les deux sont destinées à se rencontrer.

Anonyme 31/10/2008 00:13
Masquer
-0+

Juste une remarque ... le titre est purement absurde.
En fait le GPU permet d'accelerer l'execution des parties les plus faciles a paralleliser dans un programme et encore seulement dans le cas ou aucune dependance de donnees existe (data parallel ou doall). Par contre il restera toujours une partie sequentielle en raison de laquelle, d'apres la loi d'Amdahl, on aura un speedup borne. Sans un CPU qui ait un bon ILP et un branch predictor raisonable ca marche simplement pas ...

Florian c 31/10/2008 08:53
Masquer
-0+

Le titre ne fait que poser une question qui a d'ailleurs été évoquée par le marketing de nVidia directement.

Ce sujet ne peut plus être commenté.
Liens commerciaux