Nejlepší odpověď
OpenGL používám v aplikacích počítačové grafiky již téměř 10 let.
OpenGL se většinou používá pro počítačovou grafiku, jedná se o grafické API. OpenCL se většinou používá pro paralelní výpočty, jedná se o výpočetní API.
Můžete použít OpenGL k řešení některých problémů, které obvykle řešíte pomocí OpenCL, ale budete muset svůj problém namapovat do grafického kontextu, abyste mohli svůj výpočet spustit.
Myslím, že Hlavním důvodem, proč jste si vybrali OpenGL pro úlohy bez vykreslování, je podpora staršího hardwaru, který nemůže spustit OpenCL.
Otevřít grafickou knihovnu ( OpenGL ) je vícejazyčný , cross-platform aplikační programovací rozhraní (API) pro vykreslování 2D a 3D vektorová grafika . API se obvykle používá k interakci s jednotka grafického zpracování (GPU), k dosažení hardwarově akcelerované vykreslování .
Silicon Graphics Inc., (SGI) začal vyvíjet OpenGL v roce 1991 a vydal jej v lednu 1992; aplikace jej hojně využívají v oblastech počítačem podporovaného designu (CAD), virtuální reality , vědecká vizualizace , vizualizace informací, letová simulace a videohry . OpenGL je spravováno neziskovou technologií konsorciem Skupina Khronos . (z Wikipedie OpenGL )
Open Computing Language ( OpenCL ) je rámec pro psaní programů, které se spouštějí napříč heterogenní platformy sestávající z centrálních procesorových jednotek (CPU), grafických procesorů (GPU), procesory digitálních signálů ( DSP ), polní programovatelná hradlová pole (FPGA) a další procesory nebo hardwarové akcelerátory. OpenCL určuje jazyk (založený na C99 ) pro programování těchto zařízení a aplikačních programovacích rozhraní ( API) k ovládání platformy a spouštění programů na výpočetních zařízeních. OpenCL poskytuje standardní rozhraní pro paralelní výpočty využívající paralelismus založený na úlohách a datech. OpenCL je otevřený standard udržovaný neziskovým technologickým konsorciem Khronos Group . (z Wikipedie OpenCL )
Odpověď
Kromě podobnosti jmen se jedná o velmi odlišná zvířata. OpenCL znamená Open Computing Language. Je to jazyk, který vám umožňuje vytvářet jádra programů, která mohou pracovat paralelně na GPU nebo CPU. OpenCL se obvykle používá pro algoritmy zpracování obrazu, fyzické simulace a vrací číselné výsledky. Jinými slovy, výstup programu OpenCL nemá grafickou povahu.
Naproti tomu OpenGL je grafické rozhraní API, které umožňuje odesílat vykreslovací příkazy do GPU. Cílem je obvykle zobrazit vykreslení na obrazovce.