Definice a význam OpenCL

Co je OpenCL?

Zkratka pro „Open Computing Language“. OpenCL je otevřený standard pro krossplatformní, paralelní programování. Původně jej vyvinula společnost Apple v roce 2008 a nyní jej spravuje skupina Khronos Group. Prvním velkým operačním systémem podporujícím OpenCL byl Snow Leopard(Mac OS X 10.6), který byl vydán v roce 2009.

OpenCL poskytuje API, které umožňuje softwarovým programům přistupovat k více procesorům současně a provádět paralelní zpracování. Příkladem jsou CPU, GPU, digitální signálové procesory (DSP) a pole programovatelných hradlových polí (FPGA). Rozložením výpočetní zátěže mezi více procesorů zvyšuje OpenCL efektivitu zpracování a může podstatně zvýšit výkon programu.

Ačkoli OpenCL podporuje mnoho různých typů procesorů, nejčastěji se používá k přístupu ke grafickému procesoru pro obecné výpočetní úlohy. Tato technika, nazývaná také GPGPU, využívá výpočetní výkon GPU a umožňuje mu pomáhat CPU při provádění výpočtů. Před zavedením OpenCL zůstával grafický procesor často nečinný, zatímco CPU pracoval na plný výkon. OpenCL umožňuje grafickému procesoru pomáhat procesoru CPU při zpracování výpočtů nesouvisejících s grafikou.

Aby bylo možné využít výhod OpenCL, musí rozhraní API OpenCL podporovat jak hardware, tak software. Vzhledem k výkonnostní výhodě, kterou OpenCL poskytuje, podporuje nyní OpenCL většina videokarty vyvinutých společnostmi NVIDIA a AMD. Mnoho mobilních grafických procesorů, například těch, které se používají v chytrých telefonech a tabletech, také podporuje OpenCL.

Definice OpenCL na této stránce je původní definice na SharTec.eu. Pokud chcete na tuto stránku odkázat, nezapomeňte uvést zdroj článku.

Cílem webu SharTec.eu je srozumitelně vysvětlit počítačovou terminologii. Snažíme se o jednoduchost a přesnost každé definice, kterou zveřejňujeme. Pokud máte připomínky k definici jazyka OpenCL nebo chcete navrhnout nový technický termín, kontaktujte nás.

Cieľom stránky SharTec.eu je vysvetľovať počítačovú terminológiu zrozumiteľným spôsobom. Pri každej uverejnenej definícii sa snažíme o jednoduchosť a presnosť. Ak máte pripomienky k definícii jazyka OpenCL alebo chcete navrhnúť nový technický termín, kontaktujte nás.