Tyr təmsil olunur, Linux- ARM Mali GPU üçün Rust dilində yazılmış drayver

Collabora şirkətində video kodeklərin hazırlanması üzərində işləyən Daniel Almeida, geliştirici poçt siyahısına yerləşdirdi Linux- Mali G310, G510 və G710 kimi Command Stream Frontend (CSF) texnologiyasından istifadə edən ARM Mali GPU-ları üçün Tyr drayverinin ilkin tətbiqi. Drayver kodu Rust dilində yazılıb və 600 sətirdən bir qədər çox koddan ibarətdir. Tyr drayveri üzərində iş Collabora, Arm və Google tərəfindən birgə aparılır.

Yeni drayverin yaradılması üçün çərçivə NVIDIA GPU-ları üçün hazırlanmış, Rustda yazılmış və qismən 6.15 nüvəsinə əlavə edilmiş abstrakt rust_platform_driver sürücüsü və Nova sürücüsünün komponentlərindən istifadə edir. Mali GPU ilə qarşılıqlı əlaqə üçün funksionallıq C dilində yazılmış mövcud Panthor (Birbaşa Göstərmə Meneceri) DRM sürücüsündən köçürülür. Tyr sürücüsünün uAPI-si Panthor sürücüsünün uAPI-si ilə eynidir və bu, onunla mövcud istifadəçi sahəsi komponentlərindən istifadə etməyə imkan verir.

Mali GPU-larının 10-cu nəslindən bəri istifadə edilən CSF texnologiyası bəzi sürücü funksiyalarını proqram təminatı tərəfinə köçürmək və GPU-da işin icrasını təşkil etmək üçün yeni modeldən istifadə etməklə diqqəti çəkir. CSF interfeysi olan GPU-larda, iş zəncirinin göndərilməsinə əsaslanan model əvəzinə, proqram təminatı tərəfində əmr axını növbəsinin planlaşdırılması ilə əmr axınına əsaslanan model istifadə olunur. Planlayıcının işini təşkil etmək üçün GPU-da ayrıca Cortex-M7 mikro nəzarət cihazı qurulur və CSF təlimatlarını yerinə yetirmək üçün xüsusi əmr icra bölməsi (Command Execution Unit) təmin edilir.

Tyr-in funksionallığı hələ də Panthor sürücüsündən geri qalır, lakin tərtibatçılar sürücü imkanlarında paritet əldə olunana qədər boşluğu tədricən azaltmaq niyyətindədirlər. Çatışmayan xüsusiyyətlər Rust-da drayverlər yaratmaq üçün əlavə abstraksiyaların nüvəyə inteqrasiyasını tələb edir, beləliklə, Tyr sürücüsünün inkişafı bu abstraksiyaların nüvəyə əlavə edilməsi ilə sinxronlaşdırılacaq. Məsələn, kernel hələ qəbul olunmamış GPUVM yamaq dəstində inkişaf etdirilən GPU-lar üçün Rust drayverlərində yaddaş xəritələşdirilməsi imkanlarına hələ malik deyil.

Mənbə: opennet.ru

DDoS mühafizəsi, VPS VDS serverləri olan saytlar üçün etibarlı hostinq alın 🔥 DDoS qorunması, VPS VDS serverləri ilə etibarlı veb sayt hostinqi alın | ProHoster