Mesa`s Rusticl adalah implementasi OpenCL yang belum digabungkan untuk driver Mesa Gallium3D yang ditulis dalam bahasa pemrograman Rust. Kode terbaru sekarang dapat melewati Khronos OpenCL 3.0 Conformance Test Suite!
Meskipun telah lama ada pelacak status OpenCL Mesa Gallium3D "Clover", pengembangannya agak stagnan. Tahun ini Karol Herbst dari Red Hat menulis "Rusticl" sebagai implementasi OpenCL berbasis Rust baru untuk Mesa. Bulan lalu saya menulis tentang upaya Rusticl yang menarik ini untuk Mesa dan tujuannya untuk kompatibilitas OpenCL 3.0 dan menjadi lebih fokus pada modern.
Meskipun belum bergabung ke Mesa, kode Rusticl terbaru pada minggu ini telah berhasil melewati OpenCL 3.0 Conformance Test Suite (CTS). Rusticl memiliki dukungan gambar OpenCL yang menarik -- keluhan lama untuk pelacak status Clover -- dan dukungan printf sementara beberapa fitur seperti penanganan FP16 masih harus ditulis.
Khronos bangga telah membebaskan semua biaya Adopter untuk MESA selama bertahun-tahun, dan banyak implementasi MESA secara resmi sesuai. Hebat bahwa OpenCL 3.0 MESA melewati CTS! Beri tahu kami ketika MESA siap untuk menjalankan Perjanjian Pengadopsi OCL 3.0 dan kami dapat memulai prosesnya...
— Neil Trevett (@neilt3d) 22 April 2022Karol Herbst pada gilirannya telah menghubungi Khronos tentang kemampuan untuk mensertifikasi pembukaan ini- implementasi OpenCL 3.0 sumber. Kode lewat OpenCL 3.0 CTS yang diperbarui itu adalah bagian dari permintaan penggabungan Mesa yang tertunda.
Rusticl tampaknya cocok untuk OpenCL modern dengan Mesa!
Karol Herbst telah menguji kode Rusticl dengan OpenCL 3.0 CTS yang lewat menggunakan grafis Intel 12th Gen. Saat menguji dengan driver Iris Intel, Rusticl harus bekerja untuk driver Mesa lain yang mendukung representasi perantara NIR.
Kode Rusticl dalam bentuknya saat ini hanya lebih dari 14 ribu baris kode baru. (Meskipun Rusticl tidak bergantung pada clc eksternal untuk mengkompilasi kode sumber ke SPIR-V.) Rusticl juga berfungsi sebagai percobaan untuk menangani kode Rust di dalam Mesa. Setelah digabungkan, Rusticl dapat diaktifkan pada waktu pembuatan dengan "-Dgallium-rusticl=true -Dopencl-spirv=true -Dshader-cache=true -Dllvm=true" dan mengirimkan file yang sesuai dengan OpenCL ICD.
Semoga Rusticl berhasil mendarat di Mesa 22.2! Kudos to Karol dan Red Hat atas pencapaian ini. Rusticl memiliki potensi untuk membuat dukungan OpenCL 3.0 jauh lebih tersedia di desktop Linux dibandingkan dengan Radeon ROCm yang tidak dikemas dengan baik di sebagian besar distribusi Linux dan memerlukan langkah ekstra dan juga Compute-Runtime Intel yang tidak dikemas secara luas oleh distribusi pada saat ini. Ini juga membantu untuk mengizinkan OpenCL pada banyak driver Mesa Gallium3D yang lebih kecil.
Itulah berita seputar Mesas OpenCL Stack Baru "Rusticl" Mendekati Dukungan Formal Untuk OpenCL 3.0, semoga bermanfaat. Disadur dari Phoronix.com.