An gabatar da ƙayyadaddun ƙayyadaddun OpenCL 3.0

Damuwar Khronos, alhakin haɓaka ƙayyadaddun ƙayyadaddun iyali na OpenGL, Vulkan da OpenCL, sanar akan kammala haɓaka ƙayyadaddun ƙayyadaddun OpenCL 3.0 waɗanda ke ayyana APIs da kari na yaren C don tsara tsarin layi ɗaya na dandamali ta amfani da CPUs masu yawa, GPUs, FPGAs, DSPs da sauran kwakwalwan kwamfuta na musamman, daga waɗanda aka yi amfani da su a cikin manyan kwamfutoci da sabar girgije. zuwa guntuwar da za a iya samu a cikin na'urorin hannu da fasahar da aka saka. Matsayin OpenCL gabaɗaya a buɗe yake kuma baya buƙatar kuɗin lasisi. Kamfanoni irin su IBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments da Toshiba sun shiga cikin aikin akan ma'auni.

A mataki na yanzu, an ba da ƙayyadaddun matsayi na wucin gadi, wanda ke nuna yiwuwar gyare-gyare bisa ga ra'ayoyin da aka aika ta hanyar. GitHub. Da zarar an yi la'akari da maganganun, za a kammala ƙayyadaddun ƙayyadaddun bayanai kuma za a buga babban ɗakin gwaji na ƙarshe don gwada dacewa da aiwatarwa da ake da su.

An gabatar da ƙayyadaddun ƙayyadaddun OpenCL 3.0

Mafi shahara fasali OpenCL 3.0:

  • OpenCL 3.0 API yanzu yana rufe duk nau'ikan OpenCL (1.2, 2.x), ba tare da samar da keɓantaccen bayani na kowane sigar ba. OpenCL 3.0 yana ba da damar ƙaddamar da ainihin ayyuka ta hanyar haɗakar da ƙarin ƙayyadaddun bayanai waɗanda za a shimfiɗa su a cikin nau'i na zaɓuɓɓuka ba tare da toshe yanayin monolithic na OpenCL 1.2 / 2.X ba.
  • Ayyuka kawai waɗanda suka dace da OpenCL 1.2 an ayyana su zama dole, kuma duk fasalulluka da aka gabatar a cikin ƙayyadaddun ƙayyadaddun OpenCL 2.x an rarraba su azaman zaɓi. Wannan hanya za ta sauƙaƙe don ƙirƙirar abubuwan aiwatarwa na al'ada waɗanda suka dace da OpenCL 3.0, kuma za su fadada kewayon na'urorin da za a iya amfani da OpenCL 3.0. Misali, masana'antun na iya aiwatar da tallafin OpenCL 3.0 ba tare da aiwatar da takamaiman fasalulluka na OpenCL 2.x ba. Don samun damar fasalulluka na harshe na zaɓi, OpenCL 3.0 ya ƙara tsarin tambayoyin gwaji wanda ke ba ku damar kimanta goyan bayan abubuwan API guda ɗaya, da macro na musamman.
  • Haɗin kai tare da ƙayyadaddun ƙayyadaddun da aka fitar a baya yana ba da sauƙin ƙaura aikace-aikacen zuwa OpenCL 3.0. Aikace-aikacen OpenCL 1.2 za su iya aiki akan na'urorin da ke goyan bayan OpenCL 3.0 ba tare da gyara ba. Aikace-aikacen OpenCL 2.x kuma ba za su buƙaci canje-canje na lamba ba, muddin yanayin OpenCL 3.0 yana ba da aikin da ake buƙata (don tabbatar da ɗaukar hoto na gaba, ana ba da shawarar aikace-aikacen OpenCL 2.x don ƙara tambayoyin gwaji don kimanta goyon baya ga fasalulluka na OpenCL 2.x amfani). Masu haɓaka direbobi tare da aiwatar da OpenCL suna iya haɓaka samfuran su cikin sauƙi zuwa OpenCL 3.0, suna ƙara sarrafa tambaya kawai don wasu kiran API, kuma a hankali ƙara ayyuka akan lokaci.
  • Ƙididdiga na OpenCL 3.0 yana daidaitawa tare da yanayi, kari, da ƙayyadaddun ƙayyadaddun wakilcin SPIR-V na matsakaicin matsakaici, wanda kuma Vulkan API ke amfani dashi. Taimako don ƙayyadaddun SPIR-V 1.3 an haɗa su a cikin ainihin OpenCL 3.0 azaman fasalin zaɓi. Ta hanyar amfani da matsakaicin wakilci SPIR-V an ƙara tallafi don ayyuka tare da ƙungiyoyin ƙasa don ƙididdigar ƙididdiga.
    An gabatar da ƙayyadaddun ƙayyadaddun OpenCL 3.0

  • Ƙara goyon baya don tsawaita don aiwatar da ayyukan DMA asynchronous (Asynchronous DMA), mai goyan baya a cikin kwakwalwan kwamfuta-kamar DSP tare da damar ƙwaƙwalwar ajiya kai tsaye. Asynchronous DMA yana ba da damar yin amfani da ma'amaloli na DMA don canja wurin bayanai tsakanin ƙwaƙwalwar duniya da na gida a daidaita, a layi daya tare da lissafin ko wasu ayyukan canja wurin bayanai.
  • An sabunta ƙayyadaddun ƙayyadaddun kari na shirye-shiryen C Parallel zuwa sigar 3.0, kuma an dakatar da haɓaka haɓaka harshe na OpenCL don C ++ don goyon bayan aikin "C++ don OpenCL". C ++ don OpenCL shine mai tarawa bisa Clang/LLVM da watsa shirye-shirye C++ da OpenCL C kernels cikin wakilcin SPIR-V ko ƙananan lambar injin. Ta hanyar watsa shirye-shirye, SPIR-V kuma tana shirya taron aikace-aikacen C ++ ta amfani da ɗakin karatu na samfuri na SYCL, wanda ke sauƙaƙe ƙirƙirar aikace-aikacen layi ɗaya.

    An gabatar da ƙayyadaddun ƙayyadaddun OpenCL 3.0

  • An gabatar da mai tarawa don watsa OpenCL ta Vulkan API clsv, wanda ke canza kernels na OpenCL zuwa wakilcin Vulkan SPIR-V, da Layer clvk don kunna OpenCL API don yin aiki a saman Vulkan.

    An gabatar da ƙayyadaddun ƙayyadaddun OpenCL 3.0

source: budenet.ru

Add a comment