OpenCL
Acronimo di "Open Computing Language". OpenCL è uno standard aperto per la programmazione parallela multipiattaforma. È stato sviluppato originariamente da Apple nel 2008 e ora è gestito dal Khronos Group. Il primo importante sistema operativo a supportare OpenCL è stato Snow Leopard (Mac OS X 10.6), rilasciato nel 2009.
OpenCL fornisce un'API che consente ai programmi software di accedere contemporaneamente a più processori per eseguire elaborazioni parallele. Tra gli esempi ci sono le CPU, le GPU, i processori di segnali digitali (DSP) e le matrici di porte programmabili sul campo (FPGA). Distribuendo il carico di calcolo tra più processori, OpenCL aumenta l'efficienza di elaborazione e può migliorare notevolmente le prestazioni di un programma.
Sebbene OpenCL supporti molti tipi diversi di processori, viene utilizzato soprattutto per accedere alla GPU per attività di calcolo generiche. Questa tecnica, chiamata anche GPGPU, sfrutta la potenza di elaborazione della GPU e le consente di assistere la CPU nell'esecuzione dei calcoli. Prima di OpenCL, il processore grafico rimaneva spesso inattivo mentre la CPU funzionava alla massima capacità. OpenCL consente alla GPU di assistere la CPU nell'elaborazione di calcoli non legati alla grafica.
Per sfruttare OpenCL, sia l'hardware sia il software devono supportare l'API OpenCL. Grazie al vantaggio in termini di prestazioni offerto da OpenCL, la maggior parte delle schede video sviluppate da NVIDIA e AMD ora supporta OpenCL. Anche molti processori grafici mobili, come quelli utilizzati negli smartphone e nei tablet, supportano OpenCL.
Metti alla prova le tue conoscenze