OpenCL 3.0 spesifikaasje yntrodusearre

De Khronos soarch, ferantwurdlik foar it ûntwikkeljen fan de OpenGL, Vulkan en OpenCL famylje spesifikaasjes, oankundige op it foltôgjen fan 'e ûntwikkeling fan OpenCL 3.0-spesifikaasjes dy't API's en útwreidingen fan 'e C-taal definiearje foar it organisearjen fan cross-platform parallelle komputer mei multi-core CPU's, GPU's, FPGA's, DSP's en oare spesjalisearre chips, fan dy brûkt yn supercomputers en wolkservers oan chips dy't te finen binne yn mobile apparaten en ynbêde technology. De OpenCL-standert is folslein iepen en fereasket gjin lisinsjekosten. Bedriuwen lykas IBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments en Toshiba namen diel oan it wurk oan 'e standert.

Op it hjoeddeiske stadium is de spesifikaasje foarriedige status tawiisd, wat de mooglikheid fan ferfining ymplisearret basearre op feedback ferstjoerd fia GitHub. Sadree't de opmerkings wurde rekken holden, de spesifikaasje sil wurde finalisearre en in lêste test suite sil wurde publisearre om te testen de kompatibiliteit fan besteande ymplemintaasjes.

OpenCL 3.0 spesifikaasje yntrodusearre

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.
    OpenCL 3.0 spesifikaasje yntrodusearre

  • 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.

    OpenCL 3.0 spesifikaasje yntrodusearre

  • 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.

    OpenCL 3.0 spesifikaasje yntrodusearre

Boarne: opennet.ru

Add a comment