Spesifikasi akhir OpenCL 3.0 telah dikeluarkan

Beberapa bulan yang lalu kami berkongsi di sini di blog berita mengenai pelepasan pengembangan OpenCL 3.0 oleh Kebimbangan Khronos (Bertanggungjawab untuk pengembangan spesifikasi untuk keluarga OpenGL, Vulkan dan OpenCL).

Dan baru-baru ini pengeluaran spesifikasi akhir OpenCL 3.0 diumumkan, menentukan API dan peluasan bahasa C untuk mengatur pengkomputeran selari pelbagai platform menggunakan CPU pelbagai teras, GPU, FPGA, DSP dan cip khusus lain dari yang digunakan dalam superkomputer dan pelayan awan ke cip yang boleh didapati dalam peranti mudah alih dan teknologi bersepadu.

Pada masa yang sama, OpenCL SDK sumber terbuka dikeluarkan dengan alat, contoh, dokumentasi, fail tajuk, pautan untuk perpustakaan C ++ dan C untuk mengembangkan aplikasi yang sesuai dengan OpenCL 3.0.

Pelaksanaan awal OpenCL 3.0 berdasarkan penyusun Clang juga disajikan, yang berada di peringkat tinjauan rakan sebaya untuk dimasukkan ke dalam pakej LLVM utama. Syarikat seperti IBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments, dan Toshiba telah menyumbang kepada standard tersebut.

Hari ini, Kumpulan Kerja Khronos® OpenCL ™ dengan sukacitanya mengumumkan pelepasan spesifikasi OpenCL 3.0 yang telah dimuktamadkan, termasuk spesifikasi bahasa OpenCL C 3.0 bersatu baru, bersama dengan pelepasan awal awal SDK Khronos OpenCL untuk membolehkan pemaju bangun dengan cepat mempercepat dengan OpenCL.

Ciri-ciri utama OpenCL 3.0

OpenCL 3.0 API sekarang merangkumi semua versi OpenCL (1.2, 2.x), tanpa memberikan spesifikasi yang berasingan untuk setiap versi.

OpenCL 3.0 menawarkan kemampuan untuk memperluas fungsi teras dengan mengintegrasikan spesifikasi tambahan yang akan bertindih dalam bentuk pilihan tanpa menyekat sifat monolitik OpenCL 1.2 / 2.X.

Hanya fungsi yang memenuhi OpenCL 1.2 dinyatakan wajib, dan semua ciri yang dicadangkan dalam Spesifikasi OpenCL 2.x dipanggil pilihan.

Pendekatan ini akan mempermudah penciptaan implementasi khusus yang serasi dengan OpenCL 3.0 dan akan memperluas rangkaian peranti di mana OpenCL 3.0 dapat digunakan.

Contohnya Pengilang boleh melaksanakan sokongan untuk OpenCL 3.0 tanpa menerapkan ciri OpenCL 2.x tertentu. Untuk mengakses fungsi bahasa pilihan, sistem permintaan ujian telah ditambahkan ke OpenCL 3.0 untuk menilai sokongan untuk elemen API individu, serta makro khas.

Penyatuan dengan spesifikasi yang dikeluarkan sebelumnya memudahkan terjemahan aplikasi ke OpenCL 3.0. Aplikasi OpenCL 1.2 akan dapat dijalankan pada peranti yang menyokong OpenCL 3.0 tanpa pengubahsuaian.

Permohonan OpenCL 2.x tidak memerlukan perubahan kod, tetapi jika persekitaran OpenCL 3.0 menyediakan fungsi yang diperlukan (untuk mudah alih masa depan, aplikasi OpenCL 2.x digalakkan untuk menambahkan pertanyaan ujian untuk menilai keserasian dengan ciri OpenCL 2.x yang sedang digunakan).

Pemaju pemacu dengan implementasi OpenCL dapat dengan mudah meningkatkan produk mereka ke OpenCL 3.0 dengan hanya menambahkan pemprosesan permintaan untuk panggilan API tertentu dan secara beransur-ansur meningkatkan fungsi dari masa ke masa.

Spesifikasi OpenCL 3.0 telah diselaraskan dengan lingkungan, ekstensi, dan spesifikasi dari S perantaraan generikPIR-V, yang juga digunakan dalam API Vulkan. Sokongan untuk spesifikasi SPIR-V 1.3 disertakan dalam OpenCL 3.0 utama sebagai ciri pilihan. Sokongan untuk operasi dengan subkumpulan telah ditambahkan dengan menggunakan perwakilan perantara SPIR-V untuk inti komputasi.

selain itu menambahkan sokongan untuk peluasan untuk melakukan operasi DMA Asynchronous disokong pada cip DMA seperti DSP.

DMA asinkron memungkinkan untuk menggunakan transaksi DMA untuk memindahkan data antara memori global dan tempatan secara asinkron, selari dengan pengiraan berterusan atau pemindahan data lain.

Spesifikasi sambungan pengaturcaraan selari untuk bahasa C telah dikemas kini ke versi 3.0 dan pengembangan peluasan bahasa OpenCL untuk C ++ dihentikan demi projek "C ++ untuk OpenCL".

Untuk menterjemahkan OpenCL melalui Vulkan API, pengkompil clspv dicadangkan, yang menukar kernel OpenCL ke representasi Vulkan SPIR-V, dan lapisan clvk untuk memastikan bahawa OpenCL API berfungsi di atas Vulkan.

Fuente: https://www.khronos.org/


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab untuk data: AB Internet Networks 2008 SL
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.