Articles précédents : Articles
- [0] LSC, un nouveau logiciel d'alimentation d'annuaire
- [80] La fin du verrou global dans le noyau Linux ?
- [49] Riposte graduée et spyware au menu du Parlement européen
- [32] Création de l'association culture-libre
- [15] Le projet One Laptop Per Child à la croisée des chemins
- [3] Compte-rendu de la conférence de RMS à Sophia-Antipolis
- [18] Publication des sous-titres en français du documentaire « The CodeBreakers »
- [1] RMLL - Le thème Entreprises est bouclé.
- [5] Projet Shtooka, quelques nouvelles...
- [1] Invitation à participer au stand logiciel Libre à la braderie de Lille
Liens connexes
- L'annonce de Larrabee par Intel (761 clics)
- Le guide de référence d'AVX (267 clics)
- Une description du fonctionnement des derniers GPU NVidia (801 clics)
- Un tutoriel expliquant comment optimiser avec SSE (373 clics)
- Une fractale de mandelbrot en shading language (768 clics)
Dépêche modérée par
Dépêche éditée par
Articles : Les GPU promis à une mort prochaine ?
Posté par Ontologia (page perso, ). Modéré le 20 mai 2008.De simples afficheurs de triangles texturés en 1995, les cartes graphiques munies de GPU sont devenues des sortes d'énormes DSP bientôt composées d'un milliard de transistors, délivrant des performances approchant bientôt le téraFLOPS. La répartition des tâches semblait jusqu'ici bien déterminée entre le CPU, dévolu aux tâches de gestion et de décision, et le GPU se chargeant du calcul brut, en particulier graphique. Mais les quelques acteurs du marché ont récemment amorcé des mouvements les préparant à dépasser leurs frontières traditionnelles.
L'annonce de Larrabee par Intel (761 clics)
Le guide de référence d'AVX (267 clics)
Une description du fonctionnement des derniers GPU NVidia (801 clics)
Un tutoriel expliquant comment optimiser avec SSE (373 clics)
Une fractale de mandelbrot en shading language (768 clics)
> Lire la suite (66 commentaires, moyenne: 3,6). [dépêche : 7180 caractères]
Les fondeurs en sont maintenant réduits à multiplier les cœurs sur leur processeurs : au début deux, maintenant quatre, et l'on doit imaginer seize, trente-deux cœurs pour les années à venir... Bien qu'il semble y avoir une limite théorique de finesse de gravure à 22 nm... Sans compter tous les problèmes d'interconnexions.
Ensuite, l'achat par AMD du fabriquant de GPU ATI, qui - bien que posant quelques problèmes de trésorerie - laisse imaginer des synergies entre processeurs et GPU, à cause du contexte technologique évoqué plus haut : rien n'empêche de mettre un GPU à la place d'un cœur.
L'offensive de NVidia sur les GP-GPU (General Purpose Graphical Processor Unit), proposant ni plus ni moins que d'utiliser leur processeur (près de 15 fois plus puissant en calcul brut) pour des centres de calculs et autres super-ordinateurs, avec leur technologie CUDA, a jeté un pavé dans la mare : c'est le marché du calcul haute performance, citadelle des CPU, qui est attaqué. Fourni avec une sorte de C adapté (le shading language), NVidia met tout en oeuvre pour séduire les développeurs et leur fournir tout un environnement d'exécution ad hoc.
Intel n'est pas en reste en annonçant pour 2009 la disponibilité de Larrabee proposant AVX. Il s'agit d'un SSE dopé aux stéroïdes, doté d'un registre vectoriel haute performance travaillant sur 256 bits, avec plein d'instructions très complexes permettant même d'envisager de faire le café, la sangria ou du chiffrement AES. Les 256 bits permettent de réaliser plusieurs calculs flottants sur 64 ou 32 bits en même temps, sans devoir paralléliser le code à outrance. D'après Intel, AVX permettrait de réaliser tous les calculs graphiques sur le CPU.
Les GPU "externes" impliquent de devoir gérer le transfert d'un monceau de données dans la mémoire de la carte, avec les problèmes de lenteur afférents. De plus, et beaucoup plus que les technologies Intel, un GPU est un assemblage de petits cœurs de calculs posés les uns à côté des autres, il faut donc produire un code extrêmement parallélisé, capable d'utiliser TOUS les "threads", sans quoi, on n'atteint que quelques pour cents de l'utilisation de la puissance disponible. Un avantage, tout de même : la bande passante (mémoire <-> GPU) interne à la carte est près de 10 fois supérieure à la bande passante (mémoire <-> CPU).
Ces deux technologies vont maintenant se lancer dans une guerre de mouvement afin de convaincre ceux qui feront la différence : les développeurs.
NVidia va tenter de convaincre ceux-ci de laisser le processeur s'occuper de tâches générales de gestion, ATI/AMD va sans doute proposer une voie médiane permettant de supprimer le besoin d'externaliser le GPU sur une carte en lui laissant une place sur le die du CPU, et Intel va proposer la même voie qu'AMD, mais avec une technologie à la logique totalement différente.
Dans les deux premiers cas, il faudra paralléliser massivement le code, avec le confort d'un langage C adapté (pour NVidia du moins). La logique Intel obligera-t-elle le programmeur à produire du code en assembleur, ou au moins en C avec des intrinsics ?
L'implémentation de ces technologies dans DirectX ainsi que dans OpenGL sera déterminante, car le marché du jeu restera la justification économique majeure de la bataille.
Les limites des processeurs actuels
Depuis l'avènement des microprocesseurs, l'amélioration de la finesse de gravure et de la fréquence de fonctionnement a permis d'augmenter exponentiellement les performances.
De par la fréquence bien évidemment, mais aussi grâce aux considérables IPC (Instruction Per Cycle) qu'ont connu les processeurs.
Pour mémoire, un mov de registre à registre sur un 8086 prenait au mieux 2 cycles, ce qui est énorme pour une opération de base. L'addition prenait au mieux 3 cycles, et un jump plus de 10 cycles.
Le nombre de cycles par instruction est maintenant très bas, pour descendre en-dessous du cycle, hormis la division : on en a un aperçu dans ce dossier pour le core duo.
La montée en fréquence étant bloquée, tout comme l'IPC qui ne peut guère progresser, on en tire la conclusion qu'on est obligé de faire du multicœur...
Les limites de la finesse de gravure à prévoir
La gravure devient trop difficile, avec des rayons de gravure presque 10 fois plus gros que la finesse de gravure à atteindre, il est envisagé de passer à l'Ultra Violet Extrême, plus fin, mais beaucoup plus (trop) énergétique. La limite théorique semble être de 5 nm. Pour information, le diamètre d'un atome de carbone est d'environ 0,1 nm.
Les shading-languages
Le shading language, est une sorte de C trafiqué dans lequel ont été ajoutés des types primitifs vectoriels.
Pour éviter de longs discours, je vous invite à musarder ce bout de code, calculant une classique fractale, qui vous donnera une idée des problèmes qui se posent.
Lorsqu'on utilise ce langage, il faut quasiment oublier la programmation par boucle et utiliser la mémoire partagée afin de bien répartir le calcul qui doit en toutes circonstances utiliser les milliers de threads disponibles sur le GPU. On doit donc concevoir et fragmenter son code avec une granularité minuscule : la majorité des transistors étant dévolus aux calculs, le processeur n'est pas capable de répartir les calculs entre threads.
CPU, GPU, autres et langue
Hum, quid des FPGA qui vont se reconfigurer pour offrir la puissance de calcul (et ses outils) adaptés en fonction de la demande de logiciel ?
Bon, c'est pas trivial, mais ça se fait.
Et moi qui croyais que les CPUs étaient amenés à mourir vu qu'on déléguait tout sur le GPU, me voilà corrigé.
Sinon, chose qui me titille. L'auteur de cette dépèche a-t-il vécu au Québec ? C'est marrant d'essayer de deviner, car je trouve le français sur DLFP très uniforme et même plutôt "parisien". Mais dans cette dépèche, j'ai tiqué sur un mot...
Je ne suis pas toujours de mon avis.
-
[^]Re: CPU, GPU, autres et langue
Posté par Ontologia (page perso, ) le 20/05/2008 à 10:09. (lien). Évalué à 2.Euh non, pas vraiment, j'ai bien eu des amis Quebecois via internet, peut être par capilarité ? Ou peut être est-ce la littérature XVI-XVIIIème que j'ai ingurgité à haute dose fut une époque ?
Quel mot ?-
[^]Re: CPU, GPU, autres et langue
Posté par Graveen () le 20/05/2008 à 10:41. (lien). Évalué à 1.je dirais "intrinsics", car je ne l'ai pas littéralement compris, juste extrapolé :)
--
Sauvez un arbre: mangez un castor.-
[^]Re: CPU, GPU, autres et langue
Posté par Perthmâd (Jabber id, page perso, ) le 20/05/2008 à 13:30. (lien). Évalué à 3.Moi je dirais musarder, que je ne connaissais pas dans le sens de fouiner, semble-t-il, ni même transitif, mais plutôt comme le dit le TLFi dans le sens de : « perdre son temps au lieu de travailler », intransitif.
M'enfin, vive les jargons et le droit à jaspiner l'argomuche dans son idiolecte propre !-
[^]Re: CPU, GPU, autres et langue
Posté par Lanus Tordable () le 21/05/2008 à 12:51. (lien). Évalué à 2.M'enfin, vive les jargons et le droit à jaspiner l'argomuche dans son idiolecte propre !
Je préfère 10³ fois cela au franglais!
J'ai encore vu récemment un gugus écrire "shutdowner" à quelques octects de là! Faut y aller, pour sortir une telle mixture.--
"Le logiciel libre c'est comme le sexe : c'est souvent poilu." (Lanus Tordable)
-
-
-
-
[^]Re: CPU, GPU, autres et langue
Posté par Nicolas Boulay () le 20/05/2008 à 11:24. (lien). Évalué à 6.Hum, quid des FPGA qui vont se reconfigurer pour offrir la puissance de calcul (et ses outils) adaptés en fonction de la demande de logiciel ?
Bon, c'est pas trivial, mais ça se fait.
Les FPGA ont de gammes de fréquences autour de 100 Mhz et des prix autour de 1000€ (pour les plus gros vraiment capable de quelques choses) et il chauffe beaucoup.
Ce n'est simplement pas compétitif.--
"Plus un État censure, moins il est démocratique. Mais parce qu’on vous ment sur internet, on va le censurer pour ceux qui télechargent."
Limites de la finesse de gravure
Méfiance avec les limites annoncées.
De mémoire, j'ai toujours entendu une limite annoncée, qui a finalement été franchie. Le problème de la limite existe... à conditions de se restreindre beaucoup dans l'approche de la solution!
Jusqu'à maintenant, on a joué sur les matériaux, les contraintes dans les matériaux, la nature du wafer (au lieu d'une galette de silicium, on utilise du Silicon-On-Insulator, une sorte de petite galette collée sur une grande, avec un bon isolant électrique entre les deux, ce qui améliore considérablement les choses en ce qui concerne les fuites de courant...), bientôt on modifiera un peu l'architecture des transistors, et finalement, les transistors MOS tels qu'on les connait cèderont la place à une nouvelle génération de composants, plus petits, moins consommateurs d'énergie, et plus rapides!
La course à la fréquence est en panne parce que nous approchons de la période charnière, mais de nombreuses pistes sont explorées pour identifier le meilleur successeur. Le problème est qu'on a près de 50 ans d'expérience avec le MOS, la migration va être douloureuse!
-
[^]Re: Limites de la finesse de gravure
Posté par Neije () le 20/05/2008 à 09:57. (lien). Évalué à 4.Pour aller dans le même sens, on a récemment mis au point un procédé de refroidissement passif par flux ionique. Ce flux entraîne à son tour l'air ambiant et permet ainsi une ventilation. Aucune pièce mobile. C'est encore expérimental, mais on imagine bien que des composants construits avec ce principe chaufferait beaucoup moins. Ce qui laisse imaginer une montée en fréquence pour un niveau d'effet joule équivalent au niveau actuel ...
-
[^]Re: Limites de la finesse de gravure
Posté par Ontologia (page perso, ) le 20/05/2008 à 10:12. (lien). Évalué à 2.Ok, on a toujours fais mieux jusqu'ici, mais ne pas oublier un point important : à 45nm, le trait de gravure occupe une largeur équivalente à 450 atomes de carbones, ce qui fait peu. Le transistor ne doit pas être bien large...
Je pense aussi qu'il vont y arriver, mais moins vite, et moins facilement.-
[^]Re: Limites de la finesse de gravure
Posté par Nicolas Boulay () le 20/05/2008 à 11:18. (lien). Évalué à 9.Il ne faut pas oublier que la finesse de ce trait est la largeur de la grille, sur un transistor beaucoup plus gros genre 1 µm de haut. Vu de haut, un transistor ressemble à table de ping pong, la grandeur donnée est celle de l'épaisseur du filet.
Il y a donc une marge énorme sur la manière de dessiner les transistors.--
"Plus un État censure, moins il est démocratique. Mais parce qu’on vous ment sur internet, on va le censurer pour ceux qui télechargent."
-
-
-
[^]Re: Limites de la finesse de gravure
Posté par Amine Mokhtari (page perso, ) le 20/05/2008 à 10:35. (lien). Évalué à 3.Je suis d'accord avec les propos de Mathieu.
et pour cause, des travaux de recherche sont menés afin de réaliser des nano-transistors à la chaine (On sait les faires en petite contité mais il ya des problème lors du passage à l'echelle. on ne controle pas totalement le processus).
Voilà un liens qui en dit plus: Les nanotransistors, être ou ne pas être en CMOS sur silicium ? (http://www.cea.fr/var/plain/storage/original/application/223(...)
mais sa avance, y'a qu'à voir les progrès faits ces derniers temps :IBM fait un nouveau pas vers la production de nanotransistors (http://www.vnunet.fr/fr/news/2008/03/11/ibm_fait_un_nouveau_(...)
Et si rien ne disparaissait ?
Finalement la question n'est pas de savoir si les CPU ou les GPU s'écraseront les uns les autres, car, même si aujourd'hui cela reste majoritairement apprécié au travers du jeu vidéo, ces deux types d'unités de calculs répondent à des problématiques différentes (versatilité, parallèlisation massive, respect de l'instruction set, etc.), et répondront aux nouvelles qui vont apparaitre. Par exemple AMD qui en voulant réunir les deux dans un même coeur va peut être répondre à la problématique du rapport coût/performance et/ou performance/consommation de manière beaucoup plus décente qu'Intel et son Larabee qui cherche à créer un processeur ayant pour but d'aller chasser sur le terrain de son voisin.
Je ne pense pas que l'on verra, significativement, les uns voler le marché du calcul au profit des autres, je serais même tenter de penser que c'est le début d'un nouvel élargissement des choix qui seront offerts aux développeurs et utilisateurs, donc cela restera au moins autant fourni qu'aujourd'hui.
-
[^]Re: Et si rien ne disparaissait ?
Posté par ∫ầřυårðīņ (page perso, ) le 20/05/2008 à 08:17. (lien). Évalué à 8.oui on dirait bien. Par contre je m'interroge si cette petite guerre entre GPU et CPU ne va pas conduire à plus d'incompatibilité entre les 2 mondes, et on risque bientôt d'avoir des programmes "compatibles uniquement avec un GPU nividia", ou écrit en assembleur (?) pour puce intel ? Cela fait un peu peur quand même.
Sinon bravo pour ce bel article Ontologia, écrit clairement mais de façon précise !--
The elevation of 'faith' is, in fact, a sign that a religious tradition is losing its ability to induce theophany, or has already lost it.-
[^]Re: Et si rien ne disparaissait ?
Posté par Aurélien Girard () le 20/05/2008 à 10:18. (lien). Évalué à 3.Des API répondront au problème.
Il y a une dizaine d'années les jeux vidéos proposaient (souvent via des patches) un binaire pour chaque modèle de puce accélératrice 3D (jusqu'au jour ou Microsoft a proposé Direct3D pour rendre tous les jeux compatibles avec toutes les cartes 3D).--
BeOS le faisait il y a 10 ans.-
[^]Re: Et si rien ne disparaissait ?
Posté par ragoutoutou () le 20/05/2008 à 11:33. (lien). Évalué à 10.Il me semble qu'OpenGL faisait ça bien avant Direct3D... mais bon, ce n'était pas juste pour les jeux, mais bien pour de nombreuses applications CAD, et graphiques... Direct3D est venu plus tard, pour contrer le risque de portabilité induit par OpenGL...
-
[^]Re: Et si rien ne disparaissait ?
Posté par Zenitram (page perso, ) le 21/05/2008 à 08:49. (lien). Évalué à 2.Direct3D est venu plus tard, pour contrer le risque de portabilité induit par OpenGL...
Hum... On refait l'histoire... Et toujours pour dénigrer MS quand on peut, même quand ce n'est pas vrai.
Direct3D a... Comblé un trou. Il n'a pas concurrencé OpenGL, du moins dans ses premières versions
En effet, OpenGL était hors-course par rapport au besoin, du fait que OpenGL imposait que tout soit fait en hard, et que les GPU (pour jouer, pas cher!) de l'époque n'était pas capables d'être compatible avec tout OpenGL.
Donc bien que OpenGL proposait ça avant Direct3D, OpenGL ne pouvait être un prétendant pour répondre au besoin faute de modularité.
Direct3D a eu le succès qu'il a eu pas par le monopole de MS, mais parce qu'il y avait un manque : une API de programmation de GPU pour GPU pas cher!
Ensuite, pas de portage sur un autre OS juste parce que ce n'est pas son business.
Si OpenGL (ou un autre) avait proposé une API permettant de faire des choses en soft quand le GPU n'était pas capable de le faire, l'histoire aurait peut-être changé... Mais je me répète, MS a juste profité d'un manque de ses concurrents, il n'a pas essayé de contrer OpenGL puisqu'il était hors course pour ce sujet de lui-même. Tout ce qu'on peut dire c'est que quand les GPU ont été suffisants puissants pour être compatible OpenGL, MS a profité de sa position gagnée précédemment pour continuer sur sa lancé plutôt que de se dire "OK, Maintenant les bases obligatoires de Direct3D sont celles d'OpenGL, on passe sur OpenGL".
Il faut juste se dire que si un organisme de normalisation multi-OS avait fait une API qui réponde au besoin des constructeurs de GPU de l'époque, on n'en serait peut-être pas la... Ben oui, il ne faut pas en vouloir à MS qui ne fait que profiter des failles, mais aux autres qui n'ont pas su proposer un truc au bon moment...-
[^]Re: Et si rien ne disparaissait ?
Posté par reno () le 21/05/2008 à 09:18. (lien). Évalué à 9.>OpenGL imposait que tout soit fait en hard,
*N'importe quoi*: Mesa une implémentation purement logicielle d'OpenGL existe depuis 1993, Microsoft a acheté l'entreprise qui a fait Direct3D en 1995.
OpenGL est une API pour faire des rendus 2D/3D, c'est l'API et le résultat qui sont spécifiés mais ou est fait le rendu, ça ne l'est pas!
Ton API multi-OS c'est OpenGL, je suis d'accord avec ragoutoutou que Direct3D est un moyen pour Microsoft de lier les jeux avec leur propre API pour diminuer la concurrence (Apple avait fait la même chose, sans succès): il a fallut attendre DirectX 9 pour que J Carmack considère que l'API de Direct3D soit aussi bonne que celle d'OpenGL..-
[^]Re: Et si rien ne disparaissait ?
Posté par Zenitram (page perso, ) le 21/05/2008 à 09:55. (lien). Évalué à 1.Mesa une implémentation purement logicielle d'OpenGL existe depuis 1993
Peut-être. Et?
Ce qui manquait était une implémentation moitié soft, moitié hard (fait par le GPU ponc!).
J'ai toujours vu des drivers OpenGL pour des cartes qui pouvaient tout faire.
Je n'ai jamais vu de drivers OpenGL pour des cartes qui ne pouvaient pas tout faire.
Et dans tous les cas, il faut se demander pourquoi les programmeurs ont choisi Direct3D à la place d'OpenGL pour programmer : On pouvait très bien programmer en DirectX pour tout sauf la 3D et programmer la 3D en OpenGL, si Direct3D s'est imposé, c'est peut-être parce qu'il avait un avantage non? Le poids de MS? Si OpenGL était présent, poids ou pas, le programmeur avait le choix... Donc il devait manquer quelque chose à OpenGL...-
[^]Re: Et si rien ne disparaissait ?
Posté par Aurélien Girard () le 21/05/2008 à 11:22. (lien). Évalué à 5.Pour ajouter ma pierre à cette digression, il existe bien des drivers OpenGL pour des cartes qui ne peuvent pas tout faire. Enfin presque, il s'agit des drivers "miniGL" qui implémentaient juste le minimum pour faire tourner Quake ;)
--
BeOS le faisait il y a 10 ans.
-
[^]Re: Et si rien ne disparaissait ?
Posté par reno () le 21/05/2008 à 14:23. (lien). Évalué à 5.>si Direct3D s'est imposé, c'est peut-être parce qu'il avait un avantage non? Le poids de MS?
Les fabriquants de cartes graphiques ont tout intérêt à avoir des *très bonnes* relations avec MS, ce qui lui a permis de pousser les driver Direct3D.
Pour ce qui est des programmeur de jeux:
- MS a investi dans certains jeux, réaliser bien entendu avec Direct3D
- pour les autres, je pense que c'est la certification des driver Direct3D par Microsoft qui a penché beaucoup dans la balance.
Bref, ce qu'il manquait à OpenGL, c'est l'appui de Microsoft et c'est tout.. Pas la peine de chercher des points techniques fantômes pour lequel Direct3D l'aurait emporté..
Et la raison pour laquelle MS a poussé Direct3D et pas OpenGL, c'est tout simplement pour verrouiller les jeux, c'est tout simple.
-
-
-
-
-
-
-
[^]Re: Et si rien ne disparaissait ?
Posté par tarlack () le 20/05/2008 à 09:33. (lien). Évalué à 2.pour l'instant, tout ce que la programmabilité croissante des GPU a apporté, c'est une autre ressource à utiliser en meme temps que le CPU, ou à coté, pour des problèmes qui s'y pretent bien (et ils sont loin de tous bien s'y preter). Quand j'ai un probleme à regler, j'ai 2 approches possibles, je me dis pas que je vais utiliser que le CPU ou que le GPU, mais je vais essayer d'utiliser les 2 au mieux, en essayant de prendre en compte les problemes de localisation des données tout ca.
et vivement que les cartes physiques programmables arrivent, ca fera un troisieme type d'unité de calcul efficace pour une autre classe de problemes, ca sera bien en conjonction avec ce qu'on a deja !-
[^]Re: Et si rien ne disparaissait ?
Posté par Julien () le 20/05/2008 à 09:57. (lien). Évalué à 4.Je ne connais pas du tout le fonctionnement des cartes physiques. En quoi diffèrent-elles d'une carte graphique ?
Il me semblerait logique que les deux se prêtent au parallélisme massif ... J'ai même cru entendre qu'elles arrivaient trop tard (les cartes physiques) et qu'avec les cartes graphiques programmables, leur valeur ajoutée était ridicule.-
[^]Re: Et si rien ne disparaissait ?
Posté par Morreale Jean Roc () le 20/05/2008 à 11:21. (lien). Évalué à 4.les cartes physiques n'arriveront jamais, NVIDIA a racheté la seule boîte en fabriquant et ce, plus pour la partie logicielle qui sera intégré dans les GPU. Pareil pour Intel et son rachat d'Havok.
-
-
Le CPU, limité dans son évolution
Je suppose que déjà le système de parallélisation automatique du x86 doit prendre une certaine place sur la puce...
Si on l'enlevait et qu'on passait à du VLIW on devrait gagner une place non négligeable. Mais bon, Intel a essayé (Itanium), et le marché n'a pas suivi.
Le problème finalement, c'est surtout le support logiciel. Les cartes graphiques sont essentiellement utilisées par les pilotes pour les jeux fournis par leurs constructeurs, donc ce n'est pas vraiment problématique si leur assembleur est tellement complexe que seul le constructeur sait l'exploiter. Ce qui compte, c'est la performance.
Surtout qu'il n'y a pas de problème de compatibilité, puisque ça passe par une couche d'abstraction (OpenGL, DirectX...)
Les CPUs font face à un tout autre problème. Il y a à la fois le problème de compatibilité et celui de la simplicité. Les divers OS, compilateurs, etc. doivent être à même d'exploiter le matériel sans dépenser des milliers en recherche dessus, et les utilisateurs veulent que le travail qu'ils ont effectués jusqu'à présent fonctionne.
Pour toutes ces raisons, malheureusement, on ne peut pas se débarasser de x86 si facilement pour le remplacer par un jeu d'instruction mieux fait et qui permettrait de gagner des performances non négligeables. C'est triste quand on voit que les GPU peuvent tout se permettre puisqu'ils n'ont pas à conserver la moindre usabilité ou compatibilité avec quiconque, ce qui leur permet d'évoluer et de s'améliorer beaucoup plus.
Idéalement, on pourrait se dire qu'un GPU devrait fusionner avec le CPU pour devenir son unité de calcul vectoriel. Sauf que pour les raisons citées ci-dessus, le GPU a bien plus de potentiel, donc ce n'est pas réellement envisageable.
Le seul moyen pour que ce le soit, ce serait que le constructeur maintienne une implémentation libre d'une abstraction. Un peu comme ce que fait nvidia avec CUDA, qui permet justement d'utiliser un GPU comme un CPU limité.
(Désolé si je me répète un peu, il est tard)
-
[^]Re: Le CPU, limité dans son évolution
Posté par reno () le 20/05/2008 à 07:49. (lien). Évalué à 2.>Je suppose que déjà le système de parallélisation automatique du x86 doit prendre une certaine place sur la puce...
Bof, pas tant que ça maintenant (en pourcentage), c'est pour ça que les x86 ont finis par rattrapper les RISCs..
Je pense que les scientifiques vont être très, très satisfait d'avoir l'AVX, les calculs scientifiques se faisant sur 64bit de précision en général.
>Si on l'enlevait et qu'on passait à du VLIW on devrait gagner une place non négligeable
Pour les VLIW, il reste le probleme du compilateur, a part pour du code tres regulier un VLIW n'est pas exploité au mieux donc ce n'est pas du tout évident que le VLIW soit la bonne voie: le POWER est tout à fait compétitif par rapport a l'Itanium.-
[^]Re: Le CPU, limité dans son évolution
Posté par briaeros007 () le 20/05/2008 à 09:37. (lien). Évalué à 2.Bof, pas tant que ça maintenant (en pourcentage), c'est pour ça que les x86 ont finis par rattrapper les RISCs..
En réalité (en ce qui concerne AMD en tout cas) les processeurs X86 SONT des RISC, avec une couche de ré écriture du code au mileu.--
Subete ga wakatta toki…watashi ga anta wo korosu.-
[^]Re: Le CPU, limité dans son évolution
Posté par Nicolas Boulay () le 20/05/2008 à 11:34. (lien). Évalué à 5.RISC/CISC définisse le jeu d'instruction.
Au début, le RISC correspondait à une architecture load/store (load/store clairement séparer des opérations ALU, avec donc moins de mode d'adressage et un pipeline plus court). En général, le RISC a une taille d'instruction fixe (32 bits en général) pour simplifier le décodage et le pipeline.
Donc le x86 est du vrai CISC bien complexe et ne sera jamais du RISC quelques soit la micro architecture en dessous.
D'ailleurs, ARM avec son thumb2 est entrain de devenir de plus en plus CISC avec des instructions de tailles 16 ou 32 bits.--
"Plus un État censure, moins il est démocratique. Mais parce qu’on vous ment sur internet, on va le censurer pour ceux qui télechargent."-
[^]Re: Le CPU, limité dans son évolution
Posté par briaeros007 () le 20/05/2008 à 12:11. (lien). Évalué à 3.on est tous d'accord que le x86 c'est un jeu d'instruction CISC.
Mais les processeurs AMD x86 reposent sur un coeur RISC. C'est tout ce que je voulais dire.--
Subete ga wakatta toki…watashi ga anta wo korosu.-
[^]Re: Le CPU, limité dans son évolution
Posté par Nicolas Boulay () le 20/05/2008 à 14:21. (lien). Évalué à 2.Sauf que dire "coeur risc" n'a strictement aucun sens.
Je sais que les x86 transforme les instructions en µinstructions voire en suite de µinstructions mais on est plus proche du vliw que du risc. Pour le pentium 4, on parlait de 118 bits ce qui réduisait de beaucoup le cache L1 instructions.--
"Plus un État censure, moins il est démocratique. Mais parce qu’on vous ment sur internet, on va le censurer pour ceux qui télechargent."-
[^]Re: Le CPU, limité dans son évolution
Posté par Hank Lords (Jabber id, ) le 20/05/2008 à 18:55. (lien). Évalué à 1.Pour le pentium 4, on parlait de 118 bits ce qui réduisait de beaucoup le cache L1 instructions.
Ah ben oui mais vu qu'on a besoin de moins d'instructions pour effectuer une tache ca compense :) (En réalité je n'en sais rien et je pense que non, il y'a probablement des papiers tres pointus sur ce sujet quelque part sur l'ieee).
-
-
-
-
-
-
[^]Re: Le CPU, limité dans son évolution
Posté par auve () le 20/05/2008 à 08:42. (lien). Évalué à 2.Mais bon, Intel a essayé (Itanium), et le marché n'a pas suivi.
Ce ne serait pas plutôt un problème de compilateurs, au niveau de l'ILP que ces derniers arrivent à extraire, ou pire, de l'ILP intrinsèquement présent dans la plupart des programmes (HPC exclu...) ?--
« Puissance de l'absorbtion méditative. » -- Samten Wangchen-
[^]Re: Le CPU, limité dans son évolution
Posté par Juke (Jabber id, page perso, ) le 20/05/2008 à 10:15. (lien). Évalué à 10.C'est pas faux.
-
[^]Re: Le CPU, limité dans son évolution
Posté par baud123 (Jabber id, page perso, ) le 20/05/2008 à 11:02. (lien). Évalué à 9.c'est intrinsèquement que tu n'as pas compris ? ;-)
-
-
-
[^]Re: Le CPU, limité dans son évolution
Posté par Julien () le 20/05/2008 à 09:53. (lien). Évalué à 5.Je pense de mon côté que la révolution (si révolution il y a) viendra des langages interprétés et JITés. Je ne serais pas étonné qu'on nous refasse le coup du Out-of-order_execution avec le bytecode dans le rôle de l'assembleur et l'assembleur dans le rôle du microcode.
Je m'explique : le OoO revient à transformer l'assembleur du binaire en un code plus finement découpé : le microcode. Ce microcode est stocké dans un "pool" dans le processeur et chaque instruction est exécutée dans le désordre (out of order) dès que ses dépendances sont satisfaites.
Une partie du processeur est donc destinée à la gestion de ce mécanisme : traduction, gestion des dépendances, etc ...
Dans le cas du bytecode, on ajoute une étape de transformation. Le bytecode est soit interprété, soit transformé en code assembleur pendant l'exécution (JIT). Il me semble que cette étape ressemble fortement à ce qui se fait pour le OoO, mais à une échelle plus large.
On pourrait donc imaginer une architecture où un coeur est destiné à la gestion de ce bytecode (exécution de la VM) et où les autres coeurs exécutent le résultat. Cette solution permettrait de tirer partie de coeurs hétérogènes : 1CPU OoO classique pour l'interprétation, un GPU pour ce qui se parallélise facilement, un VLIW pour ce qui a été JITé, un FPGA pour les tâches très répétitives, etc ...
Enfin, je divague ...-
[^]Re: Le CPU, limité dans son évolution
Posté par chimay (page perso, ) le 20/05/2008 à 12:47. (lien). Évalué à 1.de façon plus générale, on peut même imaginer un système où chaque coeur (ou sous-groupe de qq coeurs) est spécialisé dans une tâche :
* compatibilité x86 (ce qui permettrait de s'en affranchir dans les autres coeurs)
* opérations graphiques
* ...
enfin, je n'y connais pas grand chose :)-
[^]Re: Le CPU, limité dans son évolution
Posté par chimay (page perso, ) le 20/05/2008 à 12:49. (lien). Évalué à 1.* répartition des processus vers les autres coeurs pour la parallélisation
* traitement vectoriel
etc
on peut tout imaginer
-
-
Architecture Cell
Article sympa mais dommage qu'on y parle pas de l'architecture du Cell qui est en quelque sorte l'architecture unifié que veut sortir AMD :
- 1 coeur PowerPC all purpose
- 8 DSPs dédié au traitement numérique
Quelques liens :
* Un lien parlant de l'architecture fusion : http://www.presence-pc.com/actualite/amd-phenom-fusion-27471(...)
* Page sur un driver OpenGL basé sur Galium3D pour le processeur Cell : http://www.tungstengraphics.com/wiki/index.php/OpenGL_for_Ce(...)
A l'avenir, les constructeurs délégueront les traitements aux différents coeurs de la machine en fonction de la nature de ces traitements.
-
[^]Re: Architecture Cell
Posté par patrick_g (page perso, ) le 20/05/2008 à 09:34. (lien). Évalué à 10.Je prépare une news sur les superordinateurs et le Cell.
-
[^]Re: Architecture Cell
Posté par briaeros007 () le 20/05/2008 à 09:42. (lien). Évalué à 6.j'attend ça avec impatience ;)
--
Subete ga wakatta toki…watashi ga anta wo korosu.-
[^]Re: Architecture Cell
-
-
GPU et DSP
> les cartes graphiques munies de GPU sont devenues des sortes d'énormes DSP
Attention dans la comparaison des GPU avec des DSP. Dans l'embarqué, on a coutume de dire que les GPU sont des DSP du pauvre, dans le sens où ils sont relativement bien moins puissant que leurs homologues embarqués. Un téléphone avec un processeur et un DSP tournant à quelques centaines de MHz est capable de décoder de la vidéo HD en temps réel. On en est très loin avec les CPU et GPU desktop.
Donc le terme "énorme DSP" me semble un peu exagéré, j'aurais plutôt dit "DSP bas de gamme".
-
[^]Re: GPU et DSP
Posté par krumtrash () le 20/05/2008 à 10:46. (lien). Évalué à 1.Plutôt DSP mal exploité que DSP bas de gamme (ou DSP multi-purpose vs DSP hyper spécialisé).
Ca m'étonnerais quelque peu, qu'un DSP de mobile consommant quelques milliwatts soit "plus mieux" que les monstres de Nvidia et ATI en terme de patate brut.
Et il na faut pas oublier les multiples couches (OS/API/driver) qui doivent être bien minimisé sur mobile.-
[^]Re: GPU et DSP
Posté par Gaetan_63 (page perso, ) le 20/05/2008 à 14:11. (lien). Évalué à 3.Le traitement est spécialisé donc pour ce traitement particulier, oui, le DSP à seulement 200MHz est plus efficace qu'un GPU a plusieurs centaines de MHz avec une énorme mémoire à coté, qui bouffe un énorme courant et qui chauffe beaucoup.
Surtout dans les STB de salon où la petite puce a un "petit" coeur DSP qui peut décoder 2 flux 1080p, sans chauffer (pas de ventillateur). Seul les dernières cartes graphiques peuvent le faire, et encore, si elles ont les accélérateurs hardware de décodage H.264 par exemple.
Accélérateurs qui sont biensûr présent dans le DSP de la STB, évidement...
-
-
[^]Re: GPU et DSP
Posté par Nicolas Boulay () le 20/05/2008 à 11:40. (lien). Évalué à 3.Un GPU surtout de bureau a plusieurs ordre de grandeurs de puissance qu'un DSP surtout de mobile.
Si on ne regarde pas les shaders qui pourrait être des x86 avec des instructions en plus, il reste le pipeline de coloration des triangles qui lui demande une puissance énorme mais qui se réalise très bien en hardware avec plein de multiplier et d'additionneur.
Dans le projet open-graphics, la question revient souvent dans l'utilisation de dsp mais la réponse est toujours la même : cela sera bien trop lent.--
"Plus un État censure, moins il est démocratique. Mais parce qu’on vous ment sur internet, on va le censurer pour ceux qui télechargent."
-
[^]Re: GPU et DSP
Posté par Matthieu Lagouge (Jabber id, page perso, ) le 21/05/2008 à 03:20. (lien). Évalué à 3.Je partage les opinions ci-dessus sur la relativisation du terme "DSP du pauvre" et "bien moins puissants que leurs homologues embarqués".
Les DSP dans l'embarqué sont très spécialisés. Ca veut dire qu'ils nécessitent une conception bien particulière qui leur permettra de faire UNE tâche très rapidement.
Un DSP embarqué qui décode des flux HD le fait certainement très bien, si je lui balance les calculs d'applications de textures et autres joyeusetés gérées par les cartes graphiques, il va tomber à genou.
On peut faire la même comparaison avec les décodeurs mp3/autre ajoutés sur certaines cartes sons il y a quelques années, et dire que les DSP de carte son c'est vraiment bas de gamme parce que le décodeur mp3 il le fait vachement mieux.
Certes, mais le décodeur mp3, il ne fait que décoder des mp3 et rien d'autre...
-
[^]Re: GPU et DSP
Posté par Zenitram (page perso, ) le 21/05/2008 à 08:58. (lien). Évalué à 4.Un téléphone avec un processeur et un DSP tournant à quelques centaines de MHz est capable de décoder de la vidéo HD en temps réel.
Je veux une démonstration : parce que bon, si tu parle de "HD" avec un truc en 512*288 (le "TVHD" du téléphone) forcement le DSP du téléphone va suivre... Mais si c'est pour décoder du 1920*1080 (un vrai TVHD qu'un GPU sait décoder), j'ai peur que ton DSP de téléphone ai du mal...
Je dirai plutôt que les GPU sont devenus des DSP multi-fonctions (entre un DSP de téléphone sachant faire une chose très bien, mais hors de question de faire autre chose que cette unique chose, et un CPU qui fait tout mais lentement), mais pas des DSP bas de gamme (vu que les DSP que tu cites en exemple sont pauvres, très pauvres en fonctionnalités)-
[^]Re: GPU et DSP
Posté par rewind () le 21/05/2008 à 09:57. (lien). Évalué à 3.Tu veux une démonstration ? Je vais te donner deux exemples :
Un processeur mobile (dans un téléphone) qui tourne à 400Mhz et qui encode et décode du MPEG-4 en temps réel jusqu'au VGA (640x480) à 30fps, du WMA, du H264 (jusqu'au QVGA (320x240)), du JPEG et qui fait de l'audio en prime.... "très pauvres en fonctionnalités" ? Je passerai sur l'argument du 1920x1080 sur un téléphone, je dirais que vu la taille des écrans, c'est loin d'être nécessaire.
http://www.st.com/stonline/products/families/mobile/processo(...)
Un autre exemple dans des set-top-box, un processeur à 266MHz et deux DSP à 400Mhz, ça décode du H264 High Profile et du MPEG-2 en HD (jusqu'à 1080i) et toujours en prime, tu as le son...
http://www.st.com/stonline/products/literature/bd/11102.htm
Maintenant, j'aimerais bien qu'on me montre des couples CPU/GPU qui font le même genre de chose à de telles vitesses.-
[^]Re: GPU et DSP
Posté par Zenitram (page perso, ) le 21/05/2008 à 10:04. (lien). Évalué à 4.Oui, donc rien à voir avec la puissance des GPU dont on discute, tu me le confirme...
Oui un DSP de téléphone sait faire des choses, mais beaucoup moins qu'un GPU qui lui sait faire du 1080p!
Pour les set-to-box, le DSP sait décoder du H264, bien... Mais sait-il faire autre chose? non!
Tu donne des exemples, mais n'a pas lu en entier l'argumentation : les DSP savent faire des choses, mais très peu de choses, ils sont hyper spécialisé, un GPU est moins spécialisé, sait faire plus de choses...
Maintenant, j'aimerais bien qu'on me montre des couples CPU/GPU qui font le même genre de chose à de telles vitesses.
Et moi j'aimerai bien voir tes DSP faire autre chose que décoder du H264. Ils ne savent pas.
Les DSP donnés en exemples sont "pauvres" en fonctionnalités.
Un GPU est entre un DSP et un CPU... Mais n'est certainement pas un DSP bas de gamme, du fait de sa polyvalence, absente d'un DSP...-
[^]Re: GPU et DSP
Posté par rewind () le 23/05/2008 à 08:58. (lien). Évalué à 2.Ils savent faire d'autres choses et l'ensemble des codec qu'ils savent gérer montre qu'ils ne sont pas si spécialisés que ça. Il est possible de faire plein de choses avec un DSP, seulement, les DSP vendus font ce qu'on leur demande de faire et à l'heure actuelle, c'est de la vidéo.
D'ailleurs, ces DSP se programment en C, pas dans un langage restreint. Alors tout ce qu'il est possible de faire en C, il est possible de le faire tourner sur un DSP. Et je peux t'assurer qu'on peut leur faire faire n'importe quoi !
Tu dis qu'un GPU sait faire du 1080p, je peux te dire qu'un CPU sait faire du 1080p aussi, ça n'en fait pas un semblant de DSP pour autant.
-
-
-
[^]Re: GPU et DSP
Posté par Nicolas Boulay () le 21/05/2008 à 10:00. (lien). Évalué à 2.Les futurs téléphones visent le 720p. Chez TI il embarque des c64 a 500 Mhz (vliw 8 voies, 2 multiplieurs).
--
"Plus un État censure, moins il est démocratique. Mais parce qu’on vous ment sur internet, on va le censurer pour ceux qui télechargent."
-
Interface logicielle
Les constructeurs de cartes 3D peuvent partir dans des directions différentes, ce qui sera important pour les codeurs sera d'avoir une interface unifiée pour programmer les GPUs et en tirer le meilleur.
Si vous suivez le développement de la nouvelle pile graphique de Linux, on commence à avoir des conflits entre différentes interfaces (ex: GEM vs TTM, Gallium3D trop "windaube"...). En effet, ce qui risque d'arriver est d'avoir des types de GPUs qui devront chacun être programmés de manière réellement différente et une interface de programmation unifiée pénaliserait certaines architectures au détriment d'autres car certaines seraient "mieux" adaptées à "l'interface".
Bref, en théorie cela ne devrait pas arriver car les constructeurs sont censés se mettre d'accord sur opengl3. Mais bon...
Prenons l'exemple de GEM et TTM, et bien ces interfaces définissent comment intéragir avec la ram de la carte graphique. Grosso modo, les GPUs semblent vouloir se mettre à gérer leur RAM comme le font nos CPUs (pagination, protection etc...). Or un logicie l(moteur) 3D qui gère vraiment beaucoup de textures, pour être performant devra être proche de la gestion de la ram vidéo (cf le moteur Id5 qui veut "streamer" des textures géantes) et des interfaces faisant abstraction du modèle de gestion mémoire seront pénalisantes.
-
[^]Re: Interface logicielle
Posté par reno () le 20/05/2008 à 11:05. (lien). Évalué à 2.Un lien qui montre la différence de performance en GEM et TTM:
http://www.phoronix.com/scan.php?page=news_item&px=NjQ3N(...)-
[^]Re: Interface logicielle
Posté par reno () le 20/05/2008 à 11:22. (lien). Évalué à 2.Un meilleur lien sur le debat GEM / TTM:
http://aseigo.blogspot.com/2008/05/i915-and-gem.html-
[^]Re: Interface logicielle
Posté par GPL (Jabber id, ) le 20/05/2008 à 13:01. (lien). Évalué à 2.Le problème est que seuls les GPUs sont vraiment testés avec ces interfaces.
Il faudrait les tester sur des architectures AMD et NVIDIA...
De plus il semblerait qu'AMD soit sur le point d'ajouter de nombreuses nouveautés à la gestion de le ram vidéo de leur GPU.
Il faudrait savoir comment les futurs GPUs vont gérés leur mémoires et voir si c'est généralisable sans pénaliser certains dans 1 et 1 seule interface.
Sinon, il va falloir plusieurs interfaces bas niveau dont les clientes seront les interfaces de plus haut niveau.
On va me dire que c'est du bon sens...
-
-
-
[^]Re: Interface logicielle
Posté par Zenitram (page perso, ) le 21/05/2008 à 09:09. (lien). Évalué à 2.En effet, ce qui risque d'arriver est d'avoir des types de GPUs qui devront chacun être programmés de manière réellement différente et une interface de programmation unifiée pénaliserait certaines architectures au détriment d'autres car certaines seraient "mieux" adaptées à "l'interface".
Genre la méthode actuelle des GPU (dessin par triangle) et son API qui va bien a supprimé la puissance d'une autre méthode : Voxel (qui si c'est fait en CPU brut est plus performant, mais voila, d'un coté le CPU qui fait tout, de l'autre une armée de GPU qui fait le calcul...)?
et la virtualisation ?
Je pense que la voie prise par Transmeta à l'époque càd la virtualisation des instructions x86 est aussi envisageable avec l'augmentation de microcode dans les processeurs, et l'on pourra au choix répartir la puissance de calcul en instruction orientées CPU ou GPU
et se débarrasser de la dépendance à x86...,
mais ce qui est clair après la disparition des cartes filles :
* réseau
* controleur
* carte son
et la course à l'intégration, la prochaine cible est clairement la carte vidéo, déjà intégrée sur la Carte Mère pour le bas de gamme et on commence à voir des GPU de qualité directement intégrés sur la CM.
AVX = Vectoriel
Nicolas Boulay me l'a souflé un peu après et je ne l'ai donc pas mis dans la news : l'intérêt d'AVX est de proposer un jeu d'instructions certes complexe mais vectoriel :
Dans des registres 256 bits on peut caser 4 flottants 64 bits, et réaliser des opération vectorielles dessus, du genre R = r1*r2 + r3*r4.
Il ya tout ce qu'il faut pour implémenter une bonne librairie vectorielle, matricielle à coup d'intrinsics.
Evidemment c'est quasiment pas parallelisable, et quand ça l'est, c'est le processeur qui va le détecter, suite aux incantations vaudous sur le code.
Conclusion : ça obligera à tâter de l'assembleur, car je vois mal le compilateur réussir à gérer ça tout seul, mis à part des cas très simple, avec des techniques comme celle de l'autovectorisation de GCC, et ça obligera surtout à penser son code de manière à aider le processeur à parraléliser tout seul, en mettant le moins possible de dépendances entre les opérations successives.
La routine quoi.
Je me demande si ça serait pas intelligent de reprendre le shading language, qui est très orienté vectoriel, et de lui faire générer de l'AVX. Ce serait très intelligent : un compilateur (avec une grosse grammaire) comme C arriverait plus facilement à mapper les calculs sur l'ensemble des opérations assembleurs proposées...
-
[^]AVX = SSE++
Posté par reno () le 20/05/2008 à 16:42. (lien). Évalué à 2.Bref tout comme SSE..
Sinon tu parlais de compilation: AVX a des instructions a 3 registres (voire 4 pour la multiplication-addition) contrairement au SSE qui modifiait une des sources, ce qui devrait simplifier pas mal le travail du compilateur|programmeur au niveau de la gestion des registres.-
[^]Re: AVX = SSE++
Posté par Troy McClure (page perso, ) le 20/05/2008 à 17:21. (lien). Évalué à 3.en gros intel se décide à (finir de) reprendre les bonnes idées d'altivec (avec 10 ans de retard, et après moultes itérations:MMX, SSE, SSE2, SSE3, SSSE, SSE4.1, SSE4.2...)
-
[^]Re: AVX = SSE++
Posté par reno () le 20/05/2008 à 18:29. (lien). Évalué à 2.Tout a fait. Mais avec en plus des vecteurs 256 bits au lieu de 128 (Altivec et SSE).
256bit = 4*64bit: ça va faire plaisir aux scientifiques qui utilisent des flottants sur 64b et non pas 32b comme pour les jeux.-
[^]Re: AVX = SSE++
Posté par Ontologia (page perso, ) le 20/05/2008 à 19:27. (lien). Évalué à 2.Oui et en fait je suis pas sûr que ça puisse concurrencer NVidia en puissance de calcul :
Admettons qu'ils consacrent un coeur à leur AVX :
On a 15 registres 256 bits. En admettant qu'ils arrivent à faire exécuter toutes les opérations en un cycle, avec la possibilité d'exécuter plusieurs opérations en même temps, à condition qu'il n'y ai bien sûr pas dépendance entre données, je suis pas sûr qu'on puisse aller loin.
Si on l'utilise pour des opération à 3 opérandes (opération simple genre r = a*b +c), on pourra exécuter 15/3 opérations en même temps. SI l'on suppose qu'il exécute son opération en un cycle.
A 3 Ghz, ça nous fais 3.10^9*5 opérations.
r = a*b+c => 2 opérations simples
Soit 3.10^10 opérations, soit 10 Gflops
On est loin des 500 Gflops atteint par un GPU....-
[^]Re: AVX = SSE++
Posté par Troy McClure (page perso, ) le 20/05/2008 à 20:45. (lien). Évalué à 1.c'est sûr, le passage SSE vers AVX (qui arrivera avant larrabee si j'en crois http://en.wikipedia.org/wiki/Advanced_Vector_Extensions ) ne fera que doubler le nombre de flops, donc pas de miracle pour la perf peak. Par contre ça devrait etre beaucoup plus souple en matière d'alignement des données et donc plus facile à utiliser pour les humains et les compilos
En fait, http://arstechnica.com/news.ars/post/20080429-in-depth-intel(...) précise que pour larrabee c'est un autre jeu d'instruction vectorielles qui devrait etre utilisé avec des vecteurs 2 fois plus longs (16 float)
-
[^]Re: AVX = SSE++
Posté par reno () le 20/05/2008 à 22:16. (lien). Évalué à 2.>Admettons qu'ils consacrent un coeur à leur AVX :
Non, je pense que chaque coeur aura son AVX comme a l'heure actuelle chaque coeur a son SSE.
>On a 15 registres 256 bits. En admettant qu'ils arrivent à faire exécuter toutes les opérations en un cycle, avec la possibilité d'exécuter plusieurs opérations en même temps
En général sur chaque coeur une seule operation SIMD est faite a un moment, par contre on peut avoir un load/store et un calcul entier en parallele.
Tes caculs de FLOPS sont plutôt mal fichu, le calcul est:
nombre de coeur * nombre instruction flottante en // par coeur * frequence.
Le nombre de registre n'a rien a voir la dedans..
4 coeur * 4 (a priori) * 3GHz ~= 50 GFlops
Mais bon ce nombre (tout comme celui des GPU) ne veut pas dire grand chose: les performances de la mémoire, des caches ont une grande importance en pratique, ainsi que la facilité de programmation.
Les GPUs sont plus puissantes, mais beaucoup plus dure a programmer donc les unités SIMD ont une niche non-négligeable: c'est beaucoup plus simple de faire un ensemble de librairie de calculs pour SSE (et plus tard AVX )(ça existe déjà d'ailleurs) que pour les GPU (a ma connaissance une libraire n'existe pas encore je crois)..
-
-
-
-
GPU vs CPU
http://www.tomshardware.com/reviews/cpu-gpu-upgrade,1928.htm(...)
Article intéressant.
Bref rien de nouveau sous les tropics, changer sa carte graphique est toujours plus avantageux en termes de puissances brute, sans parler du coût, on change plus souvent les chaussettes aux procos qu'on ne change le port graphique (ou alors c'est juste des modifs minimes, des histoires de bande passante tout ça)
Ce ci dit avec une grosse carte il faut quand même un processeur assez véloce afin que la CG développe tout son potentiel.
Généralement une assez bonne CG avec un proc moyen de gamme, ou le meilleur rapport perf/prix et vous pouvez jouer convenablement.
-
[^]Re: GPU vs CPU
Posté par Nicolas Boulay () le 20/05/2008 à 17:08. (lien). Évalué à 3.Entre un processeur moyen de gamme et haut de gamme, il y a quelques dizaines de pour cent de perf de différence.
Pour un GPU, il peut y avoir plusieurs ordre de grandeur de perf. (au moins 1 en tout cas, donc un rapport 10) entre le moyen et le haut de gamme.--
"Plus un État censure, moins il est démocratique. Mais parce qu’on vous ment sur internet, on va le censurer pour ceux qui télechargent."
[+] Les développeurs font la différence ?
Je pense que ce sont Microsoft et Apple font la décision.



Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.