Tyr anawasilishwa, Linux- kiendeshi cha ARM Mali GPU, kilichoandikwa kwa Rust

Daniel Almeida, anayefanya kazi katika uundaji wa kodeki za video katika Collabora, alichapisha kwenye orodha ya barua pepe ya wasanidi programu Linux- utekelezaji wa awali wa kiendeshi cha Tyr kwa ARM Mali GPU zinazotumia teknolojia ya Command Stream Frontend (CSF), kama vile Mali G310, G510, na G710. Msimbo wa kiendeshi umeandikwa kwa Rust na unajumuisha zaidi ya mistari 600 ya msimbo. Kazi ya kiendeshi cha Tyr inafanywa kwa pamoja na Collabora, Arm, na Google.

Mfumo wa kuunda kiendeshi kipya hutumia vipengee vya kiendeshaji dhahania cha rust_platform_driver na kiendesha Nova, kilichoundwa kwa ajili ya NVIDIA GPU, iliyoandikwa kwa Rust na kuongezwa kwa sehemu kwenye kernel 6.15. Utendaji wa kuingiliana na GPU ya Mali umewekwa kutoka kwa kiendeshi cha DRM kilichopo cha Panthor (Kidhibiti Utoaji Moja kwa Moja) kilichoandikwa katika C. UAPI ya kiendeshi cha Tyr inafanana na uAPI ya kiendeshi cha Panthor, ambayo inaruhusu kutumia vijenzi vilivyopo vya nafasi ya mtumiaji.

Teknolojia ya CSF, iliyotumika tangu kizazi cha 10 cha GPU za Mali, inajulikana kwa kuhamisha baadhi ya vitendaji vya kiendeshi kwenye upande wa programu dhibiti na kutumia muundo mpya wa kuandaa utekelezaji wa kazi kwenye GPU. Katika GPU zilizo na kiolesura cha CSF, badala ya kielelezo kulingana na utumaji msururu wa kazi, modeli kulingana na mtiririko wa amri hutumiwa na upangaji wa foleni ya mtiririko wa amri kwenye upande wa programu. Ili kuandaa kazi ya mpangaji, kidhibiti kidogo cha Cortex-M7 kinajengwa kwenye GPU, na kitengo maalum cha utekelezaji wa amri (Kitengo cha Utekelezaji wa Amri) hutolewa kutekeleza maagizo ya CSF.

Utendaji wa Tyr bado uko nyuma ya dereva wa Panthor, lakini watengenezaji wanakusudia kupunguza pengo polepole hadi usawa katika uwezo wa dereva ufikiwe. Vipengele vilivyokosekana vinahitaji vifupisho vya ziada kuunganishwa kwenye kernel ili kuunda viendeshaji katika Rust, kwa hivyo ukuzaji wa kiendeshi cha Tyr utasawazishwa na kuongezwa kwa vifupisho hivi kwenye kernel. Kwa mfano, punje bado haina uwezo wa kutengeneza ramani ya kumbukumbu katika viendesha Rust kwa GPU, ambazo zinatengenezwa katika seti ya kiraka ya GPUVM, ambayo bado haijapitishwa.

Chanzo: opennet.ru

Nunua upangishaji wa kuaminika wa tovuti zilizo na ulinzi wa DDoS, seva za VPS VDS 🔥 Nunua upangishaji wa tovuti unaoaminika kwa ulinzi wa DDoS, seva za VPS VDS | ProHoster