Téléchargez l'application
Tom's Hardware sur l'App Store
Toute l'actu informatique de référence sur votre iPhone
Oui Non

Nvidia Fermi : le premier GPU compatible C++ ?

par - source: Bright Side of News

Bon, inutile de s'en cacher, ce mercredi sera une journée Nvidia. Faisant suite à nos informations selon lesquelles Jen Hsun Huang annoncera l'architecture du GT300 ce soir, BrightSideofNews affirme savoir avec quelques heures d'avance quelle sera l'annonce principale de la soirée : le GT300 ne serait plus, il s'appellerait Fermi, et serait le premier processeur de Nvidia capable d'exécuter nativement du code C++.

Nvidia aurait un nouveau nom pour sa puce : un cGPU. Elle contiendrait 3 milliards de transistors, soit environ 1 milliard de plus que le RV870 des Radeon HD 5800. Ses unités de calcul seraient réparties en 16 ensembles (des shaders clusters) de 32 coeurs (des CUDA cores), soit un total de 512. Par comparaison, le GT200 des GTX 285 et 275 n'en a que 240. Au total, la puce aurait 1 Mo de cache L1 (réparti en blocs de 16 ko) et 768 ko de cache L2 unifié. Les unités de calcul seraient capables d'exécuter 1 opération FMA (fused multiply-add) par cycle en simple précision. Le passage en double précision (satisfaisant la norme IEEE 754-2008) diminue cette vitesse par deux.

L'interface mémoire ne serait pas sur 512 bits comme on a pu le lire ici ou là mais sur 384 bits. En fait, 8 canaux de 64 bits seraient prévus dans le design de la puce, mais seuls 6 auraient pu être gravés en 40 nm. Les deux derniers pourraient apparaître sur les prochaines révisions en 28 ou 22 nm du cGPU. La quantité de mémoire vive maximum serait de 6 Go (sur les cartes Tesla).

Mais revenons à l'essentiel : la compatibilité C++. Si c'est bel et bien le cas, c'est une vraie révolution. La puce Nvidia deviendrait alors utilisable par tous les développeurs et par bon nombre de programmes existants. Et si l'architecture Nvidia est performante (quid des fréquences ?), aidée par des compilateurs optimisés, elle pourrait se placer en réelle alternative aux CPU traditionnels. Fermi gardera en outre sa compatibilité avec DirectX 11, OpenGL, OpenCL, Direct Compute, CUDA C ou CUDA Fortran.

Partager:
23
Commentaires
X
Valider

Commentaires
Ajouter un commentaire
deathangel67300 30/09/2009 17:29
Masquer
-4+

j'ai hâte de voir ca, en tant que développeur, ca peut ouvrir de nouvelles perspectives :)

daam 30/09/2009 17:41
Masquer
-6+

du c++ en natif, ça veut rien dire...
Le C++ est un langage (et loin d'être le plus simple), donc à moins que leur "GPU" interprete directement les fichiers texte (ce dont je doute très fortement), ce n'est pas du natif.
Le C++ ça se compile, ça ne "s'execute" pas...

Après ils ont peut être développé une espèce d'environnement en C++ permettant de programmer leurs cartes.

magellan 30/09/2009 17:48
Masquer
-2+

Heuuu je suis plus que d'accord avec Daam vu que le langage C++ est un langage compilé. Autant j'aurais compris un langage interprété comme le HTML par exemple, autant là je ne suis pas trop le raisonnement.

D'autant plus que le rôle du compilateur est essentiel: il est adapté à l'OS, et donc impose de compiler le composant pour chaque périmètre.

Alors quoi? Eventuellement un équivalent d'une JVM? Ce ne serait plus du "C++" mais une approche virtual machine où les sources sont précompilés, puis exécutés à travers un "OS" virtuel. (Java Virtual Machine)

Bbleach59 30/09/2009 17:49
Masquer
-0+

Moi aussi hâte de voir ce que va nous faire réellement nvidia.
On verra ce soir, Wait And See ;)

Bbleach59 30/09/2009 17:50
Masquer
-1+

magellan :
Heuuu je suis plus que d'accord avec Daam vu que le langage C++ est un langage compilé. Autant j'aurais compris un langage interprété comme le HTML par exemple, autant là je ne suis pas trop le raisonnement.D'autant plus que le rôle du compilateur est essentiel: il est adapté à l'OS, et donc impose de compiler le composant pour chaque périmètre.Alors quoi? Eventuellement un équivalent d'une JVM? Ce ne serait plus du "C++" mais une approche virtual machine où les sources sont précompilés, puis exécutés à travers un "OS" virtuel. (Java Virtual Machine)



Vous avez pas tort vous deux ^^
De tte façon on verra bien ce que va proposer nvidia

efranchi 30/09/2009 18:16
Masquer
-0+

Je ne m'y connais pas bien en langage informatique, est-ce que Microsoft windows est un dérivé de C++?
Est-ce que cela signifie que pour faire tourner windows la cGPU sera suffisante?

Bref, Intel veut intégrer la puissance graphique dans ses CPU (notamment Larrabee) , il me semble judicieux que nVidia veuille intégrer des tâches normalement faites par une CPU en série.

Col Hanzaplast 30/09/2009 18:16
Masquer
-2+

A quand un un cGPU COBOL ? :D

turlupin en ptard 30/09/2009 18:22
Masquer
-3+

Je relève ça parce que ce n'est pas la première fois que je vois cette horreur

Citation :Le passage en double précision (satisfaisant la norme IEEE 754-2008) diminue cette vitesse par deux.
Soit tu écris divise cette vitesse par deux, soit tu écris diminue cette vitesse de moitié, sinon ce n'est pas du français. [:spamafote]

okey-dokey 30/09/2009 18:28
Masquer
-0+

Moi j'attends surtout de voir s'ils arriveront à le decliner en version d'entree de gamme ce "cGPU"

Parce que bon les variations par dixaine du G80/G90 ça va 2-3ans, mais faudrait passer à autre chose maintenant :p

zorro3364 30/09/2009 18:35
Masquer
-1+

Citation :capable d'exécuter nativement du code C++

non mais comment peut-on simplement écrire une énormité pareil????

daam 30/09/2009 18:59
Masquer
-4+

zorro3364 :
non mais comment peut-on simplement écrire une énormité pareil????



Ca s'appelle du marketing !!

@efranchi: le c++ est un language informatique (comme l'ada, le C, le fortran et bien d'autres plus au moins connus et utilisés). C'est à dire qu'il permet de décrire le fonctionnement d'un programme (au sens large) informatique de manière "pratique" pour un humain.
La représentation du programme dans un langage se fait dans des fichiers textes, il est donc ensuite nécessaire d'utiliser un compilateur pour transformer tout ceci en langage machine (les instructions du processeur) (un fichier .exe pour windows par exemple).
On peut ne pas compiler un programme et utiliser un interpréteur pour exécuter directement à partir des sources (les fichiers textes) (le perl/php, ruby, python sont par exemple des langages qui sont interprétés directement), mais les performances sont moindres.
Certains langages comme le java où les langages .net sont à cheval sur les deux principes, un compilateur transforme les sources dans un format intermédiaire qui est ensuite interprété.

pascal16 30/09/2009 19:48
Masquer
-0+

Il compile du C vers de l'exe ?
ou il execute le C comme un language non compilé (dit interprété comme le basic, donc en mode protégé, et le niveau de protection dépend plus de l'interpréteur que du programme)?

spamplemousse 30/09/2009 19:56
Masquer
-1+

Tain, mais c'est n'importe quoi!
Un marketeux à la con transforme un compilateur C++ => Fermi (qui, je crois existait déjà pour les Geforce 8) en un GPU compatible C++. Non seulement ça veut rien dire, mais c'est ridicule!
Et le pire là dedans, c'est que vous, tomshardware, qui êtes censé avoir de bonnes connaissances en informatique, tombez dans le panneau.....
La crédibilité en prend en coup là :/

back6 30/09/2009 20:52
Masquer
-0+

Surtout que c'est pas pour dire, mais dans la mesure ou tout les jeux sont plus ou moins écrit en C++, et invoque DirectX, lui-même écrit en C++, si on va par là, ça fait beau temps que les GPU "exécutent" du C++. Ca ne veut rien dire à plein de niveau. C'est forcément le système d'exploitation, qui tourne sur le CPU, qui exécute le code. Ce qu'il peut faire, le système d'exploitation, c'est déléguer certaines tâches à des sous-systèmes spécialisés.

draxssab 30/09/2009 22:56
Masquer
-0+

Finalement Nvidia à complètement lâcher le gaming pour se concentrer sur les solution de calculs que les CPU font déjà??

corei9 01/10/2009 03:15
Masquer
--1+

décidément en plus du correcteur orthographique il va falloir acheter un correcteur de conneries à toms hardware !! pas sérieux tout ça !!

anonymous 01/10/2009 09:32
Masquer
-0+

a mon sens, "capable d'exécuter nativement du code C++", cela veut juste dire que contrairement a CUDA, qui ajoute des mots clefs au C, les nouveaux GPU permet d'exécuter des programmes écrit en C++ "pure", c'est a dire qu'il n'ajoute pas de mot clef et que par consequan n'importe qu'elle programme serais capable de s'exécuter sur le GPU (moyennant recompilation ?)

williamwoj 01/10/2009 10:12
Masquer
-2+

Ca ne voudrais pas dire aussi qu'au lieu de programmer la carte dans un langage type assembleur il serait possible d'utiliser la syntaxe du C++, beaucoup plus confortable ?

Un autre détail me chiffonne : Fermi serait une "réelle alternative aux CPU traditionnels". Sauf qu'à mon sens, programmable avec du C++ ou pas, une carte graphique reste un "tanker" du calcul. ;)

magellan 01/10/2009 10:46
Masquer
-0+

anonimee :
a mon sens, "capable d'exécuter nativement du code C++", cela veut juste dire que contrairement a CUDA, qui ajoute des mots clefs au C, les nouveaux GPU permet d'exécuter des programmes écrit en C++ "pure", c'est a dire qu'il n'ajoute pas de mot clef et que par consequan n'importe qu'elle programme serais capable de s'exécuter sur le GPU (moyennant recompilation ?)


Ca ne marche pas ainsi.

Le C++ est un langage qui doit être compilé. Tu fournis des sources à un compilateur qui te génère un exécutable. Rien à voir avec des fichiers textes qu'un moteur interprète comme typiquement le HTML qui est de l'interprété! Donc aucune chance, si ce n'est de revoir fondamentalement le mode de fonctionnement du C++...

spamplemousse 01/10/2009 11:57
Masquer
-0+

williamwoj :
Ca ne voudrais pas dire aussi qu'au lieu de programmer la carte dans un langage type assembleur il serait possible d'utiliser la syntaxe du C++, beaucoup plus confortable ?


C'est déjà le cas pour la plupart des programmes : le développeur utilise un langage haut niveau, style C++, car compréhensible par un humain, et un compilateur se charge de "traduire" le code C++ (ou autre) en un langage que comprend le processeur (proche de l'assembleur).
C'est le fonctionnement de tout programme compilé. Il n'y a rien de nouveau là dedans.
williamwoj :
Un autre détail me chiffonne : Fermi serait une "réelle alternative aux CPU traditionnels". Sauf qu'à mon sens, programmable avec du C++ ou pas, une carte graphique reste un "tanker" du calcul.


Non, pour que Fermi soit une réelle alternative aux CPU traditionnels, il faudrait qu'il soit compatible avec l'architecture X86, ce qui n'est pas le cas.

okey-dokey 01/10/2009 12:01
Masquer
-2+

De toute façon il faut compiler le truc en Binaire :p

aucune puce ne sait traiter autre chose que du binaire.. des 0 et des 1. Donc meme l'assembleur doit etre compilé (en quelque sorte.. parce que là c'est plutot une traduction qu'une compilation)

collinm 01/10/2009 15:33
Masquer
-0+

@daam, en java le code est précompilé, ensuite il est compilé à la volé

anonymous 18/11/2009 01:28
Masquer
-0+

Bon , je pense que Nvidia devrait déjà pour 2010 se pencher sur le problème des millions de gens qui on un PC portable cramé sur les bras à cause de leur GPU défectueux soudé à la carte mère ! En effet cette nouvelle puce devrais doit - on croire faire de nouvelles victimes ?
je vous invite à taper dans votre moteur préféré ces mots :
“nvidia scandal ”. Ca ne vous coutera rien, au contraire, vous réfléchirez mieux avant d’investir chez Nvidia surtout au vu du prix :)

Publicité

Les offres du moment

Newsletters


OK