Tyr, en Linux-drivrutin för GPU ARM Mali, skriven i Rust, har presenterats.

Daniel Almeida, som arbetar med videokodekar på Collabora, publicerade en initial implementation av drivrutinen Tyr för GPU ARM Mali, där teknologin CSF (Command Stream Frontend) används, för modeller som Mali G310, G510 och G710. Drivrutinens kod är skriven i Rust och omfattar lite mer än 600 rader kod. Arbetet med drivrutinen Tyr pågår i samarbete mellan medarbetare från Collabora, Arm och Google.

Som grund för den nya drivrutinen har komponenter från den abstrakta drivrutinen rust_platform_driver och drivrutinen Nova, som utvecklas för NVIDIA GPU, använts, vilken är skriven i Rust och delvis tillagd i kärnan 6.15. Funktionaliteten för interaktion med GPU Mali har portats från den befintliga DRM-drivrutinen Panthor (Direct Rendering Manager), som är skriven i C. uAPI för drivrutinen Tyr är identiskt med uAPI för drivrutinen Panthor, vilket gör att befintliga komponenter för användarrummet kan användas.

CSF-teknologin, som används med GPU Mali i 10:e generationen och framåt, är anmärkningsvärd för att vissa drivrutinsfunktioner har flyttats till firmware-sidan och för att en ny modell för arbetsutförande på GPU har involverats. Med GPU:er med CSF-gränssnitt används en modell baserad på kommandoström istället för en modell baserad på att skicka arbetskedjor. För att organisera schemaläggarens funktion har en separat mikrocontroller, Cortex-M7, integrerats i GPU:n och en speciell krets för kommandogenomförande (Command Execution Unit) har avsatts för utförande av CSF-instruktioner.

Funktionaliteten hos Tyr ligger för närvarande efter drivrutinen Panthor, men utvecklarna avser att successivt minska avståndet tills paritet i drivrutinsfunktioner uppnås. De saknade funktionerna kräver integrering av ytterligare abstraktioner i kärnan för att skapa drivrutiner i Rust, varför utvecklingen av drivrutinen Tyr kommer att synkroniseras med tillägg av dessa abstraktioner i kärnan. Till exempel saknas möjligheter för minnesmappning i Rust-drivrutiner för GPU, som utvecklas i en ännu inte antagen uppsättning patchar för GPUVM.

Källa: opennet.ru

Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar 🔥 Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster