Pelaksanaan OpenCL baharu (rusticl), yang ditulis dalam Rust, sedang dibangunkan untuk projek Mesa, telah berjaya melepasi Kronos Conformance Test Suite (CTS), yang digunakan oleh konsortium Khronos untuk menilai keserasian dengan spesifikasi OpenCL 3.0. Projek ini sedang dibangunkan oleh Karol Herbst dari Red Hat, yang terlibat dalam pembangunan Mesa, pemandu Nouveau, dan timbunan OpenCL sumber terbuka. Beliau telah menghubungi Khronos mengenai pensijilan rasmi sokongan OpenCL 3.0 dalam rusticl.
Ujian telah diselesaikan pada sistem dengan GPU Intel generasi ke-12 (Alder Lake). Kerja itu dilakukan menggunakan pemacu Iris Mesa, tetapi projek itu juga harus berfungsi dengan pemacu Mesa lain yang menggunakan perwakilan perantaraan (IR) yang tidak ditaip bagi pelorek NIR. Permintaan penggabungan untuk Rusticl dengan Mesa sedang dalam semakan dan keputusan untuk memasukkan kod Rust ke dalam Mesa masih belum dibuat. Sehingga Rusticl disepadukan ke dalam pengedaran Mesa utama, cawangan berasingan boleh digunakan untuk membina. Semasa menyusun, parameter binaan berikut hendaklah dinyatakan: -Dgallium-rusticl=true -Dopencl-spirv=true -Dshader-cache=true -Dllvm=true.
Rusticl ialah alternatif kepada bahagian hadapan OpenCL sedia ada Mesa, Clover, dan juga dibangunkan menggunakan antara muka Gallium Mesa. Clover telah lama ditinggalkan, dan rusticl diletakkan sebagai pengganti masa depannya. Selain mencapai keserasian OpenCL 3.0, Rusticl berbeza daripada Clover kerana ia menyokong sambungan OpenCL untuk pemprosesan imej, tetapi belum lagi menyokong format FP16.
ΠΠ»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ Π±ΠΈΠ½Π΄ΠΈΠ½Π³ΠΎΠ² Π΄Π»Ρ Mesa ΠΈ OpenCL, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ
Π²ΡΠ·ΡΠ²Π°ΡΡ Rust-ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ· ΠΊΠΎΠ΄Π° Π½Π° Π‘ΠΈ ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ, Π² Rusticl Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ rust-bindgen. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ·ΡΠΊΠ° Rust Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Mesa ΠΎΠ±ΡΡΠΆΠ΄Π°Π΅ΡΡΡ Ρ 2020 Π³ΠΎΠ΄Π°. ΠΠ· ΠΏΠ»ΡΡΠΎΠ² ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Rust ΡΠΏΠΎΠΌΠΈΠ½Π°Π΅ΡΡΡ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² Π·Π° ΡΡΡΡ ΠΈΠ·Π±Π°Π²Π»Π΅Π½ΠΈΡ ΠΎΡ ΡΠΈΠΏΠΎΠ²ΡΡ
ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΏΠ°ΠΌΡΡΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² ΡΠΎΡΡΠ°Π² Mesa ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ
Π½Π°ΡΠ°Π±ΠΎΡΠΎΠΊ, ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ Kazan (ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Vulkan Π½Π° Rust). ΠΠ· Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠ² ΠΎΡΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΡΡΠ»ΠΎΠΆΠ½Π΅Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ±ΠΎΡΠΊΠΈ, Π½Π΅ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΊ ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ cargo, ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ ΡΠ±ΠΎΡΠΎΡΠ½ΠΎΠΌΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° Rust Π² ΡΠ±ΠΎΡΠΎΡΠ½ΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΊΠ»ΡΡΠ΅Π²ΡΡ
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΡΠΎΠ»Π° Π² Linux.
Sumber: opennet.ru
