Tyr, Linux-driver til GPU ARM Mali, skrevet i Rust, præsenteres

Daniel Almeida, der arbejder med videokodere i Collabora, har offentliggjort en første implementation af Tyr-driveren til ARM Mali GPUer i e-mail-listen for Linux-kernens udviklere. Disse GPUer inkluderer teknologi CSF (Command Stream Frontend), såsom Mali G310, G510 og G710. Driverens kode er skrevet i Rust og består af lige over 600 linjer. Arbejdet med Tyr-driveren udføres i samarbejde mellem medarbejdere fra Collabora, Arm og Google.

Som grundlag for udviklingen af den nye driver er der anvendt komponenter fra den abstrakte driver rust_platform_driver og NVIDIA GPU-driveren Nova, der er skrevet i Rust og delvist tilføjet til kerne 6.15. Funktionaliteten til interaktion med Mali GPUen er porteret fra den eksisterende DRM-driver Panthor (Direct Rendering Manager), som er skrevet i C. uAPI for Tyr-driveren er identisk med uAPI for Panthor-driveren, hvilket gør det muligt at anvende allerede eksisterende komponenter i brugerområdet.

CSF-teknologien, der anvendes fra 10. generation af Mali GPUer, er bemærkelsesværdig ved at flytte nogle funktioner i driveren til firmwaren og ved at implementere en ny model for arbejdsudførelse på GPU. I GPUer med CSF-interfacet anvendes en model baseret på en kommandostrøm i stedet for den traditionelle kædemodel, med planlægning af kommandostrømme på firmwaren. For at organisere arbejdet i planlæggeren er der implementeret en separat Cortex-M7 mikrokontroller i GPUen, og der er en specifik enhed til kommandoudførelse (Command Execution Unit), der er designet til udførelsen af CSF-instruktionerne.

Funktionaliteten i Tyr ligger stadig bag Panthor-driveren, men udviklerne har til hensigt gradvist at mindske forskellen, indtil der opnås paritet i driverens muligheder. De manglende funktioner kræver integration af yderligere abstraktioner i kernen for at skabe Rust-drivere, således at udviklingen af Tyr-driveren vil blive synkroniseret med tilføjelsen af disse abstraktioner til kernen. For eksempel mangler der i kernen muligheder for hukommelseskortlægning i Rust-drivere til GPUer, som udvikles i et endnu ikke godkendt patch-sæt til GPUVM.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster