Spesifikasi OpenCL 3.0 diperkenalkan

Kebimbangan Khronos, bertanggungjawab untuk membangunkan spesifikasi keluarga OpenGL, Vulkan dan OpenCL, diumumkan pada penyiapan pembangunan spesifikasi OpenCL 3.0 yang mentakrifkan API dan sambungan bahasa C untuk mengatur pengkomputeran selari merentas platform menggunakan CPU berbilang teras, GPU, FPGA, DSP dan cip khusus lain, daripada yang digunakan dalam superkomputer dan pelayan awan kepada cip yang boleh didapati dalam peranti mudah alih dan teknologi terbenam. Piawaian OpenCL terbuka sepenuhnya dan tidak memerlukan bayaran lesen. Syarikat-syarikat seperti IBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments dan Toshiba mengambil bahagian dalam kerja-kerja standard tersebut.

Pada peringkat semasa, spesifikasi telah diberikan status sementara, yang membayangkan kemungkinan penambahbaikan berdasarkan maklum balas yang dihantar melalui GitHub. Setelah ulasan diambil kira, spesifikasi akan dimuktamadkan dan set ujian akhir akan diterbitkan untuk menguji keserasian pelaksanaan sedia ada.

Spesifikasi OpenCL 3.0 diperkenalkan

Paling ketara ciri- OpenCL 3.0:

  • API OpenCL 3.0 kini merangkumi semua versi OpenCL (1.2, 2.x), tanpa menyediakan spesifikasi berasingan untuk setiap versi. OpenCL 3.0 menyediakan keupayaan untuk melanjutkan fungsi teras melalui penyepaduan spesifikasi tambahan yang akan dilapisi dalam bentuk pilihan tanpa menyekat sifat monolitik OpenCL 1.2/2.X.
  • Hanya fungsi yang mematuhi OpenCL 1.2 diisytiharkan wajib, dan semua ciri yang dicadangkan dalam spesifikasi OpenCL 2.x diklasifikasikan sebagai pilihan. Pendekatan ini akan memudahkan untuk mencipta pelaksanaan tersuai yang serasi dengan OpenCL 3.0 dan akan mengembangkan julat peranti yang OpenCL 3.0 boleh digunakan. Sebagai contoh, pengeluar boleh melaksanakan sokongan OpenCL 3.0 tanpa melaksanakan ciri OpenCL 2.x tertentu. Untuk mengakses ciri bahasa pilihan, OpenCL 3.0 telah menambah sistem pertanyaan ujian yang membolehkan anda menilai sokongan elemen API individu, serta makro khas.
  • Penyatuan dengan spesifikasi yang dikeluarkan sebelum ini memudahkan untuk memindahkan aplikasi ke OpenCL 3.0. Aplikasi OpenCL 1.2 akan dapat dijalankan pada peranti yang menyokong OpenCL 3.0 tanpa pengubahsuaian. Aplikasi OpenCL 2.x juga tidak memerlukan perubahan kod, selagi persekitaran OpenCL 3.0 menyediakan fungsi yang diperlukan (untuk memastikan mudah alih masa hadapan, aplikasi OpenCL 2.x disyorkan untuk menambah pertanyaan ujian untuk menilai sokongan untuk ciri OpenCL 2.x sedang digunakan). Pembangun pemacu dengan pelaksanaan OpenCL boleh meningkatkan produk mereka dengan mudah kepada OpenCL 3.0, menambahkan hanya pemprosesan pertanyaan untuk panggilan API tertentu dan meningkatkan fungsi secara beransur-ansur dari semasa ke semasa.
  • Spesifikasi OpenCL 3.0 diselaraskan dengan persekitaran, sambungan dan spesifikasi perwakilan perantara generik SPIR-V, yang juga digunakan oleh API Vulkan. Sokongan untuk spesifikasi SPIR-V 1.3 disertakan dalam teras OpenCL 3.0 sebagai ciri pilihan. Melalui penggunaan perwakilan perantaraan SPIR-V sokongan untuk operasi dengan subkumpulan telah ditambah untuk teras pengkomputeran.
    Spesifikasi OpenCL 3.0 diperkenalkan

  • Menambah sokongan untuk sambungan untuk melaksanakan operasi DMA tak segerak (Asynchronous DMA), disokong dalam cip seperti DSP dengan akses memori langsung. DMA tak segerak memungkinkan untuk menggunakan transaksi DMA untuk memindahkan data antara memori global dan tempatan secara tak segerak, selari dengan pengiraan atau operasi pemindahan data lain.
  • Spesifikasi Sambungan Pengaturcaraan Selari C telah dikemas kini kepada versi 3.0, dan pembangunan sambungan bahasa OpenCL untuk C++ telah dihentikan memihak kepada projek "C++ untuk OpenCL". C++ untuk OpenCL ialah pengkompil berdasarkan Clang/LLVM dan penyiaran Inti C++ dan OpenCL C ke dalam perwakilan perantaraan SPIR-V atau kod mesin peringkat rendah. Melalui penyiaran, SPIR-V juga menganjurkan pemasangan aplikasi C++ menggunakan perpustakaan templat SYCL, yang memudahkan penciptaan aplikasi selari.

    Spesifikasi OpenCL 3.0 diperkenalkan

  • Pengkompil telah dicadangkan untuk penyiaran OpenCL melalui API Vulkan clspv, yang menukarkan kernel OpenCL kepada perwakilan Vulkan SPIR-V dan lapisan clvk untuk membolehkan API OpenCL berfungsi di atas Vulkan.

    Spesifikasi OpenCL 3.0 diperkenalkan

Sumber: opennet.ru

Tambah komen