OpenCL 3.0 spésifikasi diwanohkeun

Perhatian Khronos, tanggung jawab pikeun ngembangkeun spésifikasi kulawarga OpenGL, Vulkan sareng OpenCL, ngumumkeun dina parantosan pangwangunan spésifikasi OpenCL 3.0 anu netepkeun API sareng ekstensi basa C pikeun ngatur komputasi paralel cross-platform nganggo CPU multi-inti, GPU, FPGA, DSP sareng chip khusus anu sanés, ti anu dianggo dina superkomputer sareng server awan. mun chip nu bisa kapanggih dina alat nu bagerak jeung téhnologi embedded. Standar OpenCL sagemblengna kabuka sarta teu merlukeun waragad lisénsi. Perusahaan sapertos IBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments sareng Toshiba nyandak bagian dina karya standar.

Dina tahap ayeuna, spésifikasi geus ditugaskeun status samentara, nu ngakibatkeun kamungkinan perbaikan dumasar kana eupan balik dikirim via GitHub. Saatos koméntar dipertimbangkeun, spésifikasi bakal dirampungkeun sareng suite tés ahir bakal diterbitkeun pikeun nguji kasaluyuan palaksanaan anu tos aya.

OpenCL 3.0 spésifikasi diwanohkeun

Paling kasohor Fitur OpenCL 3.0:

  • OpenCL 3.0 API ayeuna nyertakeun sakabéh versi OpenCL (1.2, 2.x), tanpa nyadiakeun spésifikasi misah pikeun tiap versi. OpenCL 3.0 nyadiakeun kamampuhan pikeun manjangkeun fungsionalitas inti ngaliwatan integrasi spésifikasi tambahan nu bakal layered dina bentuk pilihan tanpa blocking alam monolithic of OpenCL 1.2 / 2.X.
  • Ngan fungsionalitas nu sasuai jeung OpenCL 1.2 dinyatakeun wajib, sarta sakabeh fitur diusulkeun dina spésifikasi OpenCL 2.x digolongkeun kana pilihan. Pendekatan ieu bakal ngagampangkeun nyiptakeun palaksanaan khusus anu cocog sareng OpenCL 3.0, sareng bakal ngalegaan jangkauan alat anu OpenCL 3.0 tiasa dianggo. Contona, pabrik bisa nerapkeun rojongan OpenCL 3.0 tanpa nerapkeun fitur OpenCL 2.x husus. Pikeun ngakses fitur basa pilihan, OpenCL 3.0 geus ditambahkeun sistem queries test nu ngidinan Anjeun pikeun evaluate rojongan elemen API individu, kitu ogé macro husus.
  • Ngahijikeun sareng spésifikasi anu dileupaskeun sateuacana ngagampangkeun migrasi aplikasi ka OpenCL 3.0. Aplikasi OpenCL 1.2 bakal tiasa dijalankeun dina alat anu ngadukung OpenCL 3.0 tanpa modifikasi. aplikasi OpenCL 2.x ogé moal merlukeun parobahan kode, salami lingkungan OpenCL 3.0 nyadiakeun fungsionalitas diperlukeun (pikeun mastikeun portability hareup, aplikasi OpenCL 2.x dianjurkeun pikeun nambahkeun queries test pikeun evaluate rojongan pikeun fitur OpenCL 2.x. dipaké). Pangembang supir sareng palaksanaan OpenCL tiasa gampang ningkatkeun produkna ka OpenCL 3.0, ngan ukur nambihan pamrosésan query pikeun sauran API anu tangtu, sareng laun-laun ningkatkeun fungsionalitas kana waktosna.
  • Spésifikasi OpenCL 3.0 saluyu sareng lingkungan, ekstensi, sareng spésifikasi tina perwakilan perantara generik SPIR-V, anu ogé dianggo ku API Vulkan. Rojongan pikeun SPIR-V 1.3 spésifikasi kaasup dina inti OpenCL 3.0 salaku fitur pilihan. Ngaliwatan pamakéan hiji perwakilan panengah SPIR-V rojongan pikeun operasi kalawan subgroups geus ditambahkeun pikeun cores komputasi.
    OpenCL 3.0 spésifikasi diwanohkeun

  • Ditambahkeun rojongan pikeun extension pikeun ngajalankeun operasi DMA Asynchronous (Asynchronous DMA), dirojong dina chip DSP-kawas kalawan aksés memori langsung. DMA Asynchronous ngamungkinkeun ngagunakeun transaksi DMA pikeun mindahkeun data antara memori global jeung lokal asynchronously, dina paralel jeung itungan atawa operasi mindahkeun data séjén.
  • The C Parallel Programming Extensions spésifikasi geus diropéa pikeun vérsi 3.0, sarta ngembangkeun ekstensi basa OpenCL pikeun C ++ ieu dilanjutkeun dina ni'mat proyék "C ++ pikeun OpenCL". C ++ pikeun OpenCL mangrupakeun compiler dumasar kana Clang / LLVM jeung siaran C ++ sarta OpenCL C kernels kana SPIR-V ngagambarkeun panengah atawa kode mesin-tingkat low. Ngaliwatan siaran, SPIR-V ogé organizes assembly of C ++ aplikasi ngagunakeun perpustakaan template SYCL, nu simplifies kreasi aplikasi paralel.

    OpenCL 3.0 spésifikasi diwanohkeun

  • A compiler geus diajukeun pikeun nyiarkeun OpenCL via Vulkan API clspv, nu ngarobah kernels OpenCL kana ngagambarkeun Vulkan SPIR-V, sarta lapisan clvk sangkan OpenCL API tiasa dianggo dina luhureun Vulkan.

    OpenCL 3.0 spésifikasi diwanohkeun

sumber: opennet.ru

Tambahkeun komentar