Specificazione OpenCL 3.0 introduttu

A preoccupazione Khronos, rispunsevuli di sviluppà e specificazioni di a famiglia OpenGL, Vulkan è OpenCL, annunziatu nantu à u cumpletu di u sviluppu di e specificazioni OpenCL 3.0 chì definiscenu API è estensioni di a lingua C per l'urganizazione di l'informatica parallela multipiattaforma utilizendu CPU multi-core, GPU, FPGA, DSP è altri chips specializati, da quelli utilizati in supercomputer è servitori cloud. à chips chì ponu esse truvati in i dispositi mobili è a tecnulugia incrustata. U standard OpenCL hè cumplettamente apertu è ùn richiede micca diritti di licenza. Cumpagnia cum'è IBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments è Toshiba anu participatu à u travagliu nantu à u standard.

In u stadiu attuale, a specificazione hè stata attribuita u statutu pruvisoriu, chì implica a pussibilità di raffinamentu basatu nantu à i feedback mandati via GitHub. Una volta chì i cumenti sò stati cunsiderati, a specificazione serà finalizzata è una suite di teste finali serà publicata per pruvà a cumpatibilità di implementazioni esistenti.

Specificazione OpenCL 3.0 introduttu

U più notevuli особенности OpenCL 3.0:

  • L'API OpenCL 3.0 copre avà tutte e versioni di OpenCL (1.2, 2.x), senza furnisce specificazioni separati per ogni versione. OpenCL 3.0 furnisce l'abilità di estenderà a funziunalità core per l'integrazione di specificazioni supplementari chì saranu stratificate in forma di opzioni senza bluccà a natura monolitica di OpenCL 1.2/2.X.
  • Solu a funziunalità chì cunforma cù OpenCL 1.2 hè dichjarata obbligatoria, è tutte e funzioni pruposte in e specificazioni OpenCL 2.x sò classificate cum'è opzionali. Questu approcciu farà più faciule per creà implementazioni persunalizati chì sò cumpatibili cù OpenCL 3.0, è espansione a gamma di dispusitivi nantu à quale OpenCL 3.0 pò esse usatu. Per esempiu, i pruduttori ponu implementà u supportu OpenCL 3.0 senza implementà funzioni specifiche OpenCL 2.x. Per accede à e funzioni di lingua opzionale, OpenCL 3.0 hà aghjustatu un sistema di dumande di teste chì vi permette di valutà u supportu di elementi API individuali, è ancu macros speciali.
  • L'unificazione cù specificazioni liberate previamente facilita a migrazione di l'applicazioni à OpenCL 3.0. L'applicazioni OpenCL 1.2 puderanu eseguisce nantu à i dispositi chì supportanu OpenCL 3.0 senza mudificazione. L'applicazioni OpenCL 2.x ùn anu micca bisognu di cambiamenti di codice, sempre chì l'ambiente OpenCL 3.0 furnisce a funziunalità necessaria (per assicurà a portabilità futura, l'applicazioni OpenCL 2.x sò cunsigliate per aghjunghje dumande di teste per evaluà u supportu per e funzioni OpenCL 2.x). esse usatu). I sviluppatori di driver cù implementazioni OpenCL ponu facilmente aghjurnà i so prudutti à OpenCL 3.0, aghjunghjendu solu l'elaborazione di e dumande per certe chjama API, è aumentà gradualmente a funziunalità cù u tempu.
  • A specificazione OpenCL 3.0 hè allinata cù l'ambiente, l'estensioni è e specificazioni di a rapprisintazioni intermediata generica SPIR-V, chì hè ancu utilizata da l'API Vulkan. U supportu per a specificazione SPIR-V 1.3 hè inclusu in u core OpenCL 3.0 cum'è una funzione opzionale. Per mezu di l'usu di una rapprisintazioni intermedia SPIR-V U supportu per l'operazioni cù sottogruppi hè statu aghjuntu per i core di computing.
    Specificazione OpenCL 3.0 introduttu

  • Aghjunghje supportu per una estensione per eseguisce operazioni DMA asincrone (DMA asincrona), supportata in chip DSP-like cù accessu à memoria diretta. A DMA asincrona permette di utilizà transazzione DMA per trasfiriri dati trà a memoria globale è lucale in modu asincronu, in parallelu cù calculi o altre operazioni di trasferimentu di dati.
  • A specificazione di l'estensioni di prugrammazione parallela C hè stata aghjurnata à versione 3.0, è u sviluppu di l'estensioni di lingua OpenCL per C++ hè stata interrotta in favore di u prughjettu "C++ per OpenCL". C++ per OpenCL hè un compilatore basatu in Clang / LLVM è trasmissioni C ++ è OpenCL C kernels in SPIR-V rapprisintazioni intermediate o codice macchina di bassu livellu. Per mezu di broadcasting, SPIR-V urganizeghja ancu l'assemblea di l'applicazioni C++ utilizendu a biblioteca di mudelli SYCL, chì simplifica a creazione di applicazioni parallele.

    Specificazione OpenCL 3.0 introduttu

  • Un compilatore hè statu prupostu per a trasmissione OpenCL via l'API Vulkan clspv, chì cunverte i kernels OpenCL à una rapprisintazioni Vulkan SPIR-V, è una capa clvk per attivà l'API OpenCL per travaglià nantu à Vulkan.

    Specificazione OpenCL 3.0 introduttu

Source: opennet.ru

Add a comment