OpenCL: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
mNessun oggetto della modifica
Riga 19:
}}
 
'''OpenCL''' ('''Open''' '''C'''omputing '''L'''anguage, tradotto in italiano "linguaggio di calcolo aperto") è un framework basato sul linguaggio ANSI C e C++ con una struttura host-devices che può esser eseguito su una molteplicità di piattaforme, [[CPU]], [[Graphics Processing Unit|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 si parla dell'ambito [[GPGPU]]. Sui vari dispositivi viene eseguito il codice del kernel basato sul ''[[Linguaggio di programmazione|linguaggo di programmazzione]]'' [https://www.khronos.org/registry/cl/specs/opencl-2.0-openclc.pdf OpenCL C] o la versione [https://www.khronos.org/registry/cl/specs/opencl-2.1-openclc++.pdf OpenCL C++] (basati sugli standard C99 e C++14).
 
==Storia==
Lo standard è stato originariamente proposto dalla [[Apple Inc.|Apple]], successivamente ratificato dalla stessa assieme le principali aziende del settore ([[Intel]], [[NVIDIA]], [[Advanced Micro Devices|AMD]]), ede 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.
Riga 80:
== Voci correlate ==
* CAL (ex [[Close to Metal|CTM (Close To Metal)]]), Framework di [[Advanced Micro Devices|AMD]] per la programmazione delle sue GPU [[Advanced Micro Devices|AMD]] 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 (piattformapiattaforma [[Windows XP]]), GCC (piattaforme [[Linux]] e [[Mac OS X]]).
* [[Intel Larrabee]]