OpenCL vs performance OpenMP

Ont été les études comparant OpenCL pour OpenMP la performance? Plus précisément je suis intéressé dans les frais généraux de lancer des discussions avec OpenCL, par exemple, si l'on se décomposer le domaine dans un très grand nombre d'éléments de travail (dirigés chacun par un thread de faire un petit travail) par rapport à des poids plus lourd threads OpenMP étaient le domaine a été décomposé en sous-domaines dont le nombre est égal au nombre de cœurs.

Il semble que la prise en charge d'OpenCL modèle de programmation plus ciblée vers massivement parallèle des frites (Gpu, par exemple), plutôt que de Processeurs qui ont de moins en moins, mais de plus en plus puissants cœurs.

Peut OpenCL être un moyen efficace de remplacement pour OpenMP?

  • Je serais aussi intéressé de savoir si le/lors de l'utilisation d'OpenMP et OpenCL ensemble est efficace. OpenCL est thread-safe (à l'exception de la clSetKernelArg() la méthode), de sorte qu'il semble, comme peut-être il ya de la place pour profiter de ces deux technologies.
  • Si votre définition de "efficace" comprend la lisibilité et de l'évolution, alors la réponse doit être "non". OpenCL ne peut pas être vissé sur le code existant dans la façon dont OpenMP peut, et il a une grande syntaxique dilatation par rapport à OpenMP. D'autre part, l'écriture OpenMP code qui permet d'utiliser efficacement une hiérarchie de mémoire est généralement beaucoup moins lisible que le même en OpenCL.
  • Je peux bien et scientifiques de comparaison entre OpenMP et OpenCL peut être trouvé ici: Comparaison des OpenMP & OpenCL Parallèle les Technologies de Traitement par Krishnahari Thouti et S. R. Sathe
  • Votre question doit être réduit un peu. Vous êtes à la recherche pour une comparaison de GPU vs multi-thread CPU, ou OpenMP vs OpenCL? Afin de comparer les deux langues, ils ont vraiment besoin d'être en cours d'exécution sur la même architecture. Sinon, c'est des pommes et des oranges.
InformationsquelleAutor Robert | 2011-08-31