OpenCL

OpenCL
logo
ilustracja
Autor Khronos Group
Aktualna wersja stabilna 3.0.17
(24 października 2024) [±]
Platforma sprzętowa wieloplatformowa
Rodzaj API
Strona internetowa

OpenCL (ang. Open Computing Language) – framework wspomagający pisanie aplikacji działających na heterogenicznych platformach składających się z różnego rodzaju jednostek obliczeniowych (m.in. CPU, GPU, FPGA). Główną zaletą technologii OpenCL jest możliwość użycia jednego otwartego standardu zamiast wielu zamkniętych współpracujących ze sprzętem tylko jednego producenta (np. CUDA tylko dla kart graficznych produkowanych przez firmę Nvidia).

OpenCL definiuje języki programowania oparte na C99 i C++11, służące do tworzenia funkcji wykonywanych na akceleratorze (tzw. kernele[1]) oraz API umożliwiających kontrolę nad poszczególnymi urządzeniami.

Pierwotnie został opracowany przez Apple Inc, a następnie powierzony konsorcjum Khronos Group, które opracowuje kolejne wersje specyfikacji[2]. Implementacje OpenCL dostępne są dla produktów firm: Altera, AMD, Apple, ARM, Creative, IBM, Imagination, Intel, Nvidia[1], Qualcomm, Samsung, Vivante, Xilinx, i ZiiLABS.

  1. a b OpenCL dla NVIDIA. NVIDIA Corporation. [dostęp 2010-12-31].
  2. Khronos OpenCL API Registry. Khronos Group. [dostęp 2010-12-31]. (ang.).

Developed by StudentB