Quali sono le differenze tra OpenCL e OpenGL?
Ho usato OpenGL nelle applicazioni di Computer Graphics per quasi 10 anni.
OpenGL è usato principalmente per la computer grafica, è un'API grafica. OpenCL è usato principalmente per il calcolo parallelo, è un'API di calcolo.
Potresti usare OpenGL per risolvere alcuni problemi che di solito risolvi con OpenCL, ma dovrai mappare il tuo problema nel contesto grafico per far partire il calcolo.
Penso che la ragione principale per scegliere OpenGL per compiti non di rendering sia per supportare hardware più vecchio che non può eseguire OpenCL.
Open Graphics Library (OpenGL) è un'interfaccia di programmazione di applicazioni (API) cross-language e cross-platform per il rendering di grafica vettoriale 2D e 3D. L'API è tipicamente usata per interagire con un'unità di elaborazione grafica (GPU), per ottenere un rendering accelerato dall'hardware.
Silicon Graphics Inc. (SGI) ha iniziato a sviluppare OpenGL nel 1991 e l'ha rilasciato nel gennaio 1992; le applicazioni lo usano ampiamente nei campi della progettazione assistita dal computer (CAD), della realtà virtuale, della visualizzazione scientifica, della visualizzazione di informazioni, della simulazione di volo e dei videogiochi. OpenGL è gestito dal consorzio tecnologico non-profitKhronos Group. (da Wikipedia OpenGL )
Open Computing Language (OpenCL) è un framework per scrivere programmi che vengono eseguiti su piattaforme eterogenee costituite da unità di elaborazione centrale (CPU), unità di elaborazione grafica (GPU), processori di segnali digitali (DSP), field-programmable gate array (FPGA) e altri processori o acceleratori hardware. OpenCL specifica un linguaggio (basato su C99) per programmare questi dispositivi e le interfacce di programmazione delle applicazioni (API) per controllare la piattaforma ed eseguire programmi sui dispositivi di calcolo. OpenCL fornisce un'interfaccia standard per il calcolo parallelo usando il parallelismo basato su attività e dati. OpenCL è uno standard aperto mantenuto dal consorzio tecnologico non-profit Khronos Group. (da Wikipedia OpenCL )