Tyr taqdim etiladi, Linux- ARM Mali GPU uchun rust tilida yozilgan drayver

Collabora’da video kodeklarni ishlab chiqish ustida ishlaydigan Daniel Almeida dasturchilarning pochta ro‘yxatiga joylashtirdi Linux- Mali G310, G510 va G710 kabi Command Stream Frontend (CSF) texnologiyasidan foydalanadigan ARM Mali GPUlari uchun Tyr drayverini dastlabki amalga oshirish. Drayver kodi Rust tilida yozilgan va 600 dan ortiq kod satrlaridan iborat. Tyr drayveri ustida ishlar Collabora, Arm va Google tomonidan birgalikda olib borilmoqda.

Yangi drayverni yaratish uchun ramka rust-da yozilgan va qisman 6.15 yadrosiga qo'shilgan NVIDIA GPU-lar uchun ishlab chiqilgan rust_platform_driver mavhum drayveri va Nova drayverining tarkibiy qismlaridan foydalanadi. Mali GPU bilan oʻzaro ishlash funksiyasi C tilida yozilgan mavjud Panthor (Toʻgʻridan-toʻgʻri rendering menejeri) DRM drayveridan koʻchiriladi. Tyr drayverining uAPI-si Panthor drayverining uAPI-si bilan bir xil boʻlib, u bilan mavjud foydalanuvchi maydoni komponentlaridan foydalanish imkonini beradi.

Mali GPUlarining 10-avlodidan beri qo'llaniladigan CSF texnologiyasi ba'zi drayverlarning funktsiyalarini proshivka tomoniga o'tkazish va GPUda ishlarni bajarishni tashkil qilish uchun yangi modeldan foydalanish bilan ajralib turadi. CSF interfeysi bo'lgan GPU'larda, ishlar zanjirini yuborishga asoslangan model o'rniga, dasturiy ta'minot tomonida buyruqlar oqimi navbatini rejalashtirish bilan buyruqlar oqimiga asoslangan model ishlatiladi. Rejalashtiruvchining ishini tashkil qilish uchun GPUga alohida Cortex-M7 mikrokontrolleri o'rnatilgan va CSF ko'rsatmalarini bajarish uchun maxsus buyruqlarni bajarish bloki (Buyruqni bajarish birligi) taqdim etilgan.

Tyrning funksionalligi hali ham Panthor drayveridan ortda qolmoqda, biroq ishlab chiquvchilar drayver imkoniyatlaridagi paritetga erishilgunga qadar bo‘shliqni bosqichma-bosqich kamaytirish niyatida. Yo'qolgan xususiyatlar Rustda drayverlarni yaratish uchun yadroga qo'shimcha abstraktsiyalarni birlashtirishni talab qiladi, shuning uchun Tyr drayverini ishlab chiqish yadroga ushbu abstraktsiyalarni qo'shish bilan sinxronlashtiriladi. Masalan, yadro hali qabul qilinmagan GPUVM yamoq to'plamida ishlab chiqilayotgan GPUlar uchun Rust drayverlarida xotira xaritasini yaratish imkoniyatlariga ega emas.

Manba: opennet.ru

DDoS himoyasi, VPS VDS serverlari bo'lgan saytlar uchun ishonchli hosting sotib oling 🔥 DDoS himoyasi, VPS VDS serverlari bilan ishonchli veb-sayt xostingini sotib oling | ProHoster