Ang driver ng open source ng Rusticle ay sertipikadong tugma sa OpenCL 3.0

Inihayag ng mga developer ng proyektong Mesa ang sertipikasyon ng Khronos organization ng rusticl driver, na matagumpay na nakapasa sa lahat ng mga pagsubok mula sa set ng CTS (Kronos Conformance Test Suite) at kinikilalang ganap na katugma sa detalye ng OpenCL 3.0, na tumutukoy sa mga API at mga extension ng C language para sa pag-aayos ng cross-platform parallel computing. Ang pagkuha ng sertipiko ay nagbibigay-daan sa iyo na opisyal na magdeklara ng pagsunod sa mga pamantayan at gamitin ang nauugnay na mga trademark ng Khronos. Ang pagsubok ay isinagawa sa isang system na may 12-generation integrated Intel GPUs gamit ang Gallium3D Iris driver.

Ang driver ay nakasulat sa Rust at binuo ni Karol Herbst mula sa Red Hat, na kasangkot sa pagbuo ng Mesa, ang Nouveau driver at ang OpenCL open stack. Ang Rusticle ay gumaganap bilang isang analogue ng OpenCL frontend Clover ng Mesa at binuo din gamit ang interface ng Gallium na ibinigay sa Mesa. Ang Clover ay inabandona sa loob ng mahabang panahon at ang rusticl ay nakaposisyon bilang kapalit nito sa hinaharap. Bilang karagdagan sa pagkamit ng OpenCL 3.0 compatibility, ang proyekto ng Rusticle ay naiiba sa Clover sa pagsuporta sa mga extension ng OpenCL para sa pagpoproseso ng imahe, ngunit hindi pa sinusuportahan ang format na FP16. Upang makabuo ng mga binding para sa Mesa at OpenCL, na nagbibigay-daan sa iyong tumawag sa mga function ng Rust mula sa C code at vice versa, ginagamit ang rust-bindgen sa Rusticle.

Ang Rust language support code at ang rusticl driver ay tinanggap sa Mesa mainstream at iaalok sa Mesa 22.3 release, inaasahan sa huling bahagi ng Nobyembre. Ang suporta sa Rust at rusticl ay idi-disable bilang default at mangangailangan ng build na may tahasang tinukoy na mga opsyon na "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021". Kapag nagtatayo, kakailanganin mo ang rustc compiler, bindgen binding generator, LLVM, SPIRV-Tools, at SPIRV-LLVM-Translator bilang mga karagdagang dependencies.

Ang posibilidad ng paggamit ng Rust na wika sa proyekto ng Mesa ay tinalakay mula noong 2020. Kabilang sa mga pakinabang ng suporta sa Rust, ang pagtaas ng seguridad at kalidad ng mga driver ay nabanggit sa pamamagitan ng pag-alis ng mga tipikal na problema kapag nagtatrabaho sa memorya, pati na rin ang kakayahang isama ang mga pag-unlad ng third-party sa Mesa, tulad ng Kazan (isang pagpapatupad ng Vulkan sa Kalawang). Kabilang sa mga disadvantage ang pagtaas ng pagiging kumplikado ng build system, pag-aatubili na maiugnay sa cargo package system, pinalawak na mga kinakailangan para sa build environment, at ang pangangailangang isama ang Rust compiler sa mga build dependencies na kinakailangan para bumuo ng mga pangunahing bahagi ng desktop sa Linux.

Bilang karagdagan, maaari nating tandaan ang gawain sa pagbuo ng driver ng Nouveau, na isinagawa din ni Carol Herbst. Ang driver ng Nouveau ay nagdagdag ng pangunahing suporta sa OpenGL para sa GNU NVIDIA GeForce RTX 30xx batay sa Ampere microarchitecture, na inilabas mula noong Mayo 2020. Ang mga pagbabagong nauugnay sa suporta para sa mga bagong chip ay isasama sa Linux 6.2 kernel at Mesa 22.3.

Pinagmulan: opennet.ru

Magdagdag ng komento