Tyr presenteras, Linux- en drivrutin för ARM Mali GPU, skriven i Rust

Daniel Almeida, som arbetar med utveckling av videokodek pÄ Collabora, publicerade ett inlÀgg pÄ utvecklarnas e-postlista Linux- den första implementeringen av Tyr-drivrutinen för ARM Mali-grafikprocessorer som anvÀnder Command Stream Frontend (CSF)-teknik, sÄsom Mali G310, G510 och G710. Drivrutinskoden Àr skriven i Rust och omfattar drygt 600 rader kod. Arbetet med Tyr-drivrutinen utförs gemensamt av Collabora, Arm och Google.

Ramverket för att skapa den nya drivrutinen anvÀnder komponenter frÄn den abstrakta rust_platform_driver-drivrutinen och Nova-drivrutinen, utvecklad för NVIDIA GPU:er, skriven i Rust och delvis tillagd i 6.15-kÀrnan. Funktionaliteten för att interagera med Mali GPU Àr portad frÄn den befintliga Panthor (Direct Rendering Manager) DRM-drivrutinen, skriven i C. Tyr-drivrutinens uAPI Àr identisk med Panthor-drivrutinens uAPI, vilket gör det möjligt att anvÀnda befintliga anvÀndarutrymmeskomponenter med den.

CSF-tekniken, som anvÀnts sedan den 10:e generationen av Mali-GPU:er, Àr kÀnd för att ha flyttat vissa drivrutinsfunktioner till firmwaresidan och anvÀnt en ny modell för att organisera arbetskörningen pÄ GPU:n. I GPU:er med ett CSF-grÀnssnitt anvÀnds istÀllet för en modell baserad pÄ att skicka en arbetskedja en modell baserad pÄ ett kommandoflöde med schemalÀggning av kommandoflödeskön pÄ firmwaresidan. För att organisera schemalÀggarens arbete Àr en separat Cortex-M7-mikrokontroller inbyggd i GPU:n, och en speciell kommandokörningsenhet (Command Execution Unit) tillhandahÄlls för att köra CSF-instruktioner.

Tyrs funktionalitet ligger fortfarande efter Panthor-drivrutinen, men utvecklarna avser att gradvis minska gapet tills paritet i drivrutinsfunktioner uppnÄs. De saknade funktionerna krÀver att ytterligare abstraktioner integreras i kÀrnan för att skapa drivrutiner i Rust, sÄ utvecklingen av Tyr-drivrutinen kommer att synkroniseras med tillÀgget av dessa abstraktioner i kÀrnan. KÀrnan har till exempel Ànnu inte kapacitet för minnesmappning i Rust-drivrutiner för GPU:er, vilka utvecklas i GPUVM-patchuppsÀttningen, som Ànnu inte har antagits.

KĂ€lla: opennet.ru

Köp pĂ„litlig hosting för webbplatser med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster