De endelige specifikationer for OpenCL 3.0 er allerede frigivet

For et par måneder siden delte vi her på bloggen nyheden om frigivelsen af ​​udviklingen af ​​OpenCL 3.0 af Khronos Bekymring (Ansvarlig for udvikling af specifikationer til OpenGL, Vulkan og OpenCL familien).

Og det var indtil for nylig det frigivelse af de endelige OpenCL 3.0-specifikationer, der blev annonceret, der definerer API'er og udvidelser af C-sproget til at organisere multiplatform parallel computing ved hjælp af multi-core CPU'er, GPU'er, FPGA'er, DSP'er og andre specialiserede chips fra dem, der bruges i supercomputere og cloud-servere til chips, der findes i mobile enheder og integreret teknologi.

Samtidig blev en open source OpenCL SDK frigivet med værktøjer, eksempler, dokumentation, headerfiler, links til C ++ og C-biblioteker til udvikling af OpenCL 3.0-kompatible applikationer.

Den første implementering af OpenCL 3.0 baseret på Clang-compileren præsenteres også, som er i peer review-fasen for at blive inkluderet i den primære LLVM-pakke. Virksomheder som IBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments og Toshiba har bidraget til standarden.

I dag er Khronos® OpenCL ™ arbejdsgruppe glad for at meddele, at de afsluttede OpenCL 3.0-specifikationer er frigivet, herunder en ny samlet OpenCL C 3.0-sprogspecifikation sammen med en tidlig indgivelse af en Khronos OpenCL SDK, der gør det muligt for udviklere at stå op hurtigt fremskynde med OpenCL.

OpenCL 3.0 hovedfunktioner

OpenCL 3.0 API nu dækker alle versioner af OpenCL (1.2, 2,x), uden at give separate specifikationer for hver version.

OpenCL 3.0 giver mulighed for at udvide kernefunktionaliteten ved at integrere yderligere specifikationer, der overlapper hinanden i form af muligheder uden at blokere den monolitiske karakter af OpenCL 1.2 / 2.X.

Kun funktionalitet, der opfylder OpenCL 1.2 erklæres obligatorisk, og alle de funktioner, der er foreslået i OpenCL 2.x-specifikationer kaldes valgfri.

Denne tilgang forenkler oprettelsen af ​​specialiserede implementeringer, der er kompatible med OpenCL 3.0, og vil udvide rækkevidden af ​​enheder, som OpenCL 3.0 kan bruges på.

Fx Producenter kan implementere support til OpenCL 3.0 uden at implementere specifikke OpenCL 2.x-funktioner. For at få adgang til valgfri sprogfunktioner er der tilføjet et testanmodningssystem til OpenCL 3.0 for at evaluere understøttelse af individuelle API-elementer såvel som specielle makroer.

Forening med tidligere udgivne specifikationer gør det nemt at oversætte applikationer til OpenCL 3.0. OpenCL 1.2-applikationer kan køre på enheder, der understøtter OpenCL 3.0 uden ændringer.

applikationer OpenCL 2.x kræver heller ikke kodeændringer, men hvis OpenCL 3.0-miljøet giver den nødvendige funktionalitet (til fremtidig bærbarhed opfordres OpenCL 2.x-applikationer til at tilføje testforespørgsler for at evaluere kompatibilitet med de OpenCL 2.x-funktioner, der bruges).

Driverudviklere med OpenCL-implementeringer kan let opgradere deres produkter til OpenCL 3.0 ved kun at tilføje anmodningsbehandling for visse API-opkald og gradvist øge funktionaliteten over tid.

OpenCL 3.0-specifikationen er tilpasset miljøet, udvidelser og specifikationer af det generiske mellemprodukt SPIR-V, som også bruges i Vulkan API. Understøttelse af SPIR-V 1.3-specifikationen er inkluderet i den primære OpenCL 3.0 som en valgfri funktion. Support til operationer med undergrupper er tilføjet ved hjælp af SPIR-V mellemrepræsentation til beregningskerner.

udover det tilføjet support til en udvidelse til at udføre DMA-operationer Asynkron understøttet på DSP-lignende DMA-chips.

Asynkron DMA gør det muligt at bruge DMA-transaktioner til at overføre data mellem global og lokal hukommelse asynkront, parallelt med igangværende beregninger eller andre dataoverførsler.

Specifikationen af ​​parallelle programmeringsudvidelser for sprog C er blevet opdateret til version 3.0 og udviklingen af ​​OpenCL-sprogudvidelser til C ++ ophører til fordel for projektet "C ++ for OpenCL".

For at oversætte OpenCL gennem Vulkan API foreslås clspv-compileren, som konverterer OpenCL-kerner til Vulkan SPIR-V-repræsentation og clvk-laget for at sikre, at OpenCL API fungerer oven på Vulkan.

kilde: https://www.khronos.org/


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for data: AB Internet Networks 2008 SL
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.