De slutliga specifikationerna för OpenCL 3.0 har publicerats

Koncernen Khronos, som ansvarar för utvecklingen av specifikationerna för familjen OpenGL, Vulkan och OpenCL, meddelade har offentliggjort de slutliga specifikationerna OpenCL 3.0, som definierar API och C-erweiterungen för att organisera plattformsoberoende parallellberÀkningar med hjÀlp av flerkÀrniga CPU:er, GPU:er, FPGA:er, DSP:er och andra specialiserade chip, frÄn de som anvÀnds i superdatorer och molnservrar till chip som kan hittas i mobila enheter och inbyggda system. OpenCL-standarden Àr helt öppen och krÀver inga licensavgifter.

Samtidigt publicerades öppen OpenCL SDK med verktyg, exempel, dokumentation, header-filer, C++-bindningar och C-bibliotek för utveckling av applikationer som Àr kompatibla med OpenCL 3.0. Dessutom presenterades en initial implementation av OpenCL 3.0 baserat pÄ Clang-kompilatorn, som Àr under granskning av patcher för inkludering i den huvudbestÄndsdelen av LLVM. Arbetet med standarden har involverat företag som IBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments och Toshiba.

De slutliga specifikationerna för OpenCL 3.0 har publicerats

De mest anmÀrkningsvÀrda funktioner OpenCL 3.0:

  • API:et för OpenCL 3.0 omfattar nu alla versioner av OpenCL (1.2, 2.x), utan att tillhandahĂ„lla separata specifikationer för varje version. OpenCL 3.0 förutsĂ€tter möjligheten att utöka grundfunktionaliteten genom integration av ytterligare specifikationer, som kommer att staplas som alternativ, utan att blockera den monolitiska karaktĂ€ren hos OpenCL 1.2/2.x.
  • Obligatorisk Ă€r endast funktionaliteten som motsvarar OpenCL 1.2, medan alla funktioner som erbjuds i specifikationerna för OpenCL 2.x betraktas som valfria. Denna metod kommer att förenkla skapandet av specialiserade implementationer som Ă€r kompatibla med OpenCL 3.0 och utvidga spektrumet av enheter dĂ€r OpenCL 3.0 kan anvĂ€ndas. Till exempel kan tillverkare implementera stöd för OpenCL 3.0 utan att рДалisera separata funktioner i OpenCL 2.x. För att fĂ„ tillgĂ„ng till valfria funktioner i sprĂ„ket har OpenCL 3.0 lagt till ett system för kontrollfrĂ„gor, som möjliggör utvĂ€rdering av stödet för vissa API-element, liksom sĂ€rskilda makron.
  • Enhetliga specifikationer förenklar översĂ€ttningen av applikationer till OpenCL 3.0. Applikationer byggda med OpenCL 1.2 kan köras pĂ„ enheter som stöder OpenCL 3.0 utan nĂ„gra Ă€ndringar. Applikationer med OpenCL 2.x krĂ€ver inte heller kodĂ€ndringar, men om OpenCL 3.0-miljön erbjuder nödvĂ€ndig funktionalitet (för att sĂ€kerstĂ€lla framtida portabilitet rekommenderas det att applikationer med OpenCL 2.x lĂ€gger till verifieringsanrop för att utvĂ€rdera stödet för de anvĂ€ndbara funktionerna i OpenCL 2.x). Drivutvecklare med OpenCL-implementationer kan enkelt uppdatera sina produkter till OpenCL 3.0 genom att endast lĂ€gga till hantering av förfrĂ„gningar angĂ„ende olika API-anrop, och gradvis utöka funktionaliteten över tid.
  • OpenCL 3.0-specifikationen Ă€r anpassad till miljön, tillĂ€gg och specifikationer för universellt mellanrepresentation, SPIR-V, som Ă€ven anvĂ€nds i Vulkan API. Stöd för SPIR-V 1.3 har införlivats i OpenCL 3.0 som en valfri funktion. Genom att anvĂ€nda mellanrepresentationen SPIR-V för berĂ€kningskĂ€rnor har stöd för operationer med undergrupper lagts till.
    De slutliga specifikationerna för OpenCL 3.0 har publicerats
  • Stöd för ett tillĂ€gg för att utföra asynkrona DMA-operationer (Asynchronous DMA), stödda i DSP-liknande chip med direkt minĂ„tkomst, har lagts till. Asynchronous DMA möjliggör anvĂ€ndning av DMA-transaktioner för dataöverföring mellan globalt och lokalt minne i asynkront lĂ€ge, parallellt med pĂ„gĂ„ende berĂ€kningar eller andra dataöverföringsoperationer.
  • Specifikationen för tillĂ€gg till parallellt programmering för C-sprĂ„ket har uppdaterats till version 3.0, och utvecklingen av sprĂ„ktillĂ€gg för OpenCL i C++ har avbrutits till förmĂ„n för projektet "C++ for OpenCL". C++ for OpenCL Ă€r en kompilator baserad pĂ„ Clang/LLVM och översĂ€tter kĂ€rnor till C++ och OpenCL C till mellanrepresentationen SPIR-V eller lĂ„gnivĂ„maskinkod. Genom översĂ€ttning till SPIR-V har Ă€ven bygget av C++-applikationer som anvĂ€nder SYCL:s mallbibliotek möjliggjorts, vilket förenklar skapandet av parallella applikationer.

    De slutliga specifikationerna för OpenCL 3.0 har publicerats
  • För översĂ€ttning av OpenCL via Vulkan API erbjuds en kompilator clspv, som transformerar OpenCL-kĂ€rnor till Vulkan SPIR-V-representation, och ett lager clvk för att möjliggöra anvĂ€ndning av OpenCL API ovanpĂ„ Vulkan.

    De slutliga specifikationerna för OpenCL 3.0 har publicerats

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster