De endelige spesifikasjonene til OpenCL 3.0 er allerede utgitt

For noen måneder siden delte vi her på bloggen nyheten om lanseringen av utviklingen av OpenCL 3.0 av Khronos bekymring (Ansvarlig for utvikling av spesifikasjoner for OpenGL, Vulkan og OpenCL-familien).

Og det var inntil nylig det lansering av endelige OpenCL 3.0-spesifikasjoner kunngjort, definere APIer og utvidelser av C-språket for å organisere multiplatform parallell databehandling ved hjelp av flerkjerners CPUer, GPUer, FPGAer, DSPer og andre spesialiserte brikker fra de som brukes i superdatamaskiner og skyservere til brikker som finnes i mobile enheter og integrert teknologi.

Samtidig ble en åpen kildekode OpenCL SDK gitt ut med verktøy, eksempler, dokumentasjon, headerfiler, lenker for C ++ og C-biblioteker for utvikling av OpenCL 3.0-kompatible applikasjoner.

Den første implementeringen av OpenCL 3.0 basert på Clang-kompilatoren presenteres også, som er i fagfellevurderingsfasen for inkludering i hoved LLVM-pakken. Bedrifter som IBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments og Toshiba har bidratt til standarden.

I dag er Khronos® OpenCL ™ arbeidsgruppe glade for å kunngjøre lanseringen av de avsluttede OpenCL 3.0-spesifikasjonene, inkludert en ny enhetlig OpenCL C 3.0-språkspesifikasjon, sammen med en tidlig utgivelse av en Khronos OpenCL SDK for å gjøre det mulig for utviklere å stå opp raskt øke hastigheten med OpenCL.

OpenCL 3.0 hovedtrekk

OpenCL 3.0 API nå dekker alle versjoner av OpenCL (1.2, 2.x), uten å gi separate spesifikasjoner for hver versjon.

OpenCL 3.0 tilbyr muligheten til å utvide kjernefunksjonaliteten ved å integrere tilleggsspesifikasjoner som vil overlappe i form av alternativer uten å blokkere den monolitiske naturen til OpenCL 1.2 / 2.X.

Bare funksjonalitet som oppfyller OpenCL 1.2 er erklært obligatorisk, og alle funksjonene som er foreslått i OpenCL 2.x-spesifikasjoner kalles valgfritt.

Denne tilnærmingen vil forenkle etableringen av spesialiserte implementeringer som er kompatible med OpenCL 3.0 og utvide utvalg av enheter som OpenCL 3.0 kan brukes på.

Eg Produsenter kan implementere støtte for OpenCL 3.0 uten å implementere spesifikke OpenCL 2.x-funksjoner. For å få tilgang til valgfrie språkfunksjoner er det lagt til et testforespørselssystem i OpenCL 3.0 for å evaluere støtte for individuelle API-elementer, samt spesielle makroer.

Forening med tidligere utgitte spesifikasjoner gjør det enkelt å oversette applikasjoner til OpenCL 3.0. OpenCL 1.2-applikasjoner vil kunne kjøres på enheter som støtter OpenCL 3.0 uten endring.

søknader OpenCL 2.x krever heller ikke kodeendringer, men hvis OpenCL 3.0-miljøet gir den nødvendige funksjonaliteten (for fremtidig bærbarhet, oppfordres OpenCL 2.x-applikasjoner til å legge til testspørsmål for å evaluere kompatibilitet med OpenCL 2.x-funksjonene som brukes).

Driverutviklere med OpenCL-implementeringer kan enkelt oppgradere produktene sine til OpenCL 3.0 ved bare å legge til forespørsel for visse API-samtaler og gradvis øke funksjonaliteten over tid.

OpenCL 3.0-spesifikasjonen er tilpasset miljøet, utvidelsene og spesifikasjonene av det generiske mellomproduktet SPIR-V, som også brukes i Vulkan API. Støtte for SPIR-V 1.3-spesifikasjonen er inkludert i hoved OpenCL 3.0 som en valgfri funksjon. Støtte for operasjoner med undergrupper er lagt til ved å bruke SPIR-V mellomrepresentasjon for beregningskjerner.

bortsett fra det lagt til støtte for en utvidelse for å utføre DMA-operasjoner Asynkron støttet på DSP-lignende DMA-brikker.

Asynkron DMA gjør det mulig å bruke DMA-transaksjoner til å overføre data mellom globalt og lokalt minne asynkront, parallelt med pågående beregninger eller andre dataoverføringer.

Spesifikasjonen av parallelle programmeringsutvidelser for språk C er oppdatert til versjon 3.0 og utviklingen av OpenCL-språkutvidelsene for C ++ avvikles til fordel for "C ++ for OpenCL" -prosjektet.

For å oversette OpenCL gjennom Vulkan API, foreslås clspv-kompilatoren, som konverterer OpenCL-kjerner til Vulkan SPIR-V-representasjon, og clvk-laget for å sikre at OpenCL API fungerer på toppen av Vulkan.

Fuente: https://www.khronos.org/


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: AB Internet Networks 2008 SL
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.