Tyr estas prezentita, Linux- pelilo por la ARM Mali GPU, skribita en Rust

Daniel Almeida, kiu laboras pri disvolviĝo de videokodekoj ĉe Collabora, afiŝis en la dissendolisto por programistoj Linux- la komenca efektivigo de la Tyr-pelilo por ARM Mali GPU-oj kiuj uzas Command Stream Frontend (CSF) teknologion, kiel ekzemple la Mali G310, G510 kaj G710. La pelilkodo estas skribita en Rust kaj konsistas el iom pli ol 600 linioj da kodo. Laboron pri la Tyr-pelilo faras komune Collabora, Arm kaj Google.

La kadro por krei la novan pelilon uzas komponantojn de la abstrakta pelilo rust_platform_driver kaj la pelilo Nova, evoluigitaj por NVIDIA GPU-oj, skribitaj en Rust kaj parte aldonitaj al la kerno 6.15. La funkcioj por interagi kun la Mali GPU estas portita de la ekzistanta DRM-pelilo Panthor (Direct Rendering Manager), skribita en C. La uAPI de la pelilo Tyr estas identa al la uAPI de la pelilo Panthor, kiu permesas uzi ekzistantajn uzantspaco-komponantojn kun ĝi.

La CSF-teknologio, uzata ekde la 10-a generacio de Mali GPU-oj, estas rimarkinda pro movado de iuj pelilaj funkcioj al la firmvara flanko kaj uzado de nova modelo por organizado de laboro-plenumo sur la GPU. En GPU-oj kun CSF-interfaco, anstataŭ modelo bazita sur sendado de ĉeno de laboroj, modelo bazita sur komandfluo estas uzata kun planado de la atendovico de komandfluo sur la firmvara flanko. Por organizi la laboron de la planilo, aparta Cortex-M7-mikroregilo estas enkonstruita en la GPU, kaj speciala komanda plenumunuo (Command Execution Unit) estas provizita por plenumi CSF-instrukciojn.

La funkcioj de Tyr ankoraŭ postrestas kompare kun la pelilo Panthor, sed la programistoj intencas iom post iom redukti la interspacon ĝis kiam egaleco en la kapabloj de la pelilo estos atingita. La mankantaj funkcioj postulas la integriĝon de pliaj abstraktadoj en la kernon por krei pelilojn en Rust, do la disvolviĝo de la pelilo Tyr estos sinkronigita kun la aldono de ĉi tiuj abstraktadoj al la kerno. Ekzemple, la kerno ankoraŭ ne havas la kapablojn por memormapado en peliloj Rust por GPU-oj, kiuj estas disvolvataj en la GPUVM-peceto-aro, kiu ankoraŭ ne estis adoptita.

fonto: opennet.ru

Aĉetu fidindan gastigadon por retejoj kun DDoS-protekto, VPS-VDS-serviloj 🔥 Aĉetu fidindan retejan gastigadon kun DDoS-protekto, VPS VDS-servilojn | ProHoster