Pemacu sumber terbuka Rusticle disahkan serasi dengan OpenCL 3.0

Pembangun projek Mesa mengumumkan pensijilan oleh organisasi Khronos bagi pemandu rusticl, yang telah berjaya melepasi semua ujian daripada set CTS (Kronos Conformance Test Suite) dan diiktiraf sebagai serasi sepenuhnya dengan spesifikasi OpenCL 3.0, yang mentakrifkan API dan sambungan bahasa C untuk mengatur pengkomputeran selari merentas platform. Mendapatkan sijil membolehkan anda mengisytiharkan pematuhan piawaian secara rasmi dan menggunakan tanda dagangan Khronos yang berkaitan. Ujian dilakukan pada sistem dengan GPU Intel bersepadu 12 generasi menggunakan pemacu Iris Gallium3D.

Pemandu ditulis dalam Rust dan dibangunkan oleh Karol Herbst dari Red Hat, yang terlibat dalam pembangunan Mesa, pemandu Nouveau dan susunan terbuka OpenCL. Rusticle bertindak sebagai analog OpenCL frontend Clover Mesa dan juga dibangunkan menggunakan antara muka Gallium yang disediakan dalam Mesa. Clover telah lama ditinggalkan dan rusticl diletakkan sebagai pengganti masa depannya. Di samping mencapai keserasian OpenCL 3.0, projek Rusticle berbeza daripada Clover dalam menyokong sambungan OpenCL untuk pemprosesan imej, tetapi belum lagi menyokong format FP16. Untuk menjana pengikatan untuk Mesa dan OpenCL, membolehkan anda memanggil fungsi Rust daripada kod C dan sebaliknya, rust-bindgen digunakan dalam Rusticle.

Kod sokongan bahasa Rust dan pemacu rusticl telah diterima masuk ke dalam arus perdana Mesa dan akan ditawarkan dalam keluaran Mesa 22.3, dijangka pada akhir November. Sokongan Rust dan rusticl akan dilumpuhkan secara lalai dan akan memerlukan binaan dengan pilihan "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021" yang dinyatakan secara jelas. Semasa membina, anda memerlukan pengkompil rustc, penjana pengikat bindgen, LLVM, SPIRV-Tools dan SPIRV-LLVM-Translator sebagai kebergantungan tambahan.

Kemungkinan menggunakan bahasa Rust dalam projek Mesa telah dibincangkan sejak 2020. Antara kelebihan sokongan Rust, peningkatan keselamatan dan kualiti pemandu disebut kerana menyingkirkan masalah biasa apabila bekerja dengan memori, serta keupayaan untuk memasukkan pembangunan pihak ketiga di Mesa, seperti Kazan (pelaksanaan Vulkan dalam Karat). Kelemahan termasuk peningkatan kerumitan sistem binaan, keengganan untuk terikat dengan sistem pakej kargo, keperluan yang diperluas untuk persekitaran binaan dan keperluan untuk memasukkan pengkompil Rust dalam kebergantungan binaan yang diperlukan untuk membina komponen desktop utama pada Linux.

Di samping itu, kita boleh perhatikan kerja-kerja pembangunan pemandu Nouveau, juga dijalankan oleh Carol Herbst. Pemacu Nouveau telah menambah sokongan OpenGL asas untuk GNU NVIDIA GeForce RTX 30xx berdasarkan seni bina mikro Ampere, dikeluarkan sejak Mei 2020. Perubahan yang berkaitan dengan sokongan untuk cip baharu akan disertakan dalam kernel Linux 6.2 dan Mesa 22.3.

Sumber: opennet.ru

Tambah komen