OpenCL

linguaggio di programmazione
Versione del 24 apr 2009 alle 00:51 di 79.46.201.108 (discussione) (Polishing)

OpenCL (Open Computing Language) è un linguaggio di programmazione basato sul C99 che può esser eseguito su una molteplicità di piattaforme, CPU, GPU, e altri tipi di processori. In particolare, le potenzialità di OpenCL sono bene espresse con architetture altamente parallelizzabili e potenti come le GPU, e in questo caso cadiamo nell'ambito chiamato GPGPU.

Lo standard è stato originariamente proposto dalla Apple, successivamente ratificato dalla stessa assieme le principali aziende del settore (Intel, NVIDIA, AMD), ed infine portato a compimento dal consorzio no-profit Khronos Group.

Il nome OpenCL è stato pensato in analogia a OpenGL ed OpenAL, in quanto tutti standard industriali aperti, pur con diverse finalità: il primo per sfruttare le potenzialità delle attuali GPU oltre il rendering grafico, e gli altri rispettivamente per la grafica 3D e il rendering audio posizionale.

Secondo il comunicato stampa[1]:

Snow Leopard estende ulteriormente il supporto per l’hardware moderno con Open Computing Language (OpenCL), che permette a qualsiasi applicazione di attingere agli ampi gigaflop di potenza di calcolo delle GPU che era in precedenza disponibile solo per gli applicativi grafici. OpenCL si basa sul linguaggio di programmazione C ed è stato proposto come uno standard aperto.

La sua introduzione è prevista in Mac OS X 10.6 Snow Leopard[1] ed è stato annunciato che la prima implementazione userà compilatori basati sulle tecnologie LLVM e Clang.

La versione 1.0 è stata rilasciata l'8 dicembre 2008[2]

Voci correlate

  • CAL (ex CTM (Close To Metal)), Framework di AMD per la programmazione delle sue GPU ATI Radeon HD e FireStream. Il modello di programmazione proposto è di tipo streaming, con forti richiami ai linguaggi data oriented. Usa una specializzazione di Brook, denominato Brook+ di ispirazione vettoriale.
  • CUDA, framework C proposto da Nvidia per la programmazione di GPU a partire dalla famiglia GeForce G80. Comprende un compilatore per un superset del linguaggio C - NVCC - e una serie di librerie di primitive implementate a vari livelli di complessità. Comprende un nutrito insieme di esempi applicativi e un ambiente di emulazione e debug. Compatibile con MSVC 2005 (piattforma Windows XP), GCC (piattaforme Linux e OSX).
  • Intel Larrabee

Collegamenti esterni

Note

  Portale Apple: accedi alle voci di Wikipedia che trattano di Apple