Ang pangwakas na pagtutukoy ng OpenCL 3.0 ay pinakawalan na

Ilang buwan na ang nakakalipas nagbahagi kami dito sa blog ang balita ng ang paglabas ng pagbuo ng OpenCL 3.0 ng Khronos Pag-aalala (Responsable para sa pagbuo ng mga pagtutukoy para sa OpenGL, Vulkan at OpenCL na pamilya).

At hanggang ngayon lang iyon inilabas ang pangwakas na mga pagtutukoy ng OpenCL 3.0, tinutukoy ang mga API at extension ng wikang C upang ayusin ang multiplatform parallel computing gamit ang mga multi-core CPU, GPU, FPGAs, DSP at iba pang mga dalubhasang chips mula sa mga ginamit sa mga supercomputer at cloud server sa mga chip na matatagpuan sa mga mobile device at integrated na teknolohiya.

Kasabay nito, isang bukas na mapagkukunan ng OpenCL SDK ang pinakawalan na may mga tool, halimbawa, dokumentasyon, mga file ng header, mga link para sa mga library ng C ++ at C para sa pagbuo ng mga sumusunod na aplikasyon ng OpenCL 3.0.

Ang paunang pagpapatupad ng OpenCL 3.0 batay sa tagatala ng Clang ay ipinakita din, na nasa yugto ng pagsusuri ng kapwa para isama sa pangunahing pakete ng LLVM. Ang mga kumpanya tulad ng IBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments, at Toshiba ay nag-ambag sa pamantayan.

Ngayon, ang Khronos® OpenCL ™ Working Group ay nalulugod na ipahayag ang paglabas ng natapos na detalye ng OpenCL 3.0, kasama ang isang bagong pinag-isang detalye ng OpenCL C 3.0 na wika, kasama ang isang maagang paunang paglabas ng isang Khronos OpenCL SDK upang paganahin ang mga developer na mabilis na bumangon bilisan mo ng OpenCL.

Pangunahing tampok sa OpenCL 3.0

OpenCL 3.0 API ngayon sumasaklaw sa lahat ng mga bersyon ng OpenCL (1.2, 2.x), nang hindi nagbibigay ng magkakahiwalay na pagtutukoy para sa bawat bersyon.

Nag-aalok ang OpenCL 3.0 ng kakayahang pahabain ang pangunahing pag-andar sa pamamagitan ng pagsasama ng karagdagang mga pagtutukoy na magkakapatong sa anyo ng mga pagpipilian nang hindi hinaharangan ang likas na katangian ng OpenCL 1.2 / 2.X.

Pag-andar lamang ang sumusunod Ang OpenCL 1.2 ay idineklarang ipinag-uutos, at lahat ng mga tampok na iminungkahi sa Ang mga pagtutukoy ng OpenCL 2.x ay tinatawag na opsyonal.

Papadaliin ng pamamaraang ito ang paglikha ng mga dalubhasang pagpapatupad na katugma sa OpenCL 3.0 at palawakin ang saklaw ng mga aparato kung saan maaaring magamit ang OpenCL 3.0.

Hal Maaaring magpatupad ang mga tagagawa ng suporta para sa OpenCL 3.0 nang hindi nagpapatupad ng tukoy na mga tampok na OpenCL 2.x. Upang ma-access ang mga opsyonal na pagpapaandar ng wika, ang isang sistema ng kahilingan sa pagsubok ay naidagdag sa OpenCL 3.0 upang suriin ang suporta para sa mga indibidwal na elemento ng API, pati na rin ang mga espesyal na macros.

Ang pag-iisa sa dating inilabas na mga pagtutukoy ay ginagawang madali upang isalin ang mga application sa OpenCL 3.0. Ang mga application ng OpenCL 1.2 ay maaaring tumakbo sa mga aparato na sumusuporta sa OpenCL 3.0 nang walang pagbabago.

Mga Application Ang OpenCL 2.x ay hindi rin nangangailangan ng mga pagbabago sa code, ngunit kung ang kapaligiran ng OpenCL 3.0 ay nagbibigay ng kinakailangang pag-andar (para sa pagdadala sa hinaharap, hinihikayat ang mga aplikasyon ng OpenCL 2.x na magdagdag ng mga query sa pagsusuri upang suriin ang pagiging tugma sa mga tampok na OpenCL 2.x na ginagamit).

Madaling mai-upgrade ng mga developer ng driver na may pagpapatupad ng OpenCL ang kanilang mga produkto sa OpenCL 3.0 sa pamamagitan ng pagdaragdag lamang ng pagpoproseso ng kahilingan para sa ilang mga tawag sa API at unti-unting pagdaragdag ng pag-andar sa paglipas ng panahon.

Ang pagtutukoy ng OpenCL 3.0 ay nakahanay sa kapaligiran, mga extension, at pagtutukoy ng pangkalahatang intermediate na SPIR-V, na ginagamit din sa Vulkan API. Ang suporta para sa pagtutukoy ng SPIR-V 1.3 ay kasama sa pangunahing OpenCL 3.0 bilang isang opsyonal na tampok. Ang suporta para sa mga pagpapatakbo na may mga subgroup ay naidagdag sa pamamagitan ng paggamit ng SPIR-V intermediate na representasyon para sa mga compute core.

Bukod doon nagdagdag ng suporta para sa isang extension upang maisagawa ang mga pagpapatakbo ng DMA Sinusuportahan ang hindi magkakatugma sa mga DSP na tulad ng mga chips ng DMA.

Ginagawang posible ng Asynchronous DMA na gumamit ng mga transaksyon sa DMA upang ilipat ang data sa pagitan ng pandaigdigan at lokal na memorya nang hindi sinasabay, kahanay ng patuloy na mga kalkulasyon o iba pang paglilipat ng data.

Ang pagtutukoy ng mga parallel na extension ng programa para sa wika Ang C ay na-update sa bersyon 3.0 at pagpapaunlad ng mga extension ng wika ng OpenCL para sa C ++ ay hindi na ipinagpatuloy na pabor sa proyekto na "C ++ para sa OpenCL".

Upang isalin ang OpenCL sa pamamagitan ng Vulkan API, iminungkahi ang tagatala ng clspv, na nagko-convert ng mga kernel ng OpenCL sa representasyong Vulkan SPIR-V, at ang layer ng clvk upang matiyak na gagana ang OpenCL API sa tuktok ng Vulkan.

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


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: AB Internet Networks 2008 SL
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.