Gipaila ang OpenCL 3.0 nga detalye

Ang kabalaka sa Khronos, responsable sa pagpalambo sa mga detalye sa pamilya sa OpenGL, Vulkan ug OpenCL, gipahibalo sa pagkompleto sa pagpalambo sa OpenCL 3.0 nga mga detalye nga naghubit sa mga API ug mga extension sa C nga pinulongan alang sa pag-organisar sa cross-platform parallel computing gamit ang multi-core CPUs, GPUs, FPGAs, DSPs ug uban pang espesyal nga chips, gikan sa gigamit sa supercomputers ug cloud servers sa mga chips nga makit-an sa mga mobile device ug naka-embed nga teknolohiya. Ang sumbanan sa OpenCL hingpit nga bukas ug wala magkinahanglan og bayad sa lisensya. Ang mga kompanya sama sa IBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments ug Toshiba miapil sa trabaho sa standard.

Sa kasamtangan nga yugto, ang espesipikasyon gi-assign nga provisional status, nga nagpasabot sa posibilidad sa pagpino base sa feedback nga gipadala pinaagi sa GitHub. Sa diha nga ang mga komentaryo gikonsiderar, ang espesipikasyon mahuman ug ang usa ka katapusang test suite imantala aron sulayan ang pagkaangay sa kasamtangan nga mga pagpatuman.

Gipaila ang OpenCL 3.0 nga detalye

Labing ilado Features OpenCL 3.0:

  • Ang OpenCL 3.0 API karon naglangkob sa tanan nga mga bersyon sa OpenCL (1.2, 2.x), nga walay paghatag og bulag nga mga detalye alang sa matag bersyon. Ang OpenCL 3.0 naghatag ug katakus sa pagpalapad sa kinauyokan nga pagpaandar pinaagi sa paghiusa sa dugang nga mga espesipikasyon nga i-layer sa porma sa mga kapilian nga dili makababag sa monolitikong kinaiya sa OpenCL 1.2/2.X.
  • Ang pag-andar lamang nga nagsunod sa OpenCL 1.2 ang gideklarar nga mandatory, ug ang tanan nga mga bahin nga gisugyot sa mga detalye sa OpenCL 2.x giklasipikar nga opsyonal. Kini nga pamaagi makapasayon ​​sa paghimo og custom nga mga pagpatuman nga nahiuyon sa OpenCL 3.0, ug mopalapad sa han-ay sa mga himan diin ang OpenCL 3.0 mahimong magamit. Pananglitan, ang mga tiggama makahimo sa pagpatuman sa suporta sa OpenCL 3.0 nga walay pagpatuman sa piho nga mga bahin sa OpenCL 2.x. Aron ma-access ang opsyonal nga mga feature sa pinulongan, ang OpenCL 3.0 midugang og sistema sa mga pangutana sa pagsulay nga nagtugot kanimo sa pagtimbang-timbang sa suporta sa indibidwal nga mga elemento sa API, ingon man sa mga espesyal nga macro.
  • Ang paghiusa uban sa nauna nang gipagawas nga mga detalye nagpasayon ​​sa pagbalhin sa mga aplikasyon ngadto sa OpenCL 3.0. Ang mga aplikasyon sa OpenCL 1.2 mahimong modagan sa mga aparato nga nagsuporta sa OpenCL 3.0 nga wala’y pagbag-o. Ang mga aplikasyon sa OpenCL 2.x dili usab magkinahanglan og mga pagbag-o sa code, basta ang OpenCL 3.0 nga palibot naghatag sa gikinahanglan nga pagpaandar (aron masiguro ang umaabot nga pagdala, ang mga aplikasyon sa OpenCL 2.x girekomenda nga magdugang mga pangutana sa pagsulay aron masusi ang suporta alang sa mga bahin sa OpenCL 2.x gigamit). Ang mga nag-develop sa drayber nga adunay mga pagpatuman sa OpenCL dali nga mag-upgrade sa ilang mga produkto sa OpenCL 3.0, nga magdugang lamang sa pagproseso sa pangutana alang sa pipila nga mga tawag sa API, ug hinayhinay nga madugangan ang pagpaandar sa paglabay sa panahon.
  • Ang espesipikasyon sa OpenCL 3.0 nahiuyon sa palibot, mga extension, ug mga detalye sa SPIR-V nga generic intermediate nga representasyon, nga gigamit usab sa Vulkan API. Ang suporta alang sa SPIR-V 1.3 nga detalye gilakip sa kinauyokan nga OpenCL 3.0 ingon usa ka opsyonal nga bahin. Pinaagi sa paggamit sa usa ka intermediate nga representasyon SPIR-V Ang suporta alang sa mga operasyon nga adunay mga subgroup gidugang alang sa mga core sa pag-compute.
    Gipaila ang OpenCL 3.0 nga detalye

  • Gidugang nga suporta alang sa usa ka extension alang sa paghimo sa asynchronous DMA nga mga operasyon (Asynchronous DMA), gisuportahan sa DSP-sama sa mga chips nga adunay direktang pag-access sa memorya. Ang Asynchronous DMA nagpaposible sa paggamit sa mga transaksyon sa DMA sa pagbalhin sa datos tali sa global ug lokal nga memorya nga asynchronously, dungan sa mga kalkulasyon o uban pang mga operasyon sa pagbalhin sa datos.
  • Ang detalye sa C Parallel Programming Extensions gi-update sa bersyon 3.0, ug ang pagpalambo sa OpenCL nga mga extension sa pinulongan para sa C++ gihunong pabor sa β€œC++ for OpenCL” nga proyekto. Ang C ++ alang sa OpenCL usa ka compiler nga gibase sa Clang/LLVM ug pagsibya C++ ug OpenCL C kernels ngadto sa SPIR-V intermediate representation o low-level machine code. Pinaagi sa pagsibya, ang SPIR-V usab nag-organisar sa asembliya sa C++ nga mga aplikasyon gamit ang SYCL template library, nga nagpasayon ​​sa pagmugna sa parallel applications.

    Gipaila ang OpenCL 3.0 nga detalye

  • Usa ka compiler ang gisugyot alang sa pagsibya sa OpenCL pinaagi sa Vulkan API clspv, nga nag-convert sa OpenCL kernels ngadto sa representasyon sa Vulkan SPIR-V, ug usa ka layer clvk aron mahimo ang OpenCL API sa pagtrabaho sa ibabaw sa Vulkan.

    Gipaila ang OpenCL 3.0 nga detalye

Source: opennet.ru

Idugang sa usa ka comment