Quali sono le differenze tra OpenCL e OpenGL?


La migliore risposta

Uso OpenGL in applicazioni di computer grafica da quasi 10 anni.

OpenGL è utilizzato principalmente per la computer grafica, è unAPI grafica. OpenCL è utilizzato principalmente per il calcolo parallelo, è unAPI di calcolo.

Puoi usare OpenGL per risolvere alcuni problemi che di solito risolvi con OpenCL, ma dovrai mappare il tuo problema al contesto grafico per far funzionare il tuo calcolo.

Penso che il Il motivo principale per cui scegli OpenGL per le attività non di rendering è il supporto di hardware meno recente che non può “eseguire OpenCL.

Open Graphics Library ( OpenGL ) è un multilingue , multipiattaforma interfaccia di programmazione dellapplicazione (API) per il rendering di 2D e 3D grafica vettoriale . LAPI viene generalmente utilizzata per interagire con un unità di elaborazione grafica (GPU), per ottenere accelerazione hardware rendering .

Silicon Graphics Inc., (SGI) ha iniziato a sviluppare OpenGL nel 1991 e lo ha rilasciato nel gennaio 1992; le applicazioni lo utilizzano ampiamente nei settori della progettazione assistita da computer (CAD), realtà virtuale , visualizzazione scientifica , visualizzazione di informazioni, simulazione di volo e videogiochi . OpenGL è gestito dalla tecnologia non profit consorzio Khronos Group . (da Wikipedia OpenGL )

Open Computing Language ( OpenCL ) è un framework per la scrittura di programmi che vengono eseguiti su piattaforme eterogenee costituite da unità di elaborazione centrale (CPU), unità di elaborazione grafica (GPU), processori di segnale digitale ( DSP ), array di gate programmabili sul campo (FPGA) e altri processori o acceleratori hardware. OpenCL specifica una lingua (basata su C99 ) per programmare questi dispositivi e interfacce di programmazione dellapplicazione ( API) per controllare la piattaforma ed eseguire programmi sui dispositivi di elaborazione. OpenCL fornisce uninterfaccia standard per il calcolo parallelo utilizzando il parallelismo basato su attività e dati. OpenCL è uno standard aperto gestito dal consorzio tecnologico non profit Khronos Group . (da Wikipedia OpenCL )

Risposta

Oltre alla somiglianza del nome, sono bestie molto diverse. OpenCL sta per Open Computing Language. È un linguaggio che consente di creare kernel di programma che possono funzionare in parallelo su GPU o CPU. OpenCL viene tipicamente utilizzato per algoritmi di elaborazione delle immagini, simulazioni fisiche e restituisce risultati numerici. In altre parole, luscita di un programma OpenCL non è di natura grafica.

Al contrario, OpenGL è unAPI grafica che ti consente di inviare comandi di rendering alla GPU. In genere, lobiettivo è mostrare il rendering sullo schermo.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *