4Fermer6
PpHdLe 12/02/2012 à 09:38
Bon je vais essayer de résumer:
+ pthread / winthread https://en.wikipedia.org/wiki/Pthread
100% manuel et ne fonctionne qu'avec le CPU.
+ openmp https://en.wikipedia.org/wiki/Openmp
Compatible code existant, ne fonctionne qu'avec le CPU.
+ openacc https://en.wikipedia.org/wiki/OpenACC
Compatible code existant, fonctionne avec le GPU (le CPU ?), y'a pas AMD dedans (ni intel, ni MS, ), donc j'ai des doutes sur la pérennité de l'offre.
+ openhmpp (ou c'est openacc ?) https://en.wikipedia.org/wiki/OpenHMPP
Compatible code existant, fonctionne avec le GPU (le CPU ?), TBC
+ cuda https://en.wikipedia.org/wiki/CUDA
Nouveau code dans un nouveau langage, Fonctionne avec le GPU (nvidia)
+ AMD stream (Obsolete) https://en.wikipedia.org/wiki/Stream_processing
+ BrookGPu: https://en.wikipedia.org/wiki/BrookGPU
Je ne connais pas.
+ opencl https://en.wikipedia.org/wiki/Opencl
Nouveau code dans un nouveau langage, Compiler en runtime pour tenir compte de la perfo de la cible, fonctionne avec GPU/CPU/Cell/...
+ directcompute https://en.wikipedia.org/wiki/DirectCompute
Fonctionne avec le GPU (je ne m'y suis jamais plongé dedans).
+ c++ amp https://en.wikipedia.org/wiki/C%2B%2B_AMP
Extension du C++ (incompatible avec standard). Fonctionne avec GPU/CPU

Si j'en ai oublié, n'hésiter pas à le dire.

Sans parler qu'AMD prévoit qu'à terme avec ses APU, une fusion complète GPU + CPU, avec la possibilité de controler le GPU sans passer par les drivers (cf. http://www.silicon.fr/wp-content/uploads/2012/02/AMD-FAD-2012-Breakout-HSA-7.png & http://www.silicon.fr/wp-content/uploads/2012/02/AMD-FAD-2012-Breakout-HSA-6.png ).
Ce qui laisserai espérer d'avoir des jeux d'instructions permettant de contrôler directement le GPU trilove


Azrael_CV (./4) :
C'est pas de la médisance, plutôt du pragmatisme.

#ami#
Azrael_CV (./4) :
Pour l'instant, on essaye de paralléliser des codes séquentiels. Peu d'applications sont pensées "parallèle" dès le départ. Il va falloir y venir. Les coeurs seront de moins en moins puissants (consommation électrique oblige), de plus en plus nombreux (pour garder la puissance de calcul).

Je suis tout à fait d'accord. C'est pour ca que j'essaye de me tenir à jour et d'essayer quelques trucs.
Je pense que d'ici 3, 4 ans, soit tu sauras en tirer partie, soit ton appli sera has been.
Azrael_CV (./4) :
En lisant les specs, j'ai l'impression que C++ AMP tient plus de l'usine à gaz qu'autre chose.

J'avoue ne pas avoir été convaincu par les specs.
J'attends les exemples concrets.
Azrael_CV (./4) :
Assez efficace et portable. Et c'est également le mode de fonctionnement d'Openacc.

Oui.
Mais j'avoue que je vois mal comment ils comptent implanter automatiquement les transferts entre les différentes zones mémoires (RAM CPU, RAM Locale GPU, RAM Globale GPU, RAM private GPU, ...) avec ce système.
Sans parler de gérer les systèmes avec multi GPU.