Esitletakse Tyr'i, ARM Mali GPU jaoks mõeldud Linuxi draiverit, mis on kirjutatud Rustis

Daniel Almeida, kes tegeleb videokoodikute arendamisega ettevõttes Collabora, avaldas Linuxi tuuma arendajate postitusloendis Tyr'i draiveri esialgse rakenduse ARM Mali GPU-dele, mis kasutab CSF (Command Stream Frontend) tehnoloogiat nagu Mali G310, G510 ja G710. Draiveri kood on kirjutatud Rustis ja koosneb veidi üle 600 koodirea. Tyr'i draiveri arendust viivad läbi töötajad ettevõtetest Collabora, Arm ja Google.

Uue draiveri loomiseks kasutati abstraktse draiveri rust_platform_driver ja Rustis kirjutatud NVIDIA GPU-dele suunatud Nova draiveri komponente, mis on osaliselt lisatud tuuma versioonis 6.15. Funktsionaalsus suhtlemiseks Mali GPU-ga on portitud olemasolevast DRM-draiverist Panthor (Direct Rendering Manager), mis on kirjutatud C keeles. Draiveri Tyr uAPI on identne draiveri Panthor uAPI-ga, mis võimaldab kasutada juba olemasolevaid komponendi kasutajaruumi.

CSF-tehnoloogia, mida rakendatakse alates Mali GPU-de 10. põlvkonnast, paistab silma selle poolest, et mõned draiveri funktsioonid on viidud välja firnware'i ning on kasutusele võetud uus tööde täitmise korraldus mudel GPU-s. CSF-interfääsi kasutav GPU rakendab tööde edastamise mudeli asemel käsuvoo mudeli, mis planeerib käsuvoo järjekorda firnware'i küljel. Planeerija tööks on GPU-sse integreeritud eraldi Cortex-M7 mikrokontroller ning CSF käskude täitmiseks on ette nähtud spetsiaalne käskude täitmise plokk (Command Execution Unit).

Tyr'i funktsionaalsus jääb alla Panthori draiverile, kuid arendajad kavatsevad järk-järgult vähendada vahet, kuni draiverite võimekus saavutab pariteedi. Puuduvad funktsioonid nõuavad aluse lisamist täiendavate abstraktsioonide kaudu Rusti draiverite loomiseks, seetõttu sünkroniseeritakse Tyr'i draiveri areng nende abstraktsioonide upotamisega kernelisse. Näiteks pole kernelis veel olemas võimalusi GPU Rust-draiverites mälu kaardistamiseks, mis on arendamise all ning veel mitte vastu võetud GPUVM plaate komplektis.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster