Ewebata nkọwapụta OpenCL 3.0

Nchegbu Khronos, onye na-ahụ maka ịmepụta nkọwa ezinụlọ OpenGL, Vulkan na OpenCL, mara ọkwa na mmecha nke mmepe nke nkọwapụta OpenCL 3.0 nke na-akọwa API na ndọtị nke asụsụ C maka ịhazi mkpokọta cross-platform parallel computing site na iji multi-core CPUs, GPUs, FPGAs, DSPs na ibe ndị ọzọ pụrụ iche, sitere na ndị ejiri na supercomputers na sava igwe ojii. na ibe nke enwere ike ịhụ na ngwaọrụ mkpanaka yana teknụzụ agbakwunyere. Ụkpụrụ OpenCL mepere emepe ma ọ chọghị ụgwọ ikike. Ụlọ ọrụ ndị dị ka IBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments na Toshiba so na-arụ ọrụ na ọkọlọtọ.

N'oge ugbu a, e kenyere nkọwapụta ọkwa ọnọdụ nwa oge, nke pụtara na enwere ike imezigharị ya dabere na nzaghachi ezitere site na. GitHub. Ozugbo etinyere ihe ndị a n'uche, a ga-emecha nkọwapụta na a ga-ebipụta ụlọ nyocha ikpeazụ iji nwalee ndakọrịta nke mmejuputa iwu dị ugbu a.

Ewebata nkọwapụta OpenCL 3.0

Kacha ama ama Atụmatụ OpenCL 3.0:

  • OpenCL 3.0 API na-ekpuchi ụdị OpenCL niile (1.2, 2.x), na-enyeghị nkọwapụta dị iche iche maka ụdị ọ bụla. OpenCL 3.0 na-enye ike ịgbatị ọrụ isi site na ntinye nke nkọwa ndị ọzọ nke a ga-edobe n'ụdị nhọrọ na-egbochighị ọdịdị monolithic nke OpenCL 1.2 / 2.X.
  • Naanị ọrụ dabara na OpenCL 1.2 ka ekwuputara na ọ bụ iwu, yana njirimara niile echere na nkọwapụta OpenCL 2.x bụ nkewa dị ka nhọrọ. Ụzọ a ga-eme ka ọ dịkwuo mfe ịmepụta mmejuputa omenala ndị kwekọrọ na OpenCL 3.0, ma gbasaa ụdị ngwaọrụ nke OpenCL 3.0 nwere ike iji mee ihe. Dịka ọmụmaatụ, ndị nrụpụta nwere ike mejuputa nkwado OpenCL 3.0 na-enweghị mmejuputa atụmatụ OpenCL 2.x. Iji nweta njirimara asụsụ nhọrọ, OpenCL 3.0 agbakwunyela usoro nke ajụjụ nyocha nke na-enye gị ohere inyocha nkwado nke ihe API nke ọ bụla, yana macro pụrụ iche.
  • Njikọ na nkọwapụta ewepụtara na mbụ na-eme ka ọ dị mfe ịkwaga ngwa na OpenCL 3.0. Ngwa OpenCL 1.2 ga-enwe ike ịgba ọsọ na ngwaọrụ na-akwado OpenCL 3.0 na-enweghị mgbanwe. Ngwa OpenCL 2.x agaghịkwa achọ mgbanwe koodu, ọ bụrụhaala na gburugburu OpenCL 3.0 na-enye ọrụ achọrọ (iji hụ na mbugharị n'ọdịnihu, OpenCL 2.x ngwa na-atụ aro ka ịgbakwunye ajụjụ nyocha iji nyochaa nkwado maka njirimara OpenCL 2.x. a na-eji). Ndị mmepe ọkwọ ụgbọala nwere mmejuputa OpenCL nwere ike ịkwalite ngwaahịa ha ngwa ngwa gaa na OpenCL 3.0, na-agbakwunye naanị nhazi ajụjụ maka ụfọdụ oku API, wee jiri nwayọọ nwayọọ na-abawanye ọrụ ka oge na-aga.
  • Nkọwapụta OpenCL 3.0 kwekọrọ na gburugburu ebe obibi, ndọtị, na nkọwapụta nke SPIR-V generic intermediate, nke Vulkan API na-ejikwa. Nkwado maka nkọwapụta SPIR-V 1.3 gụnyere na isi OpenCL 3.0 dị ka njirimara nhọrọ. Site na iji ihe nnọchi anya etiti SPIR-V agbakwunyere nkwado maka arụmọrụ na obere otu maka kọmpụta cores.
    Ewebata nkọwapụta OpenCL 3.0

  • Nkwado agbakwunyere maka ndọtị maka ịrụ ọrụ DMA asynchronous (Asynchronous DMA), nke akwadoro na ibe DSP nwere ohere ebe nchekwa ozugbo. Asynchronous DMA na-eme ka o kwe omume iji azụmahịa DMA nyefee data n'etiti ebe nchekwa ụwa na mpaghara asynchronously, n'otu oge na mgbako ma ọ bụ ọrụ mbufe data ndị ọzọ.
  • Emelitela nkọwapụta Extensions Programming C Parallel ka ọ bụrụ mbipute 3.0, na mmepe nke mgbasawanye asụsụ OpenCL maka C++ kwụsịrị maka ọrụ "C++ maka OpenCL". C ++ maka OpenCL bụ mkpokọta dabere na Clang/LLVM na mgbasa ozi C ++ na OpenCL C kernels n'ime ihe nnọchianya etiti SPIR-V ma ọ bụ koodu igwe dị ala. Site na mgbasa ozi, SPIR-V na-ahazi mgbakọ nke ngwa C ++ site na iji ọbá akwụkwọ template SYCL, nke na-eme ka ịmepụta ngwa ndị yiri ya dị mfe.

    Ewebata nkọwapụta OpenCL 3.0

  • Atụpụtala onye nchịkọta maka ịgbasa OpenCL site na Vulkan API clsv, nke na-atụgharị kernels OpenCL ka ọ bụrụ ihe nnọchianya Vulkan SPIR-V, na oyi akwa clvk iji mee ka OpenCL API rụọ ọrụ n'elu Vulkan.

    Ewebata nkọwapụta OpenCL 3.0

isi: opennet.ru

Tinye a comment