36 votes

Puis-je programmer CUDA de Nvidia en utilisant uniquement Python ou dois-je apprendre le C?

Je suppose que la question parle de lui-même. Je suis intéressé à faire une grave calculs mais je ne suis pas un programmeur de métier. Je peux chaîne assez python ensemble pour faire ce que je veux. Mais ce que je peux écrire un programme en python et ont le GPU de l'exécuter à l'aide de CUDA? Ou dois-je utiliser un mélange de python et C?

Les exemples de la Klockner s (sp) "pyCUDA" page web a un mélange des deux, en python et en C, donc je ne sais pas quelle est la réponse.

Si quelqu'un veut le carillon sur Opencl, n'hésitez pas. J'ai entendu parler de cette CUDA, uniquement un couple de semaines, et je ne savais pas que vous pourriez utiliser vos cartes vidéo de ce genre.

20voto

dwf Points 2011

Vous devriez jeter un oeil à CUDAmat et Théano . Les deux sont des méthodes d’écriture de code qui s’exécute sur le GPU sans avoir à en savoir beaucoup sur la programmation GPU.

18voto

Alex Martelli Points 330805

Je pense qu'avec PyCUDA, vos noyaux informatiques devront toujours être écrits sous la forme "Code CUDA C". PyCUDA prend en charge de nombreux travaux de comptabilité fastidieux, mais ne construit pas de noyaux CUDA de calcul à partir de code Python.

8voto

EOL Points 24342

pyopencl offre une alternative intéressante à PyCUDA. Il est décrit comme un "projet jumeau" de PyCUDA. C'est un wrapper complet autour de l'API OpenCL.

Autant que je sache, OpenCL présente l'avantage de fonctionner sur des GPU autres que ceux de Nvidia.

5voto

Yann Vernier Points 41

Excellentes réponses déjà, mais Clyther est une autre option. Il vous permettra d’écrire des programmes OpenCL sans même utiliser C, en compilant un sous-ensemble de Python dans des noyaux OpenCL.

4voto

Riccardo Galli Points 2653

Copperhead est une bibliothèque prometteuse, il vous suffit de décorer la fonction que vous voulez exécuter par le GPU (vous pouvez ensuite activer / désactiver cette option pour voir ce qu'il y a de mieux entre cpu et gpu pour cette fonction)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X