Tyr on esitatud, Linux- ARM Mali GPU draiver, kirjutatud Rustis

Daniel Almeida, kes töötab Collaboras videokoodekite arenduse kallal, postitas arendajate meililistis Linux- Tyr draiveri esialgne implementatsioon ARM Mali GPU-dele, mis kasutavad Command Stream Frontend (CSF) tehnoloogiat, näiteks Mali G310, G510 ja G710. Draiveri kood on kirjutatud Rustis ja koosneb veidi üle 600 koodirea. Tyr draiveri kallal töötavad ühiselt välja Collabora, Arm ja Google.

Uue draiveri loomise raamistik kasutab abstraktse rust_platform_driver draiveri ja Nova draiveri komponente, mis on välja töötatud NVIDIA GPU-de jaoks, kirjutatud Rustis ja osaliselt lisatud 6.15 kerneli. Mali GPU-ga suhtlemise funktsionaalsus on portitud olemasolevast Panthori (Direct Rendering Manager) DRM-draiverist, mis on kirjutatud C-keeles. Tyr-draiveri uAPI on identne Panthori draiveri uAPI-ga, mis võimaldab sellega kasutada olemasolevaid kasutajaruumi komponente.

CSF-tehnoloogia, mida on kasutatud alates Mali GPU-de 10. põlvkonnast, on tähelepanuväärne selle poolest, et mõned draiverifunktsioonid on viidud püsivara poolele ja GPU-l töö teostamise korraldamiseks kasutatakse uut mudelit. CSF-liidesega GPU-des kasutatakse tööahela saatmisel põhineva mudeli asemel käsklusvool põhinevat mudelit, mille käsklusvoo järjekorra ajastamine toimub püsivara poolel. Ajastaja töö korraldamiseks on GPU-sse sisse ehitatud eraldi Cortex-M7 mikrokontroller ning CSF-käskude täitmiseks on ette nähtud spetsiaalne käskluste täitmise üksus (Command Execution Unit).

Tyri funktsionaalsus jääb endiselt Panthori draiverist maha, kuid arendajad kavatsevad lõhet järk-järgult vähendada, kuni saavutatakse draiverivõimaluste võrdsus. Puuduvad funktsioonid nõuavad Rustis draiverite loomiseks kerneli integreerimist täiendavate abstraktsioonide abil, seega sünkroniseeritakse Tyri draiveri arendamine nende abstraktsioonide lisamisega kerneli. Näiteks kernelil puuduvad veel Rusti draiverites mälu kaardistamise võimalused GPU-de jaoks, mida arendatakse GPUVM-i paigakomplektis, mida pole veel kasutusele võetud.

Allikas: opennet.ru

Ostke DDoS-kaitsega saitide jaoks usaldusväärne hostimine, VPS VDS-serverid 🔥 Osta usaldusväärne veebimajutus DDoS-kaitsega, VPS VDS serverid | ProHoster