Gipresentar si Tyr, Linux- usa ka drayber para sa ARM Mali GPU, nga gisulat sa Rust

Si Daniel Almeida, kinsa nagtrabaho sa pagpalambo sa video codec sa Collabora, nag-post sa mailing list sa mga developer Linux- ang inisyal nga implementasyon sa Tyr driver para sa mga ARM Mali GPU nga naggamit sa Command Stream Frontend (CSF) nga teknolohiya, sama sa Mali G310, G510, ug G710. Ang driver code gisulat sa Rust ug gilangkoban og kapin sa 600 ka linya sa code. Ang trabaho sa Tyr driver gihimo nga hiniusa sa Collabora, Arm, ug Google.

Ang balangkas alang sa paghimo sa bag-ong drayber naggamit sa mga sangkap sa abstract rust_platform_driver driver ug ang Nova driver, nga gihimo alang sa NVIDIA GPUs, gisulat sa Rust ug partially gidugang sa 6.15 kernel. Ang pagpaandar alang sa pagpakig-uban sa Mali GPU gi-port gikan sa kasamtangan nga Panthor (Direct Rendering Manager) DRM driver, nga gisulat sa C. Ang Tyr driver's uAPI parehas sa Panthor driver's uAPI, nga nagtugot sa paggamit sa kasamtangan nga user space component uban niini.

Ang teknolohiya sa CSF, nga gigamit sukad sa ika-10 nga henerasyon sa Mali GPUs, nabantog sa pagbalhin sa pipila ka mga function sa drayber ngadto sa firmware nga bahin ug paggamit sa usa ka bag-ong modelo alang sa pag-organisar sa pagpatuman sa trabaho sa GPU. Sa mga GPU nga adunay interface sa CSF, imbes nga usa ka modelo nga gibase sa pagpadala sa usa ka kadena sa mga buhat, usa ka modelo nga gibase sa usa ka command flow gigamit sa pag-iskedyul sa command flow queue sa firmware nga bahin. Aron maorganisar ang trabaho sa scheduler, usa ka separado nga Cortex-M7 microcontroller ang gitukod sa GPU, ug usa ka espesyal nga command execution unit (Command Execution Unit) ang gihatag aron ipatuman ang mga instruksiyon sa CSF.

Ang pag-andar ni Tyr naa pa sa luyo sa drayber sa Panthor, apan ang mga nag-develop nagtinguha nga hinayhinay nga makunhuran ang gintang hangtod makab-ot ang pagkaparehas sa mga kapabilidad sa drayber. Ang nawala nga mga bahin nanginahanglan dugang nga abstraction nga i-integrate sa kernel aron makamugna og mga driver sa Rust, mao nga ang pag-develop sa Tyr driver ma-synchronize sa pagdugang niini nga abstraction sa kernel. Pananglitan, ang kernel wala pa'y kapabilidad alang sa memory mapping sa Rust drivers para sa GPUs, nga gipalambo sa GPUVM patch set, nga wala pa gisagop.

Source: opennet.ru

Pagpalit kasaligan nga pag-host alang sa mga site nga adunay proteksyon sa DDoS, mga server sa VPS VDS 🔥 Pagpalit og kasaligang website hosting nga adunay proteksyon sa DDoS, VPS VDS servers | ProHoster