Khronos anunci OpenCL 3.0 i aquestes són característiques més notables

Khronos Concern, Que és responsable de el desenvolupament d'especificacions per a la família OpenGL, Vulkan i OpenCL, anunciar la finalització de el desenvolupament de les especificacions OpenCL 3.0 que defineixen API i extensions de llenguatge C per organitzar la computació paral·lela multiplataforma utilitzant CPU de múltiples nuclis, GPU, FPGA, DSP i altres xips especialitzats.

Aquests són utilitzats des superordinadors i servidors en el núvol, fins xips que es poden trobar en dispositius mòbils i tecnologia integrada. L'estàndard OpenCL està completament obert. Empreses com IBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments i Toshiba van participar en el treball sobre l'estàndard.

En l'etapa actual de l'especificació, l'estat és provisional, El que implica la possibilitat de refinament basat en els comentaris enviats a través de GitHub. Després que es tinguin en compte els comentaris, l'especificació rebrà l'estat final i es publicarà el conjunt de proves final per comprovar la compatibilitat de les implementacions existents.

Característiques OpenCL 3.0

L'API OpenCL 3.0 ara cobreix totes les versions d'OpenCL (1.2, 2.x), sense proporcionar especificacions separades per a cada versió. OpenCL 3.0 proporciona la capacitat d'expandir la funcionalitat bàsica a través de la integració d'especificacions addicionals, que s'organitzaran en forma d'opcions, sense bloquejar la naturalesa monolítica d'OpenCL 1.2 / 2.X.

Només la funcionalitat que compleix amb OpenCL 1.2 es declara obligatòria i totes les característiques ofertes a les especificacions OpenCL 2.x es classifiquen com opcionals. Aquest enfocament simplificarà la creació d'implementacions especialitzades compatibles amb OpenCL 3.0 i ampliarà la gamma de dispositius en els quals es pot utilitzar OpenCL 3.0.

Per exemple, els fabricants poden implementar suport per OpenCL 3.0 sense adonar-se de les característiques individuals de OpenCL 2.x. Per accedir a les funcions opcionals de el llenguatge, OpenCL 3.0 afegeix un sistema de consulta de prova que permet avaluar el suport per elements API individuals, així com macros especials.

La unificació amb les especificacions publicades anteriorment facilita la transferència d'aplicacions a OpenCL 3.0. Les aplicacions OpenCL 1.2 podran executar-se en dispositius que admetin OpenCL 3.0 sense modificació. Les aplicacions OpenCL 2.x tampoc requeriran canvis de codi, però si l'entorn OpenCL 3.0 proporciona la funcionalitat necessària (per garantir la portabilitat en el futur, es recomana que les aplicacions OpenCL 2.x agreguin consultes de prova per avaluar la compatibilitat amb les funcions OpenCL 2.x utilitzades).

Els desenvolupadors de controladors amb implementacions d'OpenCL podran actualitzar fàcilment els seus productes a OpenCL 3.0, agregant només el processament de sol·licituds per a la presència de certes trucades API, i augmentar gradualment la funcionalitat amb el temps.

L'especificació OpenCL 3.0 està alineada amb l'entorn, les extensions i les especificacions de SPIR-V Universal Intermediate View, que també utilitza l'API de Vulkan. El suport per a l'especificació SPIR-V 1.3 s'inclou en el nucli d'OpenCL 3.0 com una característica opcional. Mitjançant l'ús de la representació intermèdia de SPIR-V per als nuclis informàtics, s'ha afegit suport per a operacions amb subgrups.

es va agregar suport per expansió per a realitzar operacions DMA asíncrones, Compatible amb xips similars a DSP amb accés directe a memòria. El DMA asíncron permet utilitzar transaccions DMA per transferir dades entre la memòria global i local en mode asíncron, en paral·lel amb els càlculs realitzats o altres operacions de transferència de dades.

L'especificació de les extensions de programació paral·leles per a C es va actualitzar a la versió 3.0 i el desenvolupament de les extensions de llenguatge OpenCL per C ++ es va suspendre a favor de el projecte «C ++ per OpenCL».

C ++ per OpenCL és un compilador basat en Clang / LLVM que tradueix els nuclis C ++ i OpenCL C en una representació SPIR-V intermèdia o codi de màquina de baix nivell. A través de la traducció a SPIR-V, també s'organitza la compilacion d'aplicacions C ++ usant la biblioteca de plantilles SYCL, el que simplifica la creació d'aplicacions paral·leles.

Per traduir OpenCL a través de l'API de Vulkan, es proposa el compilador clspv, que converteix els nuclis d'OpenCL a la vista Vulkan SPIR-V i la capa clvk per permetre que l'API d'OpenCL funcioni sobre Vulkan.

font: https://www.khronos.org


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.