3Fermer5
Azrael_CVLe 12/02/2012 à 01:30
De ce que j'en connais, OpenCL est plus lent que CUDA. Mais il est plus portable car les application écrites en OpenCL peuvent s'exécuter aussi bien sur ATI que sur NVidia. Sinon tu peux aussi attendre OpenAcc.

Je ne connais ni DirectCompute, ni C++ AMP. En lisant les specs, j'ai l'impression que C++ AMP tient plus de l'usine à gaz qu'autre chose. Ce qui m'ennuie le plus c'est qu'il n'y a pas de garantie de portabilité d'un code écrit avec C++ AMP. Quoique, c'est le cadet des soucis de Microsoft.

Concernant le saupoudrage syntaxique, il y un exemple que je connais bien : Pthreads et OpenMP. Le dernier est une simplification du premier et fonctionne avec des directives (pragmas). Assez efficace et portable. Et c'est également le mode de fonctionnement d'Openacc.

Extraire du parallélisme... vaste débat. Ca dépend tellement du code, des procs sur lesquels il est exécuté, de la vitesse de la mémoire.
PpHd (./1) :
C'est moi ou je suis médisant ?

C'est pas de la médisance, plutôt du pragmatisme.

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).

Encore du boulot en perspective pour les codeurs.