Spesifikasi OpenCL 3.0 ngenalaken

Keprihatinan Khronos, tanggung jawab kanggo ngembangake spesifikasi kulawarga OpenGL, Vulkan lan OpenCL, diumumake babagan ngrampungake pangembangan spesifikasi OpenCL 3.0 sing nemtokake API lan ekstensi basa C kanggo ngatur komputasi paralel lintas platform nggunakake CPU multi-inti, GPU, FPGA, DSP lan chip khusus liyane, saka sing digunakake ing superkomputer lan server maya. kanggo Kripik sing bisa ditemokaké ing piranti seluler lan teknologi ditempelake. Standar OpenCL mbukak kabeh lan ora mbutuhake biaya lisensi. Perusahaan kayata IBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments lan Toshiba melu kerja ing standar kasebut.

Ing tataran saiki, spesifikasi wis diwenehi status sauntara, sing nuduhake kemungkinan refinement adhedhasar umpan balik sing dikirim liwat GitHub. Sawise komentar dianggep, spesifikasi bakal dirampungake lan suite tes pungkasan bakal diterbitake kanggo nguji kompatibilitas implementasi sing wis ana.

Spesifikasi OpenCL 3.0 ngenalaken

Paling misuwur fitur OpenCL 3.0:

  • OpenCL 3.0 API saiki nyakup kabeh versi OpenCL (1.2, 2.x), tanpa menehi spesifikasi sing kapisah kanggo saben versi. OpenCL 3.0 menehi kemampuan kanggo ngluwihi fungsi inti liwat integrasi specifications tambahan sing bakal dilapisi ing wangun opsi tanpa ngalangi alam monolitik OpenCL 1.2 / 2.X.
  • Mung fungsi sing tundhuk karo OpenCL 1.2 diumumake prentah, lan kabeh fitur ngajokaken ing specifications OpenCL 2.x diklasifikasikaké minangka opsional. Pendekatan iki bakal luwih gampang kanggo nggawe implementasi adat sing kompatibel karo OpenCL 3.0, lan bakal nggedhekake sawetara piranti sing OpenCL 3.0 bisa digunakake. Contone, manufaktur bisa ngetrapake dhukungan OpenCL 3.0 tanpa ngetrapake fitur OpenCL 2.x tartamtu. Kanggo ngakses fitur basa opsional, OpenCL 3.0 wis nambahake sistem pitakon tes sing ngidini sampeyan ngevaluasi dhukungan saka unsur API individu, uga makro khusus.
  • Penyatuan karo spesifikasi sing dirilis sadurunge nggampangake migrasi aplikasi menyang OpenCL 3.0. Aplikasi OpenCL 1.2 bakal bisa mlaku ing piranti sing ndhukung OpenCL 3.0 tanpa modifikasi. Aplikasi OpenCL 2.x uga ora mbutuhake owah-owahan kode, anggere lingkungan OpenCL 3.0 nyedhiyakake fungsi sing dibutuhake (kanggo mesthekake portabilitas ing mangsa ngarep, aplikasi OpenCL 2.x dianjurake kanggo nambah pitakon test kanggo ngevaluasi dhukungan kanggo fitur OpenCL 2.x. digunakake). Pengembang driver kanthi implementasi OpenCL bisa kanthi gampang nganyarke produke menyang OpenCL 3.0, mung nambahake pangolahan pitakon kanggo telpon API tartamtu, lan nambah fungsionalitas kanthi bertahap.
  • Spesifikasi OpenCL 3.0 didadekake siji karo lingkungan, ekstensi, lan spesifikasi perwakilan perantara umum SPIR-V, sing uga digunakake dening API Vulkan. Dhukungan kanggo spesifikasi SPIR-V 1.3 kalebu ing inti OpenCL 3.0 minangka fitur opsional. Liwat nggunakake perwakilan penengah SPIR-V dhukungan kanggo operasi karo subgrup wis ditambahake kanggo intine komputasi.
    Spesifikasi OpenCL 3.0 ngenalaken

  • Added support kanggo extension kanggo nindakake operasi DMA bedo (DMA Asynchronous), didhukung ing Kripik DSP-kaya karo akses memori langsung. DMA Asynchronous ndadekake iku bisa kanggo nggunakake transaksi DMA kanggo transfer data antarane memori global lan lokal asynchronously, ing podo karo karo petungan utawa operasi transfer data liyane.
  • Spesifikasi C Parallel Programming Extensions wis dianyari versi 3.0, lan pangembangan ekstensi basa OpenCL kanggo C ++ dihentikan kanggo proyek "C ++ kanggo OpenCL". C ++ kanggo OpenCL compiler adhedhasar Clang / LLVM lan penyiaran Kernel C ++ lan OpenCL C dadi perwakilan intermediate SPIR-V utawa kode mesin tingkat rendah. Liwat siaran, SPIR-V uga ngatur ngumpulake aplikasi C ++ nggunakake perpustakaan cithakan SYCL, sing nyederhanakake nggawe aplikasi paralel.

    Spesifikasi OpenCL 3.0 ngenalaken

  • Kompiler wis diusulake kanggo nyebarake OpenCL liwat API Vulkan clspv, sing ngowahi kernel OpenCL dadi perwakilan Vulkan SPIR-V, lan lapisan clvk kanggo ngaktifake OpenCL API bisa ing ndhuwur Vulkan.

    Spesifikasi OpenCL 3.0 ngenalaken

Source: opennet.ru

Add a comment