AMD annonce de nouveaux APU et se moque un peu du monde

AMD annonce de nouveaux APU et se moque un peu du monde

Six mois après les tests, le vrai lancement

Avatar de l'auteur
David Legrand

Publié dans

Sciences et espace

01/08/2014 2 minutes
70

AMD annonce de nouveaux APU et se moque un peu du monde

Début juillet, AMD communiquait sur de nouvelles références d'APU, sans évoquer leurs tarifs ou leur disponibilité. Aujourd'hui, le constructeur revient sur cette annonce et en dit plus sur leur commercialisation. On découvre au passage un « nouvel » A8-7600 qui n'est en fait que le modèle dévoilé en janvier et testé par la presse, mais jamais commercialisé.

AMD cultive depuis quelque temps un certain don pour les lancements chaotiques et polémiques. Et ce n'est pas le communiqué envoyé ce matin concernant ses « nouveaux » APU qui va y changer quoi que ce soit. En effet, trois références sont évoquées pour venir compléter la gamme actuelle : les A6-7400K, A8-7600 et A10-7800. Tous vous disent déjà quelque chose ? C'est normal.

 

En effet, le premier et le dernier ont déjà été l'objet d'une annonce au début du mois. Si leurs caractéristiques étaient dévoilées, dans plus de détail, leur tarif et leur disponibilité étaient inconnus. Le communiqué du jour est donc seulement l'occasion de refaire parler de ce petit monde, en évoquant les tarifs officiels : 79, 104 et 158 dollars.

 

ADM APU Août 2014

 

Mais le cas le plus ahurissant est sans doute celui de l'A8-7600. En effet, celui-ci a déjà été testé par la presse il y a des mois. Et pour cause, en janvier dernier il était déjà l'objet d'une annonce à l'occasion du lancement de la génération Kaveri. Il était alors le seul produit a pouvoir être testé par les journalistes sous NDA, sans qu'il n'ait jamais été mis en vente.

 

Pour le reste, il n'y a rien de bien nouveau à dire puisqu'il s'agit seulement de modèles avec des fréquences différentes et un TDP de 45 watts. Espérons tout de même que, cette fois, tous les produits évoqués arriveront chez les revendeurs. Des bundles contenant un code pour Thief, Sniper Elite III ou Murdered Soul Suspect devraient aussi être proposés.

Écrit par David Legrand

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

Fermer

Commentaires (70)


comme je suis au taff je peux pas ouvrir les liens de tests, donc je pose la question quand meme :

que valent ils ces APU ?

niveau capacités graphiques, font ils tourner les jeux actuel de facons regardable ? de qualité X1/PS4 ?



merci bien



edit: comme il est casse pied de de repondre a facilement a cette question ne serait ce que par les liens donnés, je peux comprendre qu’on ne me reponde pas, je chercherai plus tard.


Et Intel qui sort du Haswell “refresh” à coup de 100 MHz supplémentaires, c’est pas se moquer du monde aussi ?



Décidément pas un pour rattraper l’autre…


En même temps, au niveau processeur il n’y a plus rien à faire.








Danytime a écrit :



En même temps, au niveau processeur il n’y a plus rien à faire.





y a toujours a faire



on est pas forcement obligé de bosser sur les perf?

Ils peuvent bosser sur la conso, le cout de fabrication, la resistance aux temperatures extremes….









fraoch a écrit :



y a toujours a faire



on est pas forcement obligé de bosser sur les perf?

Ils peuvent bosser sur la conso, le cout de fabrication, la resistance aux temperatures extremes….



Mais c’est ce qu’ils font depuis la fin de la course au MHz, du peaufinage. Donc il n’y a plus rien à faire.



mouais, normal quoi…

on vas devoir attendre les gammes ddr4 …








Danytime a écrit :



Mais c’est ce qu’ils font depuis la fin de la course au MHz, du peaufinage. Donc il n’y a plus rien à faire.







bah si <img data-src=" />



s’ils continuent de reduire la conso, c’est qu’ils ont pas fini

c’est qu’il reste a faire.









Danytime a écrit :



Mais c’est ce qu’ils font depuis la fin de la course au MHz, du peaufinage. Donc il n’y a plus rien à faire.







le jour ou ils seront capables de me pondre une puce aux perf d’un I7 avec la conso d’un ARM d’entrée de gamme, moi je serai preneur



La AMD tend plutot vers la puce puissante comme une ARM qui consomme … .comme un i7.



Serieux AMD faut se sortir les doigts la, ils ont vraiment rien dans les cartons, sa se sent a des kilometres, et a la place d’Intel j’aurai aussi rajouté 100Mhz, pourquoi vouloir boucler son sprint en 10sec, quand l’adversaire cours 40sec derriere, et en boitant… .



Je suis pas Intel fan, mais le fait est que j’ai voulu monter ma premiere conf en APU A10, j’ai vite déchanté.


AMD, ils ne devaient pas sortir l’architecture steamroller un jour en CPU(non APU) ?



Il me semble que ça fait 2 ans que j’attends ces CPU avant d’upgrader



Ils ont abandonné la gamme performance ?


C’est vrai que cet entêtement d’AMD a vouloir nous imposé ses APU (CPU+GPU) peut paraitre idiot, mais je pense que cela sera un pari gagnant dans quelques années quand ils auront plus d’expertise pour les steam machines par exemple.



À conditions que AMD revoit ses drivers pour les utilisateurs Linux vus que même si la puissance est importante, elle ne fait pas tout, l’optimisation compte beaucoup.








DahoodG4 a écrit :



La AMD tend plutot vers la puce puissante comme une ARM qui consomme … .comme un i7.







j’aime cette marque, et ca me fait pas rire ce genre de remarque…. quoi que …<img data-src=" /><img data-src=" />



en meme temps ils cherchent la aussi !









Danytime a écrit :



Mais c’est ce qu’ils font depuis la fin de la course au MHz, du peaufinage. Donc il n’y a plus rien à faire.





C’est vrai que rien n’a changé depuis qu’ils ont atteint les plafonds de fréquence situés aux alentours de 4 ou 5GHz dans les années 2000 (et même probablement bien avant)… <img data-src=" />



<img data-src=" /> <img data-src=" /> <img data-src=" />AMD ! <img data-src=" /> <img data-src=" /> <img data-src=" />





























Bon, maintenant je vais lire la news. <img data-src=" />


Si AMD n’est pas capable de faire aussi bien que les core I7, il devrait ouvrir plus leur code concernant leur shader.



Il suffirait d’avoir enfin un compilateur libre assez complet pour enfin utiliser la puissance des shader. Mais rie n’est documenté ou presque, il n’y a pas de drivers openCl ou à peine, etc…



Ils sont idiot de ne pas profiter de leur énorme avance dans les APU par rapport à intel. Je ne connais quasiment aucun logiciel en dehors des jeu, qui a besoin d’une carte GPU puissante (photoshop ? du traitement vidéo ?).








AxelDG a écrit :



C’est vrai que rien n’a changé depuis qu’ils ont atteint les plafonds de fréquence situés aux alentours de 4 ou 5GHz dans les années 2000 (et même probablement bien avant)… <img data-src=" />







Ils ont multiplié les cores, mais quasiement aucun logiciel sait se servir de plus de 3 ou 4 cores. Ils ont baissé la consommation, ce qui augmente les usages possible, mais ne touche pas au performance.



J’espère que AMD fera comme avec l’Athlon, quand Intel s’était endormis sur ces lauriers avec le Pentium 4.









cyrano2 a écrit :



Si AMD n’est pas capable de faire aussi bien que les core I7, il devrait ouvrir plus leur code concernant leur shader.



Il suffirait d’avoir enfin un compilateur libre assez complet pour enfin utiliser la puissance des shader. Mais rie n’est documenté ou presque, il n’y a pas de drivers openCl ou à peine, etc…



Ils sont idiot de ne pas profiter de leur énorme avance dans les APU par rapport à intel. Je ne connais quasiment aucun logiciel en dehors des jeu, qui a besoin d’une carte GPU puissante (photoshop ? du traitement vidéo ?).







ont ils reellement de l’avance sur Intel ? J’ai pas l’impression que l’escroc intel soit interessé par ce marcher









cyrano2 a écrit :



J’espère que AMD fera comme avec l’Athlon, quand Intel s’était endormis sur ces lauriers avec le Pentium 4.







gros +1, mais je n’y crois pas. A cette époque, AMD avait de biens plus gros moyens. Depuis le rachat d’ATI, ils sont toujours sur la corde raide



j’espere vraiment qu’ils continueront a democratiser les APU pour les mettre sur pleins de plateformes differentes (consoles, box, decodeurs videos etc…)









fraoch a écrit :



j’espere vraiment qu’ils continueront a democratiser les APU pour les mettre sur pleins de plateformes differentes (consoles, box, decodeurs videos etc…)







Pour que les APU ait un quelconque intérêt, il faut que la partie shader soit exploitable facilement par n’importe qui.



Pour l’instant, on a juste des cpu moins puissant que ceux d’intel et du silicium qui sert à rien pour les shader.









cyrano2 a écrit :



Ils ont multiplié les cores, mais quasiement aucun logiciel sait se servir de plus de 3 ou 4 cores.





C’est juste mais de plus en plus de logiciels et services tournent simultanément sur nos ordinateurs… et c’est là que l’intérêt du multi-core prend tout son sens.



Le manque de concurrence se fait cruellement sentir:





  • Intel règne sur le moyen et haut de gamme

  • AMD se cantonne à un rôle de second plan tout en s’assurant des rentrées via les consoles

  • Les processeurs basé sur l’architecture ARM cartonnent sur mobile mais leur arrivée sur le monde PC est bloquée par l’omniprésence de l’architecture x32/64.







    Microsoft a timidement tenté de faire bouger les choses avec sa surface RT avec le succès qu’on connaît. Il faudrait un concept d’universal app comme Apple l’a fait pour ses Macs…




Il est loin le temps où amd avec peu de ressources arrivait à pousser intel dans ses derniers retranchements








DarkMoS a écrit :



[*]Les processeurs basé sur l’architecture ARM cartonnent sur mobile mais leur arrivée sur le monde PC est bloquée par l’omniprésence de l’architecture x32/64. [/list]







Mouais… <img data-src=" />



Dans le monde PC, la première raison de l’absence d’ARM est surtout la faible puissance de leurs processeurs.

C’est bien beau d’avoir des jeux d’instructions bien optimisés, peu gourmand en énergie, bien spécifique pour certaines taches mais cette spécificité fait que les proc sont inutilisables quand tu as besoin de perfs brutes.

Y a bien quelques programmes adaptés à l’ARM mais les perfs sont encore loin de ce que l’on a déjà sur PC.



Si ARM veut s’imposer sur PC, va falloir qu’ils reviennent à leur premier amour en faisant des procos pour bureau: plus gros, plus énergivore mais aussi plus puissant.









fraoch a écrit :



que valent ils ces APU ?





Sur le papier c’est du CPU bof mais c’est parce que l’architecture est tellement nouvelle qu’à peu près rien ne l’exploite. En revanche sur certains scénarios qui exploitent ces nouvelles capacités, cet APU écrase tout le reste.





niveau capacités graphiques, font ils tourner les jeux actuel de facons regardable ? de qualité X1/PS4 ?



Ils font tourner les jeux correctement et c’est une puce simlilaire qu’on trouve dans les X1/PS4. A vrai dire certains jeux optimisés pour X1/PS4 qui pourraient ne pas bien tourner sur de grosses bécanes pourraient être à l’aise sur cet APU.



Pour autant il faut bien voir que la raison d’être de cet APU c’est avant tout de fournir de la puissance de calcul au CPU, pas d’être un GPU de compét. Ca fait quand même un GPU honnête mais c’est pas le but.







DahoodG4 a écrit :



Serieux AMD faut se sortir les doigts la, ils ont vraiment rien dans les cartons, sa se sent a des kilometres, et a la place d’Intel j’aurai aussi rajouté 100Mhz, pourquoi vouloir boucler son sprint en 10sec, quand l’adversaire cours 40sec derriere, et en boitant… .





Attend, faut être un peu charitable : à prix égal les perfs ne sont pas à la ramasse et en attendant c’est une vraie architecture innovante qui va permettre d’avoir demain de vrais gains de puissance.







cyrano2 a écrit :



Je ne connais quasiment aucun logiciel en dehors des jeu, qui a besoin d’une carte GPU puissante (photoshop ? du traitement vidéo ?).





Il y en a beaucoup dans le domaine scientifique ou autres applis hautes performances (minage bitcoin, crypto, certaines indexations, etc). Mais tout ça est surtout du côté serveur.



Cela dit ça restait rare pour trois raisons qui sont en train de disparaître :

a) En règle générale il n’était pas rentable de déporter vers le GPU du fait du coût de transfert . Celui-ci n’existe plus sur les APU grâce à la mémoire partagée. Par exemple le ramasse-miettes va peut-être passer sur le GPU dans les années à venir.



b) Si tu crées aujourd’hui un programme avec OpenCL tu vas encore avoir plein de clients chez lesquels ça ne fonctionnera pas. Voire chez lesquels l’ordinateur plantera ! On avait le même pb avec l’accélération matérielle de l’affichage il y a encore peu de temps.



c) Les modèles de programmation sont encore spécifiques et limités. Mais c’est de moins en moins vrai : cette nouvelle architecture introduit un dataflow libre, une mémoire virtuelle, etc. Quel monde par rapport à il y a quelques années où le moindre branchement divisait les perfs par deux. A ce train là dans quelques années tu exécuteras ton code habituel sur le GPU (il faudra simplement garder une profondeur restreinte de pile et éviter les appels virtuels).







cyrano2 a écrit :



Ils ont multiplié les cores, mais quasiement aucun logiciel sait se servir de plus de 3 ou 4 cores.





Pas d’accord, tu penses aux jeux qui restent contraints par les capacités des anciens modèles de matériels et d’API et exécutent des tâches différentes sur chaque coeur. Mais à côté tu as plein de programmes qui ont fait l’effort de distribuer leurs calculs de façon homogène et ceux-là tirent aussi bien partie de 2 coeurs que de 16.



Pour ma part ça fait déjà plusieurs années que chaque fois que j’ai des opérations lourdes à mettre en œuvre je fais en sorte d’exploiter toute la bête. En général je fais des architectures capables d’exploiter des dizaines de coeurs.







cyrano2 a écrit :



Pour que les APU ait un quelconque intérêt, il faut que la partie shader soit exploitable facilement par n’importe qui.





Les shaders ? Mais on s’en cogne, c’est pas une bête graphique, le but est d’accroître la puissance de calcul du CPU.



Ou alors tu veux dire qu’il doit être facille de déporter des calculs vers la partie GPU ? Alors oui. Et si OpenCL n’est pas difficile à programmer, je suis d’accord pour dire qu’il y a encore des progrès à faire. Notamment, justement, l’abandon d’OpenCL car pour exploiter aisément la mémoire partagée il va aussi falloir partager le code.









js2082 a écrit :



Mouais… <img data-src=" />



Dans le monde PC, la première raison de l’absence d’ARM est surtout la faible puissance de leurs processeurs.

C’est bien beau d’avoir des jeux d’instructions bien optimisés, peu gourmand en énergie, bien spécifique pour certaines taches mais cette spécificité fait que les proc sont inutilisables quand tu as besoin de perfs brutes.

Y a bien quelques programmes adaptés à l’ARM mais les perfs sont encore loin de ce que l’on a déjà sur PC.





Ce que tu dis est vrai pour les appli lourdes. Mais pour la plupart des postes, les besoins sont léger (bureautique légère, multimédia, internet), donc un PC@ARM n’est pas incongru. Faut juste que la disto qui tourne dessus ne soit pas aussi limité que ChromeOS et que le catalogue applicatif suive<img data-src=" />









Alkore a écrit :



Ce que tu dis est vrai pour les appli lourdes. Mais pour la plupart des postes, les besoins sont léger (bureautique légère, multimédia, internet), donc un PC@ARM n’est pas incongru. …







Oui et non.



Il parait logique de ne choisir un ordi que pour nos besoins rien de plus.

Toutefois, la grosse faille de ce raisonnement, c’est que cela ne tient pas compte de l’évolution des services et de nos besoins. Et quelques temps plus tard, on se retrouve limité dans l’exploitation de notre ordi.



En fait, plus notre ordi est puissant, plus on peut faire et plus on fera de choses.

Donne un i7 avec 16 go de ram à n’importe qui au boulot. Dans 3 mois, il te dira que ça rame. Et quand tu iras sur son poste, tu verras en même temps 6 fenêtres de firefox avec 10-15 onglets ouverts, Outlook, Link, Skype et Whatsapp ouverts, 4 documents word de 30 pages, 5 docs excel, 6 pdf et 4 powerpoints ouverts, 2 ou 3 logiciels spécifiques à l’entreprise ouverts, VLC ou (et?) WMP tournant dans le fond de l’écran, deux pop-ups animés de 2 min de site porno en format raw non-compressé caché derrière le flot de fenêtres ouvertes, etc…

Perso, j’ai beau avoir un boulot simplement “d’écriture” (juriste), je me retrouve facilement avec plus d’une 10zaine de fenêtres ouvertes et un pc qui rame (core 2 e6400)



Bref, tant que les gens peuvent ouvrir des fenêtres sans que ça rame, ils le feront (et ils s’en serviront peu importe le nombre), quitte à mettre à genoux la plus puissante des machines du monde.










js2082 a écrit :



Oui et non.



Il parait logique de ne choisir un ordi que pour nos besoins rien de plus.

Toutefois, la grosse faille de ce raisonnement, c’est que cela ne tient pas compte de l’évolution des services et de nos besoins. Et quelques temps plus tard, on se retrouve limité dans l’exploitation de notre ordi.



En fait, plus notre ordi est puissant, plus on peut faire et plus on fera de choses.

Donne un i7 avec 16 go de ram à n’importe qui au boulot. Dans 3 mois, il te dira que ça rame. Et quand tu iras sur son poste, tu verras en même temps 6 fenêtres de firefox avec 10-15 onglets ouverts, Outlook, Link, Skype et Whatsapp ouverts, 4 documents word de 30 pages, 5 docs excel, 6 pdf et 4 powerpoints ouverts, 2 ou 3 logiciels spécifiques à l’entreprise ouverts, VLC ou (et?) WMP tournant dans le fond de l’écran, deux pop-ups animés de 2 min de site porno en format raw non-compressé caché derrière le flot de fenêtres ouvertes, etc…

Perso, j’ai beau avoir un boulot simplement “d’écriture” (juriste), je me retrouve facilement avec plus d’une 10zaine de fenêtres ouvertes et un pc qui rame (core 2 e6400)



Bref, tant que les gens peuvent ouvrir des fenêtres sans que ça rame, ils le feront (et ils s’en serviront peu importe le nombre), quitte à mettre à genoux la plus puissante des machines du monde.





Oui, mais ds un cadre purement lié au travail, les gens n’ont pas besoin de lancer 15000 appli en même temps<img data-src=" />

Pour la plupart des postes, les PC servent surtout à communiquer, consulter voir imprimer.

Après, c’est sur que plus tu donnes, plus les gens voudront plus (nature humaine qd tu ns tient<img data-src=" />)

Quant aux Michu, un PC est surdimensionné par rapport à ses besoins, une tablette suffit généralement.

<img data-src=" />









cyrano2 a écrit :



Pour que les APU ait un quelconque intérêt, il faut que la partie shader soit exploitable facilement par n’importe qui.



Pour l’instant, on a juste des cpu moins puissant que ceux d’intel et du silicium qui sert à rien pour les shader.







AMD fournit la documentation de ses GPU, voir ici ou . Ces documentations sont suffisamment complètes pour que des indépendants aient pu contribuer aux pilotes graphiques open source sous Linux sans avoir à faire de reverse-engineering.









cyrano2 a écrit :



. Je ne connais quasiment aucun logiciel en dehors des jeu, qui a besoin d’une carte GPU puissante (photoshop ? du traitement vidéo ?).







Les mineurs de crypto-monnaies <img data-src=" />



Au niveau graphique, le plus puissant des APU rivalise avec quel GPU dedié ?


AMD a perd la bataille face à Intel. Et pour repartir, pas gagné :




  • Intel a engrangé un énorme trésor de guerre via ses accord d’exclusivité (et l’amende qu’ils se sont mangés est … Ridicule par rapport à ce qu’ils ont amassé). Donc grosses R&D, et produits ayant un, deux, trois coups d’avance (finesse de gravure, perf’ énergétiques…)

  • AMD enchaîne les pertes, entre mauvaise gestion (se séparer des usines et les renvoyer dans une joint-venture ad hoc, GlobalFoundries, je persiste à dire que c’est une ânerie sur le long terme). Et les CG AMD/ATI … Entre les drivers foireux (et comme dit plus haut, sans docu pour les exploiter, alors que le potentiel est énorme) et certains ratés techniques (4870 X2… Un four, un vrai, comme on en faisait plus depuis les Prescott et leurs œufs au plat en 3 minutes).



    Je ne parle même pas de l’échec (technique et commercial) des FX-9XXX… le FX-8350 est la peine face à un i5. Un gamer, qui pouvait éventuellement hésiter autrefois, n’hésite plus actuellement. Même pour le AMD-fanboy (oui, le cageot de tomate est dans le coin) que je suis, je ne recommande plus AMD que pour des HTPC, ou de la bureautique. En jeux ou mobilité, ils sont quelque part dans un fossé sibérien.



    C’est triste… AMD sera-t-il le prochain Cyrix ?








cyrano2 a écrit :



Si AMD n’est pas capable de faire aussi bien que les core I7, il devrait ouvrir plus leur code concernant leur shader.



Il suffirait d’avoir enfin un compilateur libre assez complet pour enfin utiliser la puissance des shader. Mais rie n’est documenté ou presque, il n’y a pas de drivers openCl ou à peine, etc…



Ils sont idiot de ne pas profiter de leur énorme avance dans les APU par rapport à intel. Je ne connais quasiment aucun logiciel en dehors des jeu, qui a besoin d’une carte GPU puissante (photoshop ? du traitement vidéo ?).







Solidworks est un important consommateur de ressources ;)



Je ne sais pas comment une société à ce stade (d’expérience et d’argent) peut faire des erreurs pareilles dans le management et je suis loin d’être un expert.








js2082 a écrit :



Bref, tant que les gens peuvent ouvrir des fenêtres sans que ça rame, ils le feront (et ils s’en serviront peu importe le nombre), quitte à mettre à genoux la plus puissante des machines du monde.





Plutôt que d’ouvrir davantage de fenêtres l’intérêt serait, pour prendre des exemples qui te parleront :



* Des programmes avec une UI encore plus sympatoche programmée en trois fois moins de temps grâce à des technos plus lourdes.



* Une reconnaissance vocale parfaite.



* Une correction grammaticale et orthographique parfaite dans ton traitement de texte, et même capable de deviner ton intention quand c’est nécessaire.



* Bob, donne-moi tous les arrêtés de la dernière décennies basés sur la loi bidule.




  • (ouverture d’une liste de 540 arrêts)

  • Bob, restreint la liste à celles ayant débouché sur une condamnation.



    * Bob, montre-moi toutes les photos de Jacqueline.

  • Je ne connais pas Jacqueline.

  • (en cliquant sur une photo) Bob, voici Jacqueline.

  • (ouverture d’une mosaïque de photos)



    Tout ça n’est pas de la SF, c’est quelque chose qui est en plein boom. Mais il faut de la puissance, plus de puissance !









Solid Orphan a écrit :



Je ne sais pas comment une société à ce stade (d’expérience et d’argent) peut faire des erreurs pareilles dans le management et je suis loin d’être un expert.







Peut être parce que le PDG n’a pas de boule de cristal ? Il est beaucoup plus facile de savoir une fois la bataille passée.



Mais je ne suis pas sûr qu’AMD à fait tant d’erreur.









metaphore54 a écrit :



Peut être parce que le PDG n’a pas de boule de cristal ? Il est beaucoup plus facile de savoir une fois la bataille passée.



Mais je ne suis pas sûr qu’AMD à fait tant d’erreur.





Disons qu’ils ont fait tellement d’erreurs qu’ils ont remporté à la fois le marché de la X1 et celui de la PS4 avec leur architecture.



Oui il y a des déficits, oui les perfs sont décevantes sur les applications existantes, mais l’histoire ne s’arrête pas là. La voie que suit actuellement AMD est la seule voie possible pour accroître rapidement la puissance de calcul et ils ont deux trains d’avance en ce domaine.



Quel un a t’il deja testé un A10 7850k, avec un cg à base de R9 270, et le crossfire activé ?



Ca donnerait quoi au niveau perf gl9bal en jeu, par exemple versus un core i5 4670k et une seule cg A base de R9 270… ou R9 270x ?





Dernière question si on mettait 2 cg R9 270 avec l’apu A10 7850k, pourrait t’on faire du tri crossfire?.











HarmattanBlow a écrit :



Disons qu’ils ont fait tellement d’erreurs qu’ils ont remporté à la fois le marché de la X1 et celui de la PS4 avec leur architecture.



Oui il y a des déficits, oui les perfs sont décevantes sur les applications existantes, mais l’histoire ne s’arrête pas là. La voie que suit actuellement AMD est la seule voie possible pour accroître rapidement la puissance de calcul et ils ont deux trains d’avance en ce domaine.





Certains n’ont qu’une courte vue et ne juge sans prendre en compte les paramètre de l’époque. J’y crois, mais pas de suite c’est beaucoup trop tôt.









HarmattanBlow a écrit :



Disons qu’ils ont fait tellement d’erreurs qu’ils ont remporté à la fois le marché de la X1 et celui de la PS4 avec leur architecture.



Oui il y a des déficits, oui les perfs sont décevantes sur les applications existantes, mais l’histoire ne s’arrête pas là. La voie que suit actuellement AMD est la seule voie possible pour accroître rapidement la puissance de calcul et ils ont deux trains d’avance en ce domaine.







<img data-src=" />



C’est la voie qu’AMD emprunte à defaut de pouvoir s’aligner sur Intel. Ce n’est pas en étant tout seul qu’ils arriveront à en faire une autoroute









Nithril a écrit :



C’est la voie qu’AMD emprunte à defaut de pouvoir s’aligner sur Intel. Ce n’est pas en étant tout seul qu’ils arriveront à en faire une autoroute





Quand j’étais môme la puissance des CPU doublait tous les douze à dix-huit mois. Ces dernières années elle a doublé tous les cinq ans. Désormais elle va doubler tous les dix ans.



On continue à sa palucher sur des 12% d’augmentation au benchmark bidule avec le core i9 ou bien on tente autre chose ?



C’est du gaspillage de silicium, virons ces micro-optimisations silicophages, ces nouvelles instructions à la noix et ces caches démesurés. Et remplaçons les par mille pentium 2 et unités SIMD. Un an plus tard des boîtes comme MS et Google proposeront des langages et OS adaptés et deux ans plus tard on verra des applis dont les perfs crèveront les plafonds.



Ca fait dix ans que je n’ai pas acheté de CPU AMD, je ne suis pas un fanboy. Mais pour le coup ils ont pris de gros risques et innové. Sur le plan technique la direction est la bonne. Pendant ce temps Intel ne fait rien et des boîtes comme Google abandonnent le x86 dans certains datacenters.









HarmattanBlow a écrit :









Ce que j’ai du mal à comprendre dans ton analyse, c’est que tu pars du principe qu’AMD est le seul à faire ce qu’ils appellent “APU”. M’enfin, qu’ils soient ceux qui se paluchent le plus au niveau marketing sur le sujet, soit. Mais ce n’est pas pour autant que ce sont les seuls à exploiter une partie CPU et GPU unifiée d’une manière ou d’une autre.



Après, par rapport à Intel par exemple, ils font le choix d’une partie CPU anémique pour placer une grosse partie GPU, et ça a persuadé les fabricants de console que c’était une bonne voie (pour les raisons de leurs choix, c’est une autre histoire). M’enfin on en reparlera dans deux ans, je pense que les consoles “Next Gen” n’auront pas le même avenir que les générations précédentes, surtout avec les multiples nouveaux “ennemis” qui montent depuis quelques temps.



Pour la réelle capacité d’innovation d’AMD, je pense qu’on paie actuellement les erreurs des années passées, et que l’équipe actuelle tente de colmater les brèches au niveau de la comm’. Mais bon c’est plus les choix fait avec l’arrivée de la nouvelle équipe que l’on verra si AMD a su faire les bons choix. Tout devrait commencer à se décanter en 2015, l’arrivée des puces ARM et de leurs projets de socket unifié à ce niveau sur le marché pro. Mais je pense que dire que la stratégie actuelle d’AMD est bonne, c’est se voiler la face, et le niveau des perfs que leurs résultats montrent bien que c’est aussi vrai au niveau de la comm’ que sur le fond.



Avec un peu de chance, ça changera bientôt, et j’ai hâte de voir s’ils sont capables de ce renouveau <img data-src=" />









David_L a écrit :



Ce que j’ai du mal à comprendre dans ton analyse, c’est que tu pars du principe qu’AMD est le seul à faire ce qu’ils appellent “APU”. M’enfin, qu’ils soient ceux qui se paluchent le plus au niveau marketing sur le sujet, soit. Mais ce n’est pas pour autant que ce sont les seuls à exploiter une partie CPU et GPU unifiée d’une manière ou d’une autre.





Je ne parle pas d’APU, je parle de l’architecture HSA. Et à ma connaissance ils sont les seuls à proposer quelque chose de genre, ou alors ils sont de très loin les plus avancés.



Parce que AMD ne s’est pas contenté de coller un CPU et un GPU ensemble, ils les ont fait fusionner. L’ensemble partage non seulement le même bloc mémoire physique mais, surtout, celle-ci se présente d’une façon unifiée au programmeur : mémoire virtuelle partagée entre CPU et GPU, modèle mémoire unifié (avec caches synchronisés entre coeurs CPU et GPU et transactions bien définies et normalisées). Je ne parle pas seulement d’API élégantes, je parle bel et bien d’une architecture physique sous-jacente qui n’existe nulle part ailleurs à ma connaissance. C’est une refonte complète de l’architecture d’un GPU, c’est aussi important que le passage à un pipeline programmable autrefois (quand les shaders furent introduits).



Et par ailleurs ces coeurs GPU sont de vraies unités généralistes avec changements de contexte (pour du vrai multithreading dynamique), la possibilité réaliser des appels systèmes depuis le GPU, de démarrer des threads sur le CPU ou d’autres threads sur le GPU, et enfin le même modèle de sécurité à base d’anneaux que nos CPU.



Ça n’est plus du GPGPU. Le GPGPU était un truc très spécialisé et rarement utilisable en pratique du fait des limitations existantes, notamment la lourdeur des échanges CPU GPU qui ruinait tout mais aussi l’impossibilité de réutiliser le code de l’application et le côté bancal avec l’absence d’un multitâches correct et le risque de sécurité. Là on s’oriente clairement vers des unités de calcul toujours spécialisées mais suffisamment généralistes et haut-niveau pour être largement utilisables au quotidien et depuis des langages standards. Ça n’a absolument plus rien à voir.







Mais je pense que dire que la stratégie actuelle d’AMD est bonne, c’est se voiler la face, et le niveau des perfs que leurs résultats montrent bien que c’est aussi vrai au niveau de la comm’ que sur le fond.



Je ne parle pas de stratégie commerciale ça ne m’intéresse pas, je parle en tant que dév. Quant aux perfs elles ne pouvaient pas être bonnes sur les applications existantes, le coût pour ces nouvelles fonctionnalités est trop grand. Mais les perfs seront excellentes sur les applis optimisées parce que cette architecture peut faire tourner des batteries d’algorithmes qui jusqu’à présent étaient inutilisables sur les architectures existantes. C’est là qu’est le potentiel de cette archi.





Avec un peu de chance, ça changera bientôt, et j’ai hâte de voir s’ils sont capables de ce renouveau



Et moi j’ai hâte de voir si l’industrie du logicielle est capable de supporter le renouveau déjà effectué.









HarmattanBlow a écrit :



Disons qu’ils ont fait tellement d’erreurs qu’ils ont remporté à la fois le marché de la X1 et celui de la PS4 avec leur architecture.





<img data-src=" />

S’ils ont remporté le marché des concoles “nextgen” c’est uniquement parcequ’ils ont accepté de casser les prix plus que leurs concurrents, faut pas aller chercher plus loin.



De toutes façons si on compare les monstres technologiques qu’étaient les PS2/Xbox et PS3/X360 à leurs époques respectives à ce que sont les X1/PS4 par rapport au niveau technologique actuel on se rend tout de suite compte que MS et Sony ont clairement voulu faire dans le low cost cette fois ci (plus les moyens d’assumer de vendre le hardware à perte pour se goinfrer ensuite sur le soft ? ) donc difficile de prendre cette génération de consoles en référence.



A la rigueur si j’étais méchant je dirais que dans l’optique de consoles “low cost” le choix d’AMD pour les CPU/GPU était parfaitement logique <img data-src=" />









HarmattanBlow a écrit :



C’est du gaspillage de silicium, virons ces micro-optimisations silicophages, ces nouvelles instructions à la noix et ces caches démesurés.





Tu devrais justement jeter un coup d’œil à ces “nouvelles instructions à la noix”. L’AVX2 apporté par Haswell devrait permettre un bon de performances aussi important que l’a permis le SSE2, grâce à des instructions qui étaient attendues depuis longtemps.



Mais maintenant, il faut être patient, le temps que les gens s’équipent (y compris les développeurs), que les compilateurs prennent correctement en charge les instructions et intrinsics correspondants…

En plus de ça, il faut aussi pouvoir mettre à jour son propre compilateur, ce qui n’a rien d’évident. Moi, je me retrouve bloqué avec la version 4.7 de GCC parce que les versions suivantes produisent un code beaucoup plus lent sur tout ce que je fais.

Voilà pourquoi il peut y en avoir pour plusieurs années. Et voilà pourquoi ce genre de progrès ne risque pas d’apparaitre sur les benchmarks.



A côté de ça, il y a les accès à la RAM qui continuent de se faire laborieusement en 64 bits par canal, d’où l’intérêt primordial de “ces caches démesurés”.



Mais si tu as la solution à tout ça, qu’est-ce que tu attends ? Tu n’as qu’à proposer ta super nouvelle architecture à AMD, je crois qu’ils en auraient bien besoin. <img data-src=" />









Guinnness a écrit :



A la rigueur si j’étais méchant je dirais que dans l’optique de consoles “low cost” le choix d’AMD pour les CPU/GPU était parfaitement logique <img data-src=" />





Leur archi est positionnée sur la moyenne gamme, oui. Mais ils peuvent délivrer à prix comparable énormément plus de puissance que la concurrence une fois que les dévs auront optimisé leur code pour l’archi HSA.







vampire7 a écrit :



Tu devrais justement jeter un coup d’œil à ces “nouvelles instructions à la noix”. L’AVX2 apporté par Haswell devrait permettre un bon de performances aussi important que l’a permis le SSE2, grâce à des instructions qui étaient attendues depuis longtemps.





Ca fait plus de deux décennies que je programme et j’ai fait à peu près de tout. Y compris nombre d’applis où les performances étaient un vrai défi. Sais-tu combien de fois j’ai utilisé ces instructions SIMD ? Une fois. Une fois en plus de deux décennies. Ce fut la seule et unique fois où j’en ai eu besoin. A contrario la majeure partie de mes projets depuis plusieurs années incluent des systèmes massivement parallèles.



Alors, oui, cette unique fois-là c’était important. Pour les 0,1% de programmes qui font des calculs vectoriels par groupes de 4 ou 8 sur le CPU (de plus en plus rare), ça permet un joli gain. Mais autant dire que AVX2 me laisse complètement froid et que même dans dix ans ça n’aura qu’une utilité marginale.





A côté de ça, il y a les accès à la RAM qui continuent de se faire laborieusement en 64 bits par canal, d’où l’intérêt primordial de “ces caches démesurés”.



En fait les accès se font par 128 bits avec le dual channel et le cache est surtout là pour pallier la latence plutôt qu’un défaut de bande passante. Le problème c’est que malgré une multiplication par douze du cache, ces nouvelles instructions et des circuits beaucoup plus complexes, on n’a que ce facteur 3 sur les perfs. Parce que faire des pieds et des mains pour gratter les miettes n’empêche pas les rendements décroissants. Et ça ne va pas s’améliorer. Dans le même temps les performances parallèles ont été multipliées par 100. Alors quelle est la bonne direction ?





Tu n’as qu’à proposer ta super nouvelle architecture à AMD, je crois qu’ils en auraient bien besoin. <img data-src=" />



Je ne critiquais pas l’architecture d’AMD, au contraire puisque eux ont choisi une direction intelligente au lieu de se concentrer comme des boeufs sur les perfs mono-coeur.



Maintenant si en général l’industrie du CPU n’a pas (encore) pris la direction que je suggérais c’est parce que le couple industrie matérielle - industrie logicielle évolue leeeeeeentement. L’inertie est énorme. Et puis il suffit de regarder ce fil pour voir que les consommateurs ont une courte vue.









HarmattanBlow a écrit :



Ca fait plus de deux décennies que je programme et j’ai fait à peu près de tout. Y compris nombre d’applis où les performances étaient un vrai défi. Sais-tu combien de fois j’ai utilisé ces instructions SIMD ? Une fois. Une fois en plus de deux décennies. Ce fut la seule et unique fois où j’en ai eu besoin. A contrario la majeure partie de mes projets depuis plusieurs années incluent des systèmes massivement parallèles.



Alors, oui, cette unique fois-là c’était important. Pour les 0,1% de programmes qui font des calculs vectoriels par groupes de 4 ou 8 sur le CPU (de plus en plus rare), ça permet un joli gain. Mais autant dire que AVX2 me laisse complètement froid et que même dans dix ans ça n’aura qu’une utilité marginale.





Dans ce cas, pourquoi suggérer “Et remplaçons les par mille pentium 2 et unités SIMD.” ?

Windows 8.1 nécessite aujourd’hui le SSE2, et une grande partie des applications réclamant des performances en profite, comme la cryptographie, les applications de traitement de l’image, la vidéo, certains jeux…



Bon nombre d’algos ne sont pas vectorisables à cause du fait que certains résultats intermédiaires sont utilisés comme indices de tableau (très fréquent en crypto). Et c’est justement le gros changement apporté par l’AVX2.







HarmattanBlow a écrit :



Dans le même temps les performances parallèles ont été multipliées par 100. Alors quelle est la bonne direction ?





Les performances sur quoi ? Quel algo ? Quel type de calcul ?

Tout n’est pas parallélisable, et même quand ça l’est, il faut tenir compte des coûts en temps d’exécution dus à la synchronisation des threads, des accès séquentiels à la RAM, etc. Dans certains cas, paralléliser peut même donner un résultat plus lent.



Cela dit, il reste clairement des trucs à faire. Je ne connais par exemple aucun algo de hash permettant le moindre parallélisme sur un seul flux de données.









vampire7 a écrit :



Dans ce cas, pourquoi suggérer “Et remplaçons les par mille pentium 2 et unités SIMD.” ?





Par SIMD je ne voulais pas dire trois instructions spécialisées pour effectuer telle ou telle opération très particulière, je me référais aux unités de calcul du GPU, capables d’effectuer n’importe quel algorithme en parallèle sur N jeux de données.





Windows 8.1 nécessite aujourd’hui le SSE2, et une grande partie des applications réclamant des performances en profite, comme la cryptographie, les applications de traitement de l’image, la vidéo, certains jeux…



Bien sûr. Mais ça reste marginal.





Bon nombre d’algos ne sont pas vectorisables à cause du fait que certains résultats intermédiaires sont utilisés comme indices de tableau (très fréquent en crypto). Et c’est justement le gros changement apporté par l’AVX2.



Formidable nouvelle pour les trois algorithmes de crypto qui en auront besoin. Je suis sûr que çà accélérera de 30% la partie crypto de la gestion du réseau qui elle-même représente 10% de la gestion du réseau, qui elle-même représente 5% de l’activité de navigation. Soit un fabuleux gain de 1,5%.



Ou le minage de… Ah, non, on mine sur GPU.





Tout n’est pas parallélisable



J’ai longtemps dit ça, et puis j’ai réalisé que c’était faux. Oh ! Il y a des algorithmes non-parallélisables, comme les parcours de listes chaînées, mais ces algorithmes sont les solutions imaginées pour résoudre efficacement sur nos archis séquentielles des problèmes qui, eux, sont parallélisables. Il suffit d’utiliser un autre algorithme.



Plus j’y réfléchis, plus j’ai l’impression que, si, on peut bel et bien trouver des algorithmes parallèles pour presque tous les problèmes.



Bien sûr nous devrons conserver quelques unités séquentielles rapides. Mais gaspiller autant de silicium pour si peu de gains alors que dans le même temps on pourrait avoir mille fois plus de puissance, c’est ridicule.





et même quand ça l’est, il faut tenir compte des coûts en temps d’exécution dus à la synchronisation des threads, des accès séquentiels à la RAM, etc. Dans certains cas, paralléliser peut même donner un résultat plus lent.



Oui, si tu as quatre cœurs. Pas si tu en as mille. Quand tu en as mille, tout change. Soudain les plus prohibitives des solutions deviennent très rentables, tant qu’elles sont échelonnables (scalable).



Bon, cela dit pour utiliser mille coeurs tu as intérêt à avoir une autre architecture mémoire justement. L’évolution joue au tic-tac entre matériel et logiciel.





Je ne connais par exemple aucun algo de hash permettant le moindre parallélisme sur un seul flux de données.



Je t’invite à chercher “block-based hasing” ou “Merkle tree”. A vrai dire ce sont des compositions de hash. Mais je te rejoins pour dire qu’on doit encore inventer nombre d’algos.









HarmattanBlow a écrit :



Bien sûr. Mais ça reste marginal.





Windows c’est marginal ? Pourquoi réclamer le SSE2 comme prérequis à Windows 8.1 si c’est juste pour 2 ou 3 bricoles isolées ?

La cryptographie aussi n’a plus rien de marginal, et la majorité des librairies et applications actuellement maintenues dans ce domaine utilisent au moins des instructions SSE2.

Les jeux aussi c’est marginal ? Tu en connais beaucoup, des moteurs 3D récents qui n’utilisent pas la moindre instruction SIMD ?

La lecture de vidéo est marginale aussi ? FFmpeg, présent dans les principaux lecteurs actuels, utilise un grand nombre d’optimisations SIMD.







HarmattanBlow a écrit :



Formidable nouvelle pour les trois algorithmes de crypto qui en auront besoin. Je suis sûr que çà accélérera de 30% la partie crypto de la gestion du réseau qui elle-même représente 10% de la gestion du réseau, qui elle-même représente 5% de l’activité de navigation. Soit un fabuleux gain de 1,5%.



Ou le minage de… Ah, non, on mine sur GPU.





Plusieurs implémentations optimisées SSE2 de Serpent montrent une accélération d’au moins 2,5x.

Grâce aux instructions AVX2, on peut maintenant espérer le même genre d’accélération dans la plupart des autres algos de crypto.

Et je ne sais pas si t’es au courant, mais la crypto ne se résume pas au SSL…



Quant au minage… Litecoin utilise scrypt avec comme paramètres N=1024, p=1, r=1. C’est ridicule, ça enlève tout l’intérêt de cette fonction qui a justement été conçue pour être pratiquement impossible à utiliser sur GPU.







HarmattanBlow a écrit :



Plus j’y réfléchis, plus j’ai l’impression que, si, on peut bel et bien trouver des algorithmes parallèles pour presque tous les problèmes.





Ben moi, plus j’y réfléchis, plus j’arrive à la conclusion inverse.

Tu crois que c’est juste de la flemme de la part des développeurs s’il y a autant d’applications qui, malgré leur besoin en performance, n’utilisent jamais plus de 2 ou 3 threads actifs ?









js2082 a écrit :



Oui et non.



Il parait logique de ne choisir un ordi que pour nos besoins rien de plus.

Toutefois, la grosse faille de ce raisonnement, c’est que cela ne tient pas compte de l’évolution des services et de nos besoins. Et quelques temps plus tard, on se retrouve limité dans l’exploitation de notre ordi.



En fait, plus notre ordi est puissant, plus on peut faire et plus on fera de choses.

Donne un i7 avec 16 go de ram à n’importe qui au boulot. Dans 3 mois, il te dira que ça rame. Et quand tu iras sur son poste, tu verras en même temps 6 fenêtres de firefox avec 10-15 onglets ouverts, Outlook, Link, Skype et Whatsapp ouverts, 4 documents word de 30 pages, 5 docs excel, 6 pdf et 4 powerpoints ouverts, 2 ou 3 logiciels spécifiques à l’entreprise ouverts, VLC ou (et?) WMP tournant dans le fond de l’écran, deux pop-ups animés de 2 min de site porno en format raw non-compressé caché derrière le flot de fenêtres ouvertes, etc…

Perso, j’ai beau avoir un boulot simplement “d’écriture” (juriste), je me retrouve facilement avec plus d’une 10zaine de fenêtres ouvertes et un pc qui rame (core 2 e6400)



Bref, tant que les gens peuvent ouvrir des fenêtres sans que ça rame, ils le feront (et ils s’en serviront peu importe le nombre), quitte à mettre à genoux la plus puissante des machines du monde.





<img data-src=" />









Alkore a écrit :



Oui, mais ds un cadre purement lié au travail, les gens n’ont pas besoin de lancer 15000 appli en même temps<img data-src=" />

Pour la plupart des postes, les PC servent surtout à communiquer, consulter voir imprimer.

Après, c’est sur que plus tu donnes, plus les gens voudront plus (nature humaine qd tu ns tient<img data-src=" />)

Quant aux Michu, un PC est surdimensionné par rapport à ses besoins, une tablette suffit généralement.

<img data-src=" />





Vaut mieux justement éviter de titiller Michu en lui filant une machine a la con “juste pour” vu qu il s en sert jamais comme tu crois et qu il arrive TOUJOURS a mettre son navigateur et ses mains la ou il faut pas.<img data-src=" />

Sauf si tu veux que Michu t appelle la nuit parce que l ordi monsieur il est malade parce qu il rame.<img data-src=" />

a moins que tu aimes <img data-src=" />









vampire7 a écrit :



Windows c’est marginal ? Pourquoi réclamer le SSE2 comme prérequis à Windows 8.1 si c’est juste pour 2 ou 3 bricoles isolées ?





Pourquoi pas ? Tous les CPU depuis des années supportent SSE2. Ce n’est pas le gain qui est décisif, mais le coût ridicule.





La cryptographie aussi n’a plus rien de marginal, et la majorité des librairies et applications actuellement maintenues dans ce domaine utilisent au moins des instructions SSE2.

Les jeux aussi c’est marginal ? Tu en connais beaucoup, des moteurs 3D récents qui n’utilisent pas la moindre instruction SIMD ?

La lecture de vidéo est marginale aussi ? FFmpeg, présent dans les principaux lecteurs actuels, utilise un grand nombre d’optimisations SIMD.



Par marginal j’entends en termes de performances gagnées. Oui, tous les jeux utilisent SSE2. Mais ils l’utilisent à un ou deux endroits. Sans SSE2 les performances des jeux n’en seraient pas grandement affectées parce qu’ils ne se résument pas à un algorithme particulier mais à une riche collection d’algos et de structures de données. Même chose pour les autres applis.



Ton exemple de Serpent sonne bien mais en réalité c’est un cas particulier parce que 99% du temps CPU doit être occupé par un code de 20 lignes, ce qui est exceptionnel. Et de toute façon les perfs restent inférieures à celles obtenues sur GPU, de très loin.





Quant au minage… Litecoin utilise scrypt avec comme paramètres N=1024, p=1, r=1. C’est ridicule, ça enlève tout l’intérêt de cette fonction qui a justement été conçue pour être pratiquement impossible à utiliser sur GPU.



Oui, une exception faîte exprès pour ça. Doit-on optimiser nos architectures matérielles pour ce genre d’artifices ?





Ben moi, plus j’y réfléchis, plus j’arrive à la conclusion inverse.

Tu crois que c’est juste de la flemme de la part des développeurs s’il y a autant d’applications qui, malgré leur besoin en performance, n’utilisent jamais plus de 2 ou 3 threads actifs ?



Ils ne le font pas parce que la programmation parallèle est aujourd’hui difficile et dangereuse, j’en sais quelque chose. Mais ça ne va pas durer, les sémantiques d’isolation, de flux asynchrones, d’acteurs et la mémoire transactionnelle arrivent en renforts, et avec elles un support intégré du GPU.



Dans quelques années la programmation concurrente sera dans bien des cas très accessible et sans grand risque. Et puisque la différence de puissance disponible entre CPU et GPU se creuse à vitesse exponentielle, il ne fait aucun doute que la demande sera là. Ceux qui ne pourront pas s’adapter finiront au chômage. Ou chefs de projet.



Quant à l’appli avec trois threads actifs, c’est un mauvais exemple : c’est soit une simple tâche de fond plutôt qu’une tentative d’utiliser tout le CPU, soit des jeux limités par d’anciens matériels ou d’anciennes version de DirectX. Les jeux de demain n’auront pas cette limite.





Et je ne sais pas si t’es au courant, mais la crypto ne se résume pas au SSL…



Oui, je l’utilise aussi pour créer une certificat tous les six mois, pour hacher des fichiers par des procédés IO-bound, et pour créer des clés asymétriques en 15ms qui serviront ensuite à chiffrer des Go de données en SSL. Bref, non, il n’y a pas que SSL, mais il n’y a que ça qui compte. Et c’est encore une fois anecdotique.








HarmattanBlow a écrit :



Par SIMD je ne voulais pas dire trois instructions spécialisées pour effectuer telle ou telle opération très particulière, je me référais aux unités de calcul du GPU, capables d’effectuer n’importe quel algorithme en parallèle sur N jeux de données.







Il ne faut pas non plus tomber dans l’exageration avec le “n’importe quel algorithme”. Une unité de traitement “GPU” est très loin d’être aussi polyvalent qu’un CPU.



La différence de puissance CPU/GPU se creuse à la même vitesse que les fondeurs ajoutent des unités de traitement. Rien de miraculeux à mon sens, cela reste du silicium…



Les GPU (comme ARM d’ailleurs), tirent sur la corde et se rapprochent des CPU “classiques” en même temps que ces derniers font des efforts sur l’efficacité energétique et se rapproche des ARMs














HarmattanBlow a écrit :



Ton exemple de Serpent sonne bien mais en réalité c’est un cas particulier parce que 99% du temps CPU doit être occupé par un code de 20 lignes, ce qui est exceptionnel. Et de toute façon les perfs restent inférieures à celles obtenues sur GPU, de très loin.





En comparaison, Serpent est au contraire bien plus complexe que AES ou Twofish, et même une version compacte prendrait entre 200 et 300 lignes de code.

Quant aux perfs sur GPU, tu devrais peut-être jeter un œil ici. Et encore, si le gars avait disposé des instructions AES, son implémentation CUDA aurait été plus lente dans tous les cas.



Tu pourras toujours dire que c’est à cause des transferts de données sur PCIe, que les APU d’AMD vont résoudre ça… Et je serai bien content qu’un jour ce soit le cas. Mais pour l’instant, quiconque a besoin de performance ne se penchera pas sur ce genre de puce.









Nithril a écrit :



Il ne faut pas non plus tomber dans l’exageration avec le “n’importe quel algorithme”. Une unité de traitement “GPU” est très loin d’être aussi polyvalent qu’un CPU.





Oui, même si c’est de moins en moins vrai.





La différence de puissance CPU/GPU se creuse à la même vitesse que les fondeurs ajoutent des unités de traitement. Rien de miraculeux à mon sens, cela reste du silicium…



Mais la loi de Moore EST miraculeuse… ;)

L’approche horizontale en profite (davantage d’unités de calcul), pas l’approche verticale.







vampire7 a écrit :



En comparaison, Serpent est au contraire bien plus complexe que AES ou Twofish, et même une version compacte prendrait entre 200 et 300 lignes de code.





Tiens en voici une sur moins de 100 lignes de code, dont un tiers seulement constitue la boucle d’exécution. Comme tous les algos c’est uen boucle compacte, un algorithme pur. Si tu peux accélérer une toute petite partie le résultat est tout de suite énorme. Sauf que dans la réalité ce genre de choses n’est pas l’application finale mais un sous-composant de l’application. Voilà ourquoi dans la réalité SSE2 et consorts sont quantité négligeable.





Tu pourras toujours dire que c’est à cause des transferts de données sur PCIe, que les APU d’AMD vont résoudre ça… Et je serai bien content qu’un jour ce soit le cas. Mais pour l’instant, quiconque a besoin de performance ne se penchera pas sur ce genre de puce.



Non, je t’ai dit et je te répète qu’un algorithme conçu expressément pour être inefficace sur GPU n’est pas représentatif. Ce qui est l’évidence même.





Quant aux perfs sur GPU, tu devrais peut-être jeter un œil ici. Et encore, si le gars avait disposé des instructions AES, son implémentation CUDA aurait été plus lente dans tous les cas.



Parce que le type utilise une antiquité (datant probablement d’avant le support des entiers sur CG) et que l’implémentation est sans doute mauvaise. Les implémentations modernes d’AES sur GPU crachent des dizaines de Gbps contre les quelques dizaines de Mbps sur CPU de ton lien. Aujourd’hui tous ceux qui font du déchiffrement de mdp en masse le font sur des boîtes à GPU contenant environ huit CG alignées. Les perfs sont tout simplement incomparables.









HarmattanBlow a écrit :



Sauf que dans la réalité ce genre de choses n’est pas l’application finale mais un sous-composant de l’application. Voilà ourquoi dans la réalité SSE2 et consorts sont quantité négligeable.





Oui la boucle d’AES est très petite. Et alors, ça change quoi ?

Il n’en reste pas moins que d’autres algos peuvent avoir une boucle de plus de 100 lignes et être complètement optimisables par instructions SIMD.







HarmattanBlow a écrit :



Non, je t’ai dit et je te répète qu’un algorithme conçu expressément pour être inefficace sur GPU n’est pas représentatif. Ce qui est l’évidence même.





AES n’a pas été conçu pour être inefficace sur GPU. Tu ne serais pas en train de confondre avec scrypt ?







HarmattanBlow a écrit :



Parce que le type utilise une antiquité (datant probablement d’avant le support des entiers sur CG) et que l’implémentation est sans doute mauvaise. Les implémentations modernes d’AES sur GPU crachent des dizaines de Gbps contre les quelques dizaines de Mbps sur CPU de ton lien.





En implémentation software de AES, mon i7 2600k crache dans les 900 Mo/s. Et des “dizaines de Gbps”, quand tu ramènes ça à des octets, ça fait tout de suite moins impressionnant…

On en revient donc à une différence qui n’est pas si fabuleuse, et limitée aux cas où les quantités de données sont assez grosses.







HarmattanBlow a écrit :



Aujourd’hui tous ceux qui font du déchiffrement de mdp en masse le font sur des boîtes à GPU contenant environ huit CG alignées. Les perfs sont tout simplement incomparables.





Si tu veux comparer une machine avec plusieurs cartes graphiques, fais la comparaison avec une machine multi-CPU. Sinon, comme tu le dis, c’est incomparable, parce qu’il n’y a rien à comparer.









vampire7 a écrit :



AES n’a pas été conçu pour être inefficace sur GPU. Tu ne serais pas en train de confondre avec scrypt ?





La façon dont j’avais réorganisé les quotes m’a fait croire que ta citation concernait Serpent.





En implémentation software de AES, mon i7 2600k crache dans les 900 Mo/s. Et des “dizaines de Gbps”, quand tu ramènes ça à des octets, ça fait tout de suite moins impressionnant…



Je trouve que des performances des dizaines de fois supérieures pour le GPU alors que le CPU s’est doté d’une nouvelle instruction pratiquement juste pour ce cas, c’est au contraire assez parlant.





Si tu veux comparer une machine avec plusieurs cartes graphiques, fais la comparaison avec une machine multi-CPU. Sinon, comme tu le dis, c’est incomparable, parce qu’il n’y a rien à comparer.



Oui enfin les types auraient pu choisir d’aligner des CPU (s’ils avaient été stupides). Ils ont au contraire aligné des GPU.









HarmattanBlow a écrit :



Je trouve que des performances des dizaines de fois supérieures pour le GPU alors que le CPU s’est doté d’une nouvelle instruction pratiquement juste pour ce cas, c’est au contraire assez parlant.





Où ça, “des dizaines de fois” ? Mon lien montrait quelque chose comme x5 pour le GPU… seulement dans le meilleur des cas.

De plus, sachant que le gars a probablement utilisé une implémentation similaire pour le CPU et le GPU, sur un matériel de la même époque et de la même gamme de prix, dire que c’est une mauvaise implémentation, c’est juste de la mauvaise foi.



Les 900 Mo/s dont je parle ne concernent, comme je l’ai dit, qu’une implémentation software, donc sans instructions AES.

Avec ces instructions, les benchs montrent en général dans les 4 Go/s… sans perdre de temps à appeler le driver ou à copier des données.



Pour le SSL, sachant que la taille des paquets IP est au plus de 1500 octets, on est largement en-dessous du point où utiliser le GPU est rentable. Et même en chiffrement de fichier (pratique plus courante que tu sembles l’imaginer : il n’y a qu’à voir ce qu’il s’est passé avec la fin de TrueCrypt), il n’est pas rare d’avoir des requêtes de 4 Ko ou moins.

Et dans ces cas-là, utiliser le GPU est au contraire une source de ralentissement.



Bien souvent, le parallélisme massif n’est efficace que sur des grosses quantités de données. Pour le GPU, c’est facile à comprendre :




  • fonctions de synchronisation avec éventuellement réveil d’un thread (et donc chargement du contexte)

  • appel d’une API qui elle-même va adresser une requête au pilote

  • transfert des données de la RAM vers la VRAM

    Il n’y a que ce dernier point qui est résolu avec les APU. Étant donnés les temps d’exécution affolants des 2 premiers points, c’est peu, et du coup, intéressant seulement pour les grosses requêtes.







    HarmattanBlow a écrit :



    Oui enfin les types auraient pu choisir d’aligner des CPU (s’ils avaient été stupides). Ils ont au contraire aligné des GPU.





    Il n’empêche que comparer 1 CPU à 8 GPUs, c’est pas très malin.

    Et il est encore moins malin de me reprocher de prendre des exemples “anecdotiques” selon toi (vidéo, traitement d’image, jeux, cryptographie…) quand toi tu prends ici le cas du crackage de mot de passe.

    C’est à se demander ce que tu fais sur ton PC… <img data-src=" />



    Au fait, comment as-tu utilisé les instructions SIMD la fois où tu as eu à le faire ? ASM ou intrinsics ?

    Pour ma part, j’aurais eu du mal à voir l’intérêt de l’AVX2 (et des autres jeux d’instructions) sans la doc de Intel sur les intrinsics…



Je n’ai pas le millième du centième de vos connaissance dans le domaine à vous lire NVidia avec son (CUDA ?) a fait un coup plus médiatique qu’autre chose, car à lire les gens ça allait démultiplier la puissance du PC dans tous les domaines.








HarmattanBlow a écrit :



Oui, même si c’est de moins en moins vrai.



Mais la loi de Moore EST miraculeuse… ;)

L’approche horizontale en profite (davantage d’unités de calcul), pas l’approche verticale.







Certain classes d’algorithmes sont tout simplement difficilement implémentable efficacement sur ce genre d’architecture.



Les deux sont valables. De la polyvalence performante mais couteuse en scale out et des unités spécialisées que l’on peut multiplier. En un sens rien de nouveau, DSP, carte spécialisée…. <img data-src=" />



En tant que développeur backend/frontend, j’attends de voir comment cela peut changer mon day to day









js2082 a écrit :



Il parait logique de ne choisir un ordi que pour nos besoins rien de plus.

Toutefois, la grosse faille de ce raisonnement, c’est que cela ne tient pas compte de l’évolution des services et de nos besoins. Et quelques temps plus tard, on se retrouve limité dans l’exploitation de notre ordi.



En fait, plus notre ordi est puissant, plus on peut faire et plus on fera de choses.

Donne un i7 avec 16 go de ram à n’importe qui au boulot. Dans 3 mois, il te dira que ça rame. (…)

Perso, j’ai beau avoir un boulot simplement “d’écriture” (juriste), je me retrouve facilement avec plus d’une 10zaine de fenêtres ouvertes et un pc qui rame (core 2 e6400)





Et ces bécanes rament à cause du disque mécanique antédiluvien qui fait attendre tout le reste…

Au bureau, je préfère largement un i3 potable avec un SSD plutot qu’un I7 de course et un disque à plateaux. Quand on passe sa journée à basculer d’une appli à l’autre, il n’y a pas photo!



WTF la new <img data-src=" />

Déjà, un journaliste n’a pas à prendre parti comme on le voit trop souvent maintenant (des expressions comme “le cas le plus ahurissant” n’ont rien à faire dans un article de presse), et même pour un site de journalisme informatique. On appelle ça l’objectivité, pour que chacun puisse se faire soi même un avis (subjectif) sur le sujet. Cette new suggère immédiatement au lecteur que AMD prétend sortir de nouveaux CPU alors qu’ils sont déjà sortis et que c’est se foutre de la gueule du monde.

OR, le slide ne parle CLAIREMENT pas de nouveaux CPU mais d’anciens CPU dont le TDP a été optimisé, c’est écrit, c’est sous les yeux de tout le monde, sans le moindre mensonge “Optimized (45W)”.

Alors ok, c’est bien de s’investir dans son boulot, mais ce n’est pas parce que David Legrand, comme l’immense majorité des autres journalistes NextInpact, a une préférence claire pour Intel (et je trouve stupide d’avoir une préférence pour une entreprise) qu’il peut se permettre de faire déteindre ses sentiments dans un article que tout un chacun peut lire et sans avoir de connaissances sur le sujet, pour finalement se dire qu’“AMD c’est dla merde”.








paul161 a écrit :



WTF la new <img data-src=" />

(…)

.





Si tu avais lu la news et cliqué sur les liens, tu aurais vu la slide datée de janvier avec déja le A8 7600 et ses specs. Le même qui apparaît sur la slide d’aujourd’hui avec le logo “NEW” en haut.



Et si le fait de dénoncer un plan de comm’ qui fait du neuf avec du vieux te fait dire “AMD c’est d’la merde”, libre a toi… Mais ce n’est pas écrit dans la news.

Ton interprétation (trop) rapide n’est pas due au texte de David.



-








vampire7 a écrit :



Pour le SSL, sachant que la taille des paquets IP est au plus de 1500 octets, on est largement en-dessous du point où utiliser le GPU est rentable. Et même en chiffrement de fichier (pratique plus courante que tu sembles l’imaginer : il n’y a qu’à voir ce qu’il s’est passé avec la fin de TrueCrypt), il n’est pas rare d’avoir des requêtes de 4 Ko ou moins.





Si tu dois en tout et pour tout chiffrer quelque chose de tellement petit que le lancement d’un thread GPU n’en vaut pas la peine (puisque c’est presque le seul surcoût restant avec HSA), de toute façon c’est insignifiant.



SI en revanche ton problème est que tu dois traiter de nombreux paquets de 4ko, le GPU peut tout à fait s’en occuper et avec HSA tu dois pouvoir laisser un thread GPU en attente pour le réveiller à l’arrivée d’un paquet, après quoi il pompera tous les paquets en attente. Aucune différence avec le CPU (voir ci-dessous).





Bien souvent, le parallélisme massif n’est efficace que sur des grosses quantités de données. Pour le GPU, c’est facile à comprendre :




  • fonctions de synchronisation avec éventuellement réveil d’un thread (et donc chargement du contexte)

  • appel d’une API qui elle-même va adresser une requête au pilote

  • transfert des données de la RAM vers la VRAM

    Il n’y a que ce dernier point qui est résolu avec les APU. Étant donnés les temps d’exécution affolants des 2 premiers points, c’est peu, et du coup, intéressant seulement pour les grosses requêtes.



    Quelques petite remarques :

    * Attention à ne pas amalgamer APU et HSA. C’est l’architecture HSA qui supprime le troisième point, pas la vague appellation APU qui peut aussi bien désigner une simple superposition de CPU et GPU.



    * De toute façon les paquets réseaux ne sont pas traités par le thread réseau qui les réceptionne. Donc le changement de thread se produit aussi avec un traitement sur CPU.



    * Une bascule vers un autre thread n’entraîne pas forcément de changement de contexte : même inactif ce thread pouvait toujours occuper ce coeur, à moins qu’un autre thread n’en ait eu besoin pendant ce temps.



    * Reste uniquement le surcoût de l’appel au pilote (pas forcément nécessaire si celui-ci a tout compilé à la volée lors de la création du thread GPU) et le passage par PCIe pour l’envoi des commandes (même si ces commandes sont abrégées grâce à la mémoire partagée). Mais encore une fois, en simplifiant, peu importe le surcoût incontournable de la programmation parallèle quand tu as l’équivalent de 1k unités de calcul : ce surcoût est largement amorti.





    Au fait, comment as-tu utilisé les instructions SIMD la fois où tu as eu à le faire ? ASM ou intrinsics ?



    Asm. A vrai dire ne suis même pas sûr que les intrinsics correspondants existaient à l’époque. Et de toute façon les compilateurs étaient très mauvais dans leur gestion de ces instructions vectoriels il y a encore peu de temps, donc l’asm était la seule voie raisonnable.







    Nithril a écrit :



    Certain classes d’algorithmes sont tout simplement difficilement implémentable efficacement sur ce genre d’architecture.





    Comme je le disais plus haut, il ne faut pas confondre problèmes et algorithmes. Les algorithmes sont les solutions imaginées pour résoudre efficacement nos problèmes sur nos architectures séquentielles. Autrement dit ces algorithmes otn été conçus pour des architectures séquentielles. Et si certains de ces algorithmes ne sont pas parallélisables, ça ne veut pas dire qu’il n’existe pas d’algorithme paralléèle efficace pour résoudre le problème en question.



    Pour ma part je pense qu’il existe très peu de problèmes non-parallélisables. Mais je n’ai pas vu de travaux formels sur cette question. Si quelqu’un en connaît…



    Cependant je suis d’accord avec ta conclusion selon laquelle il faudra à la fois de la puissance parallèle et de la puissance séquentielle. Simplement je pense que la norme peut et doit être parallèle, même si je conçois que ça puisse sembler inimaginable au plus grand nombre aujourd’hui. Pourtant le chemin à faire au niveau des langages et technos n’est plus très long.







    paul161 a écrit :



    Déjà, un journaliste n’a pas à prendre parti comme on le voit trop souvent maintenant (des expressions comme “le cas le plus ahurissant” n’ont rien à faire dans un article de presse)





    Je ne suis pas d’accord, je ne considère pas qu’il s’agissait d’une prise de partie. Une liberté de ton, oui, mais celle-ci est acceptable vu les circonstances : le discours marketing d’AMD sent bel et bien le très réchauffé.









HarmattanBlow a écrit :



Cependant je suis d’accord avec ta conclusion selon laquelle il faudra à la fois de la puissance parallèle et de la puissance séquentielle. Simplement je pense que la norme peut et doit être parallèle, même si je conçois que ça puisse sembler inimaginable au plus grand nombre aujourd’hui. Pourtant le chemin à faire au niveau des langages et technos n’est plus très long.





Tout réapprendre, des techniques aux algorithmes courant, allant même jusqu’à la façon de penser et de concevoir un programme. Laisser tomber tous les acquis issus de l’impératif (C & co) et admettre qu’au final, Erlang, c’était pas si pourri.



Personne ne signera pour ça, sauf forcé. MPI, pthreads etc sont de simples hacks qui réutilisent les vieux languages inappropriés de par leur style. Je suis un grand aficionado de la programmation (mais surtout, comme tu l’as souligné plusieurs fois, de l’algorithmie) parallèle, cependant je ne me fais guère d’illusion sur l’évolution future des pratiques.



L’ironie ultime, c’est qu’un programme (je parle bien d’un programme et non d’un algo/problème) écrit en Lisp en 1958 pourrait aujourd’hui être exécuté en parallèle et enterrer un programme similaire, super optimisé SSE2 compliant, sur les performances. C’est vraiment dommage que la programmation fonctionelle ne soit pas plus répandue, les principes théoriques qui se cachent derrière sont bien plus logiques dans leur raisonnement (Haskel, dans sa forme originelle, n’était qu’une application du lambda-calcul) et bien plus facilement adaptables au parallèle. D’ailleurs, la récursion terminale existait déjà, et c’est autrement plus élégant qu’un while(1) car cela nécessitait une compréhension complète de l’exécution pour parvenir au résultat escompté.



En conclusion, je suis globalement d’accord pour dire que HSA offre une opportunité nouvelle pour le programmeur connaissant les limites techniques actuelles des architectures parallèles. Par contre, je ne pense pas que la majorité des développeurs en évalue la portée, justement à cause des pratiques héritéés des années 70 et totalement axées sur la séquentialité que j’ai mentionnées.









RRMX a écrit :



Personne ne signera pour ça, sauf forcé. MPI, pthreads etc sont de simples hacks qui réutilisent les vieux languages inappropriés de par leur style. Je suis un grand aficionado de la programmation (mais surtout, comme tu l’as souligné plusieurs fois, de l’algorithmie) parallèle, cependant je ne me fais guère d’illusion sur l’évolution future des pratiques.





A vrai dire je ne pense pas que l’avenir sera aux langages fonctionnels (ni davantage à MPI et compères). Faisons le point de ce qu’ils apportent :



* Des sémantiques vectorielles telles que map/reduce basées sur une composition par fonctions. Mais de nos jours le moindre langage impératif s’en est doté (c# / c++ / java chronologiquement). Et si les langages fonctionnels ont souvent eu des sémantiques additionnelles, c’est aussi le cas de certains langages impératifs (async/await en c#)



* Un monde immuable (à des degrés divers selon les langages). Ce qui garantit l’isolation, qui est le trait vraiment nécessaire au parallélisme. Sauf que le peu d’avantages de l’immuabilité par rapport à l’isolation (pureté et donc composabilité, testabilité et analyse) est loin de compenser les pieds et les mains qu’il faut faire pour manipuler des états mutables qui demeurent indispensables (monades, codata, etc). A mon sens l’approche et son coût ne sont pas satisfaisants et on peut trouver mieux.



* A part ça les programmes impératifs et fonctionnels sont de toute façon équivalents : on passe du premier au second via un graphe de flux de contrôle (CFG) et une passe SSA (single static assignment). Le reste n’est donc qu’une affaire de vue de l’esprit.





Si j’avais à parier je dirais que l’avenir sera plutôt à un langage impératif qui sera doté de :

a) Sémantiques isolationnelles.

b) Sémantiques transactionnelles couvrant les états mutables explicitement marqués comme transactionnels.

c) Diverses sémantiques asynchrones à la Erlang ou à la C# : acteurs explicites ou implicites, appels asynchrones vers une thread pool avec spécification de continuations, etc.

d) Des sémantiques déclaratives et réactives.

e) Des sémantiques pour gérer des unités de calcul hétérogènes.



Je précise au passage qu’on n’a pas besoin à mes yeux d’auto-parallélisation. Laisser le dév spécifier quand paralléliser via des sémantiques simples et de haut-niveau (boucles parallèles, appels asynchrones, etc) est simple et efficace.



Enfin, oui, tout ça demandera du travail. Mais de toute façon le développement logiciel nécessite de réapprendre constamment.



Je pense comme HarmattanBlow que ça va venir “naturellement”. Je développe en WinRT 1.1 (Apps universelles) et déjà là on a une évolution forcée vers l’asynchronisme. Evidemment, je ne descends pas à votre niveau, mais du coup, même pour une simple application, on parallélise sans le savoir.



Je crois que le parallélisme viendra des langages et non des développeurs (sauf les cas où ils le feront intentionnellement, genre jeux et applis lourdes).



Pour en revenir à AMD, je viens de monter justement une configuration en APU, et ça fonctionne très bien. La personne pour qui je l’ai montée (un 5350) est sous Windows 8.1 U1 x64 et a une utilisation classique (surf, bureautique, et un peu de Photoshop/Illustrator) et ça tourne parfaitement.



Même si je ne suis pas fanboy (dans le sens où je respecte les choix des autres), je pense qu’AMD va dans le bon sens, à la fois via ses APU suffisants pour la majorité des gens, et à la fois côté HSA.



Aujourd’hui, malgré les benchmarks, une machine 100% AMD (j’ai un FX 8350 OC, un chipset 990FX et une R9 290X) fait tourner tous les jeux à fond de manière fluide, rien à envier à Intel. OK, c’est du haut de gamme, mais du haut de gamme encore abordable. Et avec Mantle, Intel se fait battre haut la main !



Bref, c’est désolant la communication merdique d’AMD, et contrairement à ce que certains ont dit, David n’est pas pro-Intel, mais déçu d’AMD, ce qui n’est pas du tout la même chose, et je suis assez d’accord avec lui. Il aimerait que ça aille plus vite et qu’on arrête de nous raconter des fadaises pour nous faire patienter ! Mais je garde espoir et je suis persuadé qu’AMD peut repasser leader. Le problème est de savoir s’ils en ont les moyens financiers et combien de temps ils mettrons…








HarmattanBlow a écrit :



Sur le papier c’est du CPU bof mais c’est parce que l’architecture est tellement nouvelle qu’à peu près rien ne l’exploite. En revanche sur certains scénarios qui exploitent ces nouvelles capacités, cet APU écrase tout le reste.





Ils font tourner les jeux correctement et c’est une puce simlilaire qu’on trouve dans les X1/PS4. A vrai dire certains jeux optimisés pour X1/PS4 qui pourraient ne pas bien tourner sur de grosses bécanes pourraient être à l’aise sur cet APU.



Pour autant il faut bien voir que la raison d’être de cet APU c’est avant tout de fournir de la puissance de calcul au CPU, pas d’être un GPU de compét. Ca fait quand même un GPU honnête mais c’est pas le but.





Attend, faut être un peu charitable : à prix égal les perfs ne sont pas à la ramasse et en attendant c’est une vraie architecture innovante qui va permettre d’avoir demain de vrais gains de puissance.





Il y en a beaucoup dans le domaine scientifique ou autres applis hautes performances (minage bitcoin, crypto, certaines indexations, etc). Mais tout ça est surtout du côté serveur.



Cela dit ça restait rare pour trois raisons qui sont en train de disparaître :

a) En règle générale il n’était pas rentable de déporter vers le GPU du fait du coût de transfert . Celui-ci n’existe plus sur les APU grâce à la mémoire partagée. Par exemple le ramasse-miettes va peut-être passer sur le GPU dans les années à venir.



b) Si tu crées aujourd’hui un programme avec OpenCL tu vas encore avoir plein de clients chez lesquels ça ne fonctionnera pas. Voire chez lesquels l’ordinateur plantera ! On avait le même pb avec l’accélération matérielle de l’affichage il y a encore peu de temps.



c) Les modèles de programmation sont encore spécifiques et limités. Mais c’est de moins en moins vrai : cette nouvelle architecture introduit un dataflow libre, une mémoire virtuelle, etc. Quel monde par rapport à il y a quelques années où le moindre branchement divisait les perfs par deux. A ce train là dans quelques années tu exécuteras ton code habituel sur le GPU (il faudra simplement garder une profondeur restreinte de pile et éviter les appels virtuels).





Pas d’accord, tu penses aux jeux qui restent contraints par les capacités des anciens modèles de matériels et d’API et exécutent des tâches différentes sur chaque coeur. Mais à côté tu as plein de programmes qui ont fait l’effort de distribuer leurs calculs de façon homogène et ceux-là tirent aussi bien partie de 2 coeurs que de 16.



Pour ma part ça fait déjà plusieurs années que chaque fois que j’ai des opérations lourdes à mettre en œuvre je fais en sorte d’exploiter toute la bête. En général je fais des architectures capables d’exploiter des dizaines de coeurs.





Les shaders ? Mais on s’en cogne, c’est pas une bête graphique, le but est d’accroître la puissance de calcul du CPU.



Ou alors tu veux dire qu’il doit être facille de déporter des calculs vers la partie GPU ? Alors oui. Et si OpenCL n’est pas difficile à programmer, je suis d’accord pour dire qu’il y a encore des progrès à faire. Notamment, justement, l’abandon d’OpenCL car pour exploiter aisément la mémoire partagée il va aussi falloir partager le code.





Merci









Edtech a écrit :



Mais je garde espoir et je suis persuadé qu’AMD peut repasser leader. Le problème est de savoir s’ils en ont les moyens financiers et combien de temps ils mettrons…





AMD n’a jamais, absolument jamais été leader.

Intel a toujours laaaaargement dominé le marché.



AMD tente quelque chose de novateur pendant qu’Intel est focalisé à fond sur son ambition dans la mobilité. ça paiera peut-être.

On en aura un aperçut dans un ou deux ans quand les jeux full optimisés PS4/X1 sortiront. On verra à ce moment là quel matos il faudra sur PC pour les faire tourner.



Toutefois Intel a surement de la réserve, ils ont bossé longtemps sur Larrabee, je ne sais pas ce qu’il en reste exactement mais ils n’ont surement pas tout jeté non plus.