OpenCL 3.0 whakatakotoranga whakaurua

Ko te maaharahara a Khronos, he kawenga mo te whakawhanake i nga whakaritenga whanau OpenGL, Vulkan me OpenCL, i panuihia i runga i te otinga o te whanaketanga o OpenCL 3.0 whakatakotoranga e tautuhi ana i nga API me nga toronga o te reo C mo te whakarite rorohiko whakarara-whakawhiti ma te whakamahi i nga PTM maha-matua, nga GPU, nga FPGA, nga DSP me etahi atu maramara motuhake, mai i nga mea e whakamahia ana i roto i nga supercomputers me nga tūmau kapua. ki nga maramara ka kitea i roto i nga taputapu pūkoro me te hangarau whakauru. Ko te paerewa OpenCL kua tino tuwhera me te kore e utu raihana. Ko nga kamupene penei i IBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments me Toshiba i whai waahi ki te mahi i runga i te paerewa.

I te wa o naianei, kua tohua te tohu ki te mana mokowhiti, e tohu ana ka taea te whakamahine i runga i nga urupare i tukuna ma GitHub. Kia whai whakaarotia nga korero, ka whakatauhia te whakaritenga, ka whakaputahia he huinga whakamatautau whakamutunga hei whakamatautau i te hototahitanga o nga whakatinanatanga o naianei.

OpenCL 3.0 whakatakotoranga whakaurua

Ko te tino rongonui особенности OpenCL 3.0:

  • Ko te OpenCL 3.0 API inaianei kei te hipoki i nga putanga katoa o OpenCL (1.2, 2.x), me te kore e tuku korero motuhake mo ia putanga. Ko te OpenCL 3.0 e whakarato ana i te kaha ki te whakawhānui i nga mahi matua ma te whakauru i etahi atu waahanga ka tuhia ki te ahua o nga whiringa me te kore e aukati i te ahua monolithic o OpenCL 1.2 / 2.X.
  • Ko nga mahi anake e u ana ki te OpenCL 1.2 ka kiia he mana, a ko nga ahuatanga katoa e whakaarohia ana i roto i nga whakaritenga OpenCL 2.x ka whakarōpūtia hei whiringa. Ma tenei huarahi ka ngawari ake te hanga i nga whakaritenga ritenga e hototahi ana ki te OpenCL 3.0, ka whakawhānui ake i te whānuitanga o nga taputapu ka taea te whakamahi OpenCL 3.0. Hei tauira, ka taea e nga kaihanga te whakatinana i te tautoko OpenCL 3.0 me te kore e whakatinana i nga waahanga OpenCL 2.x motuhake. Hei uru atu ki nga ahuatanga reo whiriwhiri, kua taapirihia e OpenCL 3.0 tetahi punaha o nga patai whakamatautau ka taea e koe te arotake i te tautoko o nga huānga API takitahi, me nga tonotono motuhake.
  • Ko te whakakotahi me nga whakaritenga kua tukuna i mua ka ngawari ake te heke o nga tono ki OpenCL 3.0. Ka taea e nga tono OpenCL 1.2 te whakahaere i runga i nga taputapu e tautoko ana i te OpenCL 3.0 me te kore whakarereke. Kaore hoki nga tono OpenCL 2.x e hiahia ki nga huringa waehere, mena ka whakaratohia e te taiao OpenCL 3.0 nga mahi e hiahiatia ana (hei whakarite i te kawe a meake nei, ka tūtohu nga tono OpenCL 2.x ki te taapiri i nga patai whakamatautau hei arotake i te tautoko mo nga ahuatanga OpenCL 2.x e whakamahia ana). Ka taea e nga kaiwhakawhanake taraiwa me nga whakatinanatanga OpenCL te whakahou ake i o raatau hua ki te OpenCL 3.0, me te taapiri i te tukatuka patai mo etahi waea API, ka piki haere te mahi i roto i te waa.
  • Ko te whakatakotoranga OpenCL 3.0 e hono ana ki te taiao, ki nga toronga, me nga whakaritenga o te SPIR-V generic intermediate representation, e whakamahia ana hoki e te Vulkan API. Ko te tautoko mo te tohu SPIR-V 1.3 kei roto i te kaupapa matua OpenCL 3.0 hei waahanga whiriwhiri. Ma te whakamahi i tetahi tohu takawaenga SPIR-V kua taapirihia he tautoko mo nga mahi me nga roopu iti mo nga matua rorohiko.
    OpenCL 3.0 whakatakotoranga whakaurua

  • He tautoko taapiri mo te toronga mo te whakahaere i nga mahi DMA tukutahi (Asynchronous DMA), e tautokohia ana i nga maramara rite-DSP me te uru mahara tika. Ko te DMA Asynchronous ka taea te whakamahi i nga whakawhitinga DMA ki te whakawhiti raraunga i waenga i te mahara o te ao me te rohe i te tukutahi, i te whakarara ki nga tatauranga me etahi atu mahi whakawhiti raraunga.
  • Kua whakahōungia te whakakitenga C Parallel Programming Extensions ki putanga 3.0, me te whakawhanaketanga o nga toronga reo OpenCL mo C++ i whakamutua mo te kaupapa "C++ mo OpenCL". Ko te C ++ mo OpenCL he kaikoi i runga i te Clang/LLVM me päpäho Ko nga kakano C++ me OpenCL C ki roto i te SPIR-V hei tohu takawaenga, he tohu miihini taumata iti ranei. Na roto i te haapurororaa, ka whakarite ano a SPIR-V i te huihuinga o nga tono C++ ma te whakamahi i te whare pukapuka tauira SYCL, e whakangwari ana i te hanga tono whakarara.

    OpenCL 3.0 whakatakotoranga whakaurua

  • Kua whakaarohia he kaiwhakatakoto whakaaro mo te panui OpenCL ma te Vulkan API clspv, ka huri i nga kakano OpenCL ki te tohu Vulkan SPIR-V, me tetahi paparanga clvk kia taea ai e te OpenCL API te mahi ki runga ake o Vulkan.

    OpenCL 3.0 whakatakotoranga whakaurua

Source: opennet.ru

Tāpiri i te kōrero