Finale OpenCL 3.0 spesifikaasjes publisearre

De Khronos soarch, ferantwurdlik foar it ûntwikkeljen fan de OpenGL, Vulkan en OpenCL famylje spesifikaasjes, oankundige op publikaasje fan definitive spesifikaasjes OpenCL 3.0, it definiearjen fan API's en útwreidingen fan 'e C-taal foar it organisearjen fan cross-platform parallelle komputer mei multi-core CPU's, GPU's, FPGA's, DSP's en oare spesjalisearre chips, fan dyjingen dy't brûkt wurde yn supercomputers en wolkservers oant chips dy't te finen binne yn mobile apparaten en ynboude technology. De OpenCL-standert is folslein iepen en fereasket gjin lisinsjekosten.

Tagelyk publisearre iepen OpenCL SDK mei ark, foarbylden, dokumintaasje, koptekstbestannen, C++-bindingen en C-biblioteken foar it ûntwikkeljen fan applikaasjes kompatibel mei OpenCL 3.0. Ek presintearre inisjele ymplemintaasje fan OpenCL 3.0 basearre op de Clang-kompiler, dy't op it poadium is fan it beoardieljen fan patches foar opname yn 'e haadstruktuer fan LLVM. Bedriuwen lykas IBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments en Toshiba namen diel oan it wurk oan 'e standert.

Finale OpenCL 3.0 spesifikaasjes publisearre

Meast opmerklik Eigenskippen OpenCL 3.0:

  • De OpenCL 3.0 API beslacht no alle ferzjes fan OpenCL (1.2, 2.x), sûnder aparte spesifikaasjes foar elke ferzje te jaan. OpenCL 3.0 biedt de mooglikheid om kearnfunksjonaliteit út te wreidzjen troch de yntegraasje fan ekstra spesifikaasjes dy't lizze yn 'e foarm fan opsjes sûnder it monolithyske karakter fan OpenCL 1.2 / 2.X te blokkearjen.
  • Allinnich funksjonaliteit dy't foldocht oan OpenCL 1.2 wurdt ferplichte ferklearre, en alle funksjes foarsteld yn de OpenCL 2.x spesifikaasjes wurde klassifisearre as opsjoneel. Dizze oanpak sil it makliker meitsje om oanpaste ymplemintaasjes te meitsjen dy't kompatibel binne mei OpenCL 3.0, en sil it oanbod fan apparaten útwreidzje wêrop OpenCL 3.0 kin wurde brûkt. Bygelyks kinne fabrikanten OpenCL 3.0-stipe ymplementearje sûnder spesifike OpenCL 2.x-funksjes te ymplementearjen. Om tagong te krijen ta opsjonele taalfunksjes hat OpenCL 3.0 in systeem fan testfragen tafoege wêrmei jo de stipe fan yndividuele API-eleminten, lykas spesjale makro's, evaluearje kinne.
  • Unifikaasje mei earder frijjûn spesifikaasjes makket it makliker om applikaasjes te migrearjen nei OpenCL 3.0. OpenCL 1.2-applikaasjes sille sûnder wiziging kinne rinne op apparaten dy't OpenCL 3.0 stypje. OpenCL 2.x-applikaasjes sille ek gjin koadewizigingen fereaskje, salang't de OpenCL 3.0-omjouwing de fereaske funksjonaliteit leveret (om takomstige portabiliteit te garandearjen, wurde OpenCL 2.x-applikaasjes oanrikkemandearre om testfragen ta te foegjen om stipe foar de OpenCL 2.x-funksjes te evaluearjen brûkt wurde). Driverûntwikkelders mei OpenCL-ymplemintaasjes kinne har produkten maklik opwurdearje nei OpenCL 3.0, allinich queryferwurking tafoegje foar bepaalde API-oproppen, en funksjonaliteit stadichoan ferheegje oer de tiid.
  • De OpenCL 3.0-spesifikaasje is ôfstimd mei de omjouwing, útwreidingen en spesifikaasjes fan 'e SPIR-V generyske tuskenfertsjintwurdiging, dy't ek wurdt brûkt troch de Vulkan API. Stipe foar de SPIR-V 1.3-spesifikaasje is opnommen yn 'e kearn OpenCL 3.0 as opsjonele funksje. Troch it brûken fan in tuskenfoarstelling SPIR-V stipe foar operaasjes mei subgroepen is tafoege foar komputerkearnen.
    Finale OpenCL 3.0 spesifikaasjes publisearre

  • Stipe tafoege foar in útwreiding foar it útfieren fan asynchrone DMA-operaasjes (Asynchronous DMA), stipe yn DSP-like chips mei direkte ûnthâld tagong. Asynchronous DMA makket it mooglik om te brûken DMA transaksjes foar in oerdracht gegevens tusken globale en lokale ûnthâld asynchronously, parallel mei berekkeningen of oare gegevens oerdracht operaasjes.
  • De spesifikaasje fan C Parallel Programming Extensions is bywurke nei ferzje 3.0, en de ûntwikkeling fan OpenCL-taalútwreidings foar C++ waard staakt yn it foardiel fan it projekt "C++ foar OpenCL". C ++ foar OpenCL is in gearstaller basearre op Clang / LLVM en útstjoering C ++ en OpenCL C kernels yn SPIR-V tuskenlizzende fertsjintwurdiging of leech-nivo masine koade. Troch útstjoering organisearret SPIR-V ek de gearstalling fan C ++ applikaasjes mei help fan de SYCL template bibleteek, dy't simplifies it meitsjen fan parallelle applikaasjes.

    Finale OpenCL 3.0 spesifikaasjes publisearre

  • In kompilator is foarsteld foar it útstjoeren fan OpenCL fia de Vulkan API clspv, dy't OpenCL-kernels konvertearret nei in Vulkan SPIR-V-representaasje, en in laach clvk om de OpenCL API yn te skeakeljen om boppe op Vulkan te wurkjen.

    Finale OpenCL 3.0 spesifikaasjes publisearre

Boarne: opennet.ru

Add a comment