Paʻi ʻia nā kikoʻī OpenCL 3.0 hope loa

ʻO ka hopohopo Khronos, kuleana no ka hoʻomohala ʻana i nā kikoʻī ʻohana OpenGL, Vulkan a me OpenCL, kūkala ʻia ma ka hoʻolaha ʻana i nā kikoʻī hope loa OpenCL 3.0, ka wehewehe ʻana i nā API a me nā hoʻonui ʻia o ka ʻōlelo C no ka hoʻonohonoho ʻana i ka hoʻopili like ʻana o ke koʻa-platform me ka hoʻohana ʻana i nā CPU multi-core, GPU, FPGA, DSP a me nā chips kūikawā ʻē aʻe, mai nā mea i hoʻohana ʻia i nā supercomputers a me nā kikowaena kapuaʻi a hiki i nā chips i hiki ke loaʻa i nā polokalamu kelepona a ʻenehana i kūkulu ʻia. Ua wehe loa ka maʻamau OpenCL a ʻaʻole koi i nā uku laikini.

I ka manawa like i paʻiʻia wehe i ka OpenCL SDK me nā mea hana, nā laʻana, nā palapala, nā faila poʻomanaʻo, nā paʻa C++ a me nā hale waihona puke C no ka hoʻomohala ʻana i nā noi i kūpono me OpenCL 3.0. Eia kekahi i hōʻike ʻia e ka hoʻokō mua ʻana o OpenCL 3.0 e pili ana i ka Clang compiler, aia ma ke kahua o ka nānā ʻana i nā patches no ka hoʻokomo ʻana i ka hana nui o LLVM. ʻO nā hui e like me IBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments a me Toshiba i komo i ka hana ma ka maʻamau.

Paʻi ʻia nā kikoʻī OpenCL 3.0 hope loa

ʻO ka mea kaulana loa hiʻona OpenCL 3.0:

  • Ke uhi nei ka OpenCL 3.0 API i nā mana āpau o OpenCL (1.2, 2.x), me ka hāʻawi ʻole ʻana i nā kikoʻī kaʻawale no kēlā me kēia mana. Hāʻawi ʻo OpenCL 3.0 i ka hiki ke hoʻonui i ka hana koʻikoʻi ma o ka hoʻohui ʻana o nā kikoʻī hou aʻe e hoʻopaʻa ʻia i ke ʻano o nā koho me ka ʻole o ka pale ʻana i ke ʻano monolithic o OpenCL 1.2/2.X.
  • ʻO ka hana wale nō e pili ana i ka OpenCL 1.2 i ʻōlelo ʻia he pono, a ʻo nā hiʻohiʻona a pau i manaʻo ʻia ma nā kikoʻī OpenCL 2.x ua helu ʻia ma ke ʻano he koho. E maʻalahi kēia ala i ka hana ʻana i nā hoʻokō maʻamau i kūpono me OpenCL 3.0, a e hoʻonui i ka laulā o nā mea e hiki ai ke hoʻohana iā OpenCL 3.0. No ka laʻana, hiki i nā mea hana ke hoʻokō i ke kākoʻo OpenCL 3.0 me ka hoʻokō ʻole ʻana i nā hiʻohiʻona OpenCL 2.x. No ke komo ʻana i nā hiʻohiʻona ʻōlelo koho, ua hoʻohui ʻo OpenCL 3.0 i kahi ʻōnaehana o nā nīnau hoʻāʻo e hiki ai iā ʻoe ke loiloi i ke kākoʻo o kēlā me kēia mea API, a me nā macros kūikawā.
  • ʻO ka hui ʻana me nā kikoʻī i hoʻokuʻu mua ʻia e maʻalahi ka neʻe ʻana i nā noi i OpenCL 3.0. Hiki i nā polokalamu OpenCL 1.2 ke holo ma nā polokalamu e kākoʻo ana i ka OpenCL 3.0 me ka hoʻololi ʻole. ʻAʻole pono nā noi OpenCL 2.x i nā hoʻololi code, ʻoiai ke hāʻawi nei ka OpenCL 3.0 environment i ka hana i makemake ʻia (no ka hōʻoia ʻana i ka lawe ʻana i ka wā e hiki mai ana, ua ʻōlelo ʻia nā noi OpenCL 2.x e hoʻohui i nā nīnau hoʻokolohua e loiloi i ke kākoʻo no nā hiʻohiʻona OpenCL 2.x hoʻohana ʻia). Hiki i nā mea hoʻomohala hoʻokele me nā hoʻokō OpenCL ke hoʻonui maʻalahi i kā lākou huahana i OpenCL 3.0, me ka hoʻohui ʻana i ka hoʻoponopono nīnau no kekahi mau kelepona API, a hoʻonui mālie i ka hana i ka manawa.
  • Hoʻopili ʻia ka kikoʻī OpenCL 3.0 me ke kaiapuni, nā hoʻonui, a me nā kikoʻī o ka SPIR-V generic intermediate representation, i hoʻohana pū ʻia e ka Vulkan API. Hoʻokomo ʻia ke kākoʻo no ka kikoʻī SPIR-V 1.3 i ka OpenCL 3.0 kumu ma ke ʻano he koho koho. Ma o ka hoʻohana ʻana i kahi hōʻike waena SPIR-V ua hoʻohui ʻia ke kākoʻo no nā hana me nā pūʻulu liʻiliʻi no nā cores computing.
    Paʻi ʻia nā kikoʻī OpenCL 3.0 hope loa

  • Hoʻohui ʻia ke kākoʻo no ka hoʻonui ʻana no ka hana ʻana i nā hana DMA asynchronous (Asynchronous DMA), i kākoʻo ʻia i nā pahu like DSP me ka hoʻomanaʻo pololei. Hiki i ka Asynchronous DMA ke hoʻohana i nā kālepa DMA no ka hoʻololi ʻana i ka ʻikepili ma waena o ka hoʻomanaʻo honua a me ka hoʻomanaʻo kūloko asynchronously, e like me ka helu ʻana a i ʻole nā ​​hana hoʻoili ʻikepili ʻē aʻe.
  • Ua hōʻano hou ʻia ka ʻōlelo kikoʻī C Parallel Programming Extensions mana 3.0, a ua hoʻopau ʻia ka hoʻomohala ʻana i nā hoʻonui ʻōlelo OpenCL no C++ no ka papahana "C++ for OpenCL". ʻO C ++ no OpenCL kahi mea hoʻopili i hoʻokumu ʻia ma Clang/LLVM a hoolaha ana C++ a me OpenCL C kernels i loko o ka SPIR-V kikowaena kikowaena a i ʻole ka helu mīkini pae haʻahaʻa. Ma o ka hoʻolaha ʻana, hoʻonohonoho pū ʻo SPIR-V i ka hui ʻana o nā noi C++ me ka hoʻohana ʻana i ka waihona template SYCL, e hoʻomaʻamaʻa i ka hana ʻana i nā noi like.

    Paʻi ʻia nā kikoʻī OpenCL 3.0 hope loa

  • Ua noi ʻia kahi mea hōʻuluʻulu no ka hoʻolaha ʻana iā OpenCL ma o ka Vulkan API clspv, e hoʻohuli ana i nā kernels OpenCL i kahi hōʻike Vulkan SPIR-V, a me kahi papa clvk e hiki ai i ka OpenCL API ke hana ma luna o Vulkan.

    Paʻi ʻia nā kikoʻī OpenCL 3.0 hope loa

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka