OpenCL 3.0 forskrift kynnt

Khronos-samtökin, sem bera ábyrgð á þróun OpenGL, Vulkan og OpenCL fjölskylduforskriftanna, tilkynnt um að ljúka þróun OpenCL 3.0 forskrifta sem skilgreina API og viðbætur á C tungumálinu til að skipuleggja samhliða tölvuvinnslu yfir palla með því að nota fjölkjarna örgjörva, GPU, FPGA, DSP og aðra sérhæfða flís, frá þeim sem notaðir eru í ofurtölvum og skýjaþjónum til flísa sem er að finna í fartækjum og innbyggðri tækni. OpenCL staðallinn er algjörlega opinn og krefst ekki leyfisgjalda. Fyrirtæki eins og IBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments og Toshiba tóku þátt í vinnunni við staðalinn.

Á núverandi stigi hefur forskriftinni verið úthlutað bráðabirgðastöðu, sem felur í sér möguleika á betrumbót byggt á endurgjöf send í gegnum GitHub. Þegar tekið hefur verið tillit til athugasemda verður forskriftin endanleg og endanleg prófunarsvíta gefin út til að prófa samhæfni núverandi útfærslur.

OpenCL 3.0 forskrift kynnt

Mest eftirtektarvert Features OpenCL 3.0:

  • OpenCL 3.0 API nær nú yfir allar útgáfur af OpenCL (1.2, 2.x), án þess að gefa upp sérstakar forskriftir fyrir hverja útgáfu. OpenCL 3.0 veitir möguleika á að auka kjarnavirkni með samþættingu viðbótarforskrifta sem verða lagskipt í formi valkosta án þess að hindra einhæfni OpenCL 1.2/2.X.
  • Aðeins virkni sem er í samræmi við OpenCL 1.2 er lýst skyldubundin og allir eiginleikar sem lagðar eru til í OpenCL 2.x forskriftunum eru flokkaðir sem valfrjálsir. Þessi nálgun mun gera það auðveldara að búa til sérsniðnar útfærslur sem eru samhæfðar við OpenCL 3.0 og mun auka úrval tækja sem hægt er að nota OpenCL 3.0 á. Til dæmis geta framleiðendur innleitt OpenCL 3.0 stuðning án þess að innleiða sérstaka OpenCL 2.x eiginleika. Til að fá aðgang að valfrjálsum tungumálaeiginleikum hefur OpenCL 3.0 bætt við kerfi prófunarfyrirspurna sem gerir þér kleift að meta stuðning einstakra API þátta, auk sérstakra fjölva.
  • Sameining með áður útgefnum forskriftum gerir það auðveldara að flytja forrit yfir í OpenCL 3.0. OpenCL 1.2 forrit munu geta keyrt á tækjum sem styðja OpenCL 3.0 án breytinga. OpenCL 2.x forrit munu heldur ekki krefjast kóðabreytinga, svo framarlega sem OpenCL 3.0 umhverfið veitir nauðsynlega virkni (til að tryggja framtíðarflutning er mælt með OpenCL 2.x forritum til að bæta við prófunarfyrirspurnum til að meta stuðning við OpenCL 2.x eiginleikana vera notaður). Reklahönnuðir með OpenCL útfærslur geta auðveldlega uppfært vörur sínar í OpenCL 3.0, aðeins bætt við fyrirspurnavinnslu fyrir ákveðin API símtöl og aukið virkni smám saman með tímanum.
  • OpenCL 3.0 forskriftin er í takt við umhverfi, viðbætur og forskriftir SPIR-V almennu milliframsetningar, sem einnig er notað af Vulkan API. Stuðningur við SPIR-V 1.3 forskriftina er innifalinn í kjarna OpenCL 3.0 sem valfrjáls eiginleiki. Með því að nota milliframsetningu SPIR-V stuðningur við aðgerðir með undirhópum hefur verið bætt við fyrir tölvukjarna.
    OpenCL 3.0 forskrift kynnt

  • Bætt við stuðningi við viðbót til að framkvæma ósamstilltar DMA aðgerðir (ósamstilltur DMA), studdur í DSP-líkum flísum með beinan minnisaðgang. Ósamstilltur DMA gerir það mögulegt að nota DMA viðskipti til að flytja gögn á milli alþjóðlegs og staðbundins minnis ósamstillt, samhliða útreikningum eða öðrum gagnaflutningsaðgerðum.
  • C Parallel Programming Extensions forskriftin hefur verið uppfærð í útgáfa 3.0, og þróun OpenCL tungumálaviðbóta fyrir C++ var hætt í þágu „C++ fyrir OpenCL“ verkefnið. C++ fyrir OpenCL er þýðandi byggður á Clang/LLVM og útsendingar C++ og OpenCL C kjarna í SPIR-V milliframsetningu eða lágstigs vélkóða. Í gegnum útsendingar skipuleggur SPIR-V einnig samsetningu C++ forrita með því að nota SYCL sniðmátasafnið, sem einfaldar stofnun samhliða forrita.

    OpenCL 3.0 forskrift kynnt

  • Lagt hefur verið til þýðanda til að senda út OpenCL í gegnum Vulkan API clspv, sem breytir OpenCL kjarna í Vulkan SPIR-V framsetningu og lag clvk til að gera OpenCL API kleift að vinna ofan á Vulkan.

    OpenCL 3.0 forskrift kynnt

Heimild: opennet.ru

Bæta við athugasemd