OpenCL et GPU Computing 

CUDA et Programmation Générale sur GPU

CUDA

CUDA, un framework propriétaire

Cette technologie a été développée par Nvidia pour leurs cartes graphiques à partir de la série GeForce 8, et utilise un pilote unifié utilisant une technique de streaming (flux continu). Le kit de développement pour CUDA a été publié le 15 février 2007.

Cependant, le coté propriétaire de cette technologie pourrait limiter dans le futur l'adoption de cette dernière face à OpenCL.

OpenCUDA ?

Les similitudes avec OpenCL sont omniprésentes :

Système OpenCL

Au sommet application, le code source du programme appelant (C, Java, Python, etc.) executé par le CPU

En dessous, le Device-level API comprenant l'API (fonctions utilisables par le code source appelant) de développer des programmes executables par le GPU.

On remarque que CUDA est aussi utilisé par Nvidia pour executer du code OpenCL.

Ensuite le driver, le compilateur PTX permet de convertir du code CUDA/OpenCL en assembleur et le pilote permettant de communiquer avec le GPU.

Ensuite le support, c'est-à-dire l'implémentation permettant d'executer le code compilé.

En dernier se trouve le périphérique GPU (la carte graphique).