Quelles sont les différences entre OpenCL et OpenGL?


Meilleure réponse

Jutilise OpenGL dans des applications dinfographie depuis près de 10 ans maintenant.

OpenGL est principalement utilisé pour linfographie, cest une API graphique. OpenCL est principalement utilisé pour le calcul parallèle, cest une API de calcul.

Vous pouvez utiliser OpenGL pour résoudre certains problèmes que vous résolvez habituellement avec OpenCL mais vous devrez mapper votre problème au contexte graphique afin de lancer votre calcul.

Je pense que le La principale raison pour laquelle vous choisissez OpenGL pour les tâches sans rendu est de prendre en charge le matériel plus ancien qui ne peut pas exécuter OpenCL.

Bibliothèque graphique ouverte ( OpenGL ) est un cross-language , multiplateforme interface de programmation dapplication (API) pour le rendu 2D et 3D graphiques vectoriels . LAPI est généralement utilisée pour interagir avec un unité de traitement graphique (GPU), pour obtenir une accélération matérielle rendu .

Silicon Graphics Inc., (SGI) a commencé à développer OpenGL en 1991 et la publié en janvier 1992; les applications lutilisent largement dans les domaines de la conception assistée par ordinateur (CAO), réalité virtuelle , visualisation scientifique , visualisation dinformations, simulation de vol et jeux vidéo . OpenGL est géré par le technologie à but non lucratif consortium Groupe Khronos . (extrait de Wikipedia OpenGL )

Ouvrir le langage informatique ( OpenCL ) est un framework pour écrire des programmes qui sexécutent sur plates-formes hétérogènes constituées de unités centrales de traitement (CPU), unités de traitement graphique (GPU), processeurs de signaux numériques ( DSP ), matrices de portes programmables sur site (FPGA) et autres processeurs ou accélérateurs matériels. OpenCL spécifie un langage (basé sur C99 ) pour la programmation de ces appareils et des interfaces de programmation dapplications ( API) pour contrôler la plate-forme et exécuter des programmes sur les appareils de calcul. OpenCL fournit une interface standard pour le calcul parallèle utilisant le parallélisme basé sur les tâches et les données. OpenCL est une norme ouverte gérée par le consortium technologique à but non lucratif Khronos Group . (extrait de Wikipedia OpenCL )

Réponse

Outre la similitude de nom, ce sont des bêtes très différentes. OpenCL signifie Open Computing Language. Cest un langage qui vous permet de créer des noyaux de programme qui peuvent fonctionner en parallèle sur le GPU ou le CPU. OpenCL est généralement utilisé pour les algorithmes de traitement dimage, les simulations physiques et renvoie des résultats numériques. En dautres termes, la sortie dun programme OpenCL nest pas de nature graphique.

En revanche, OpenGL est une API graphique qui vous permet denvoyer des commandes de rendu au GPU. En règle générale, lobjectif est dafficher le rendu à lécran.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *