Question

Je cherche des exemples d'introduction à OpenCL qui illustrent les types d'applications pouvant connaître une augmentation importante (par exemple, 50x à 1000x) de la vitesse. Cuda contient de nombreux exemples intéressants, mais je n'ai pas trouvé la même chose pour OpenCL. .

Un bon exemple pourrait être l’optimisation globale de fonctions complexes via des essaims de particules, le recuit simulé, des algorithmes d’évolution, l’optimisation de colonies de fourmis, etc.

Était-ce utile?

La solution

Voici quelques exemples intéressants dans le SDK de nvidia:

http://developer.nvidia.com/object/get-opencl.html

Autres conseils

Les algorithmes que vous décrivez ne sont ni simples ni introductifs du point de vue de la programmation GPU. La raison pour laquelle CUDA a des exemples dans ces domaines est qu’elle existe depuis assez longtemps pour que les gens aient développé ces exemples. Il n’existe actuellement aucune version publique d’OpenCL fonctionnant sur des GPU. ATI et NVIDIA proposent tous deux des versions bêta de leurs pilotes OpenCL, mais ATI ne prend en charge que le calcul du processeur et NVIDIA requiert la signature d'un NDA pour obtenir. Bref, OpenCL n’a pas été mis sur le marché assez longtemps pour que de tels exemples puissent être développés et démontrés.

Cela dit, avoir accès aux pilotes OpenCL de NVIDIA n’est pas difficile. Vous pouvez savoir comment le faire sur leurs forums ici . Je suppose que la distribution OpenCL contient quelques exemples de programmes pour vous aider à démarrer.

Cela signifie également que c’est une excellente occasion pour vous de développer certains de ces points de repère et de publier vos résultats. Ensuite, les gens se réfèreront à votre travail plutôt que vous ne ferez référence à leur travail. Je ne m'attendrais pas à trop de surprises cependant. Les performances OpenCL devraient être à peu près équivalentes aux performances CUDA une fois qu’elles seront largement disponibles et prises en charge.

Notre équipe a travaillé sur les algorithmes et l'accélération OpenCL et nous aimerions vous suggérer l'article

.

http: //www.cmsoft.com.br/index.php?view=article&catid=1:latest-news&id=247:opencl-simulated-annealing

comme exemple d'implémentation de l'algorithme de recuit simulé pour la minimisation.

Vous pouvez essayer les deux livres suivants:

Programmation de processeurs massivement parallèles ... Une approche pratique (NVIDIA) (chapitres 1 et 2)

Livre de programmation OpenCL ... Programmation parallèle pour CPU et GPU MultiCore (Composants d'historique

Les deux expliquent en détail pourquoi le développement a été réalisé et où se trouvent les véritables bonus.

Je ne suis pas sûr de pouvoir comparer les performances, je n'y ai pas eu de chance non plus.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top