Daniel Almeidak, Collabora-n bideo kodeken garapenean lan egiten duenak, garatzaileen posta-zerrendan argitaratu du Linux- Tyr kontrolatzailearen hasierako inplementazioa Command Stream Frontend (CSF) teknologia erabiltzen duten ARM Mali GPUetarako, hala nola Mali G310, G510 eta G710. Kontrolatzailearen kodea Rust-en idatzita dago eta 600 kode lerro baino gehiago ditu. Tyr kontrolatzailearen lana Collabora, Arm eta Google-k batera egiten ari dira.
Kontrolatzaile berria sortzeko esparruak rust_platform_driver kontrolatzaile abstraktuaren eta Nova kontrolatzailearen osagaiak erabiltzen ditu, NVIDIA GPUetarako garatuak, Rust-en idatziak eta partzialki 6.15 kernelari gehituak. Mali GPUarekin elkarreragiteko funtzionalitatea C-n idatzitako Panthor (Direct Rendering Manager) DRM kontrolatzailetik eraman da. Tyr kontrolatzailearen uAPIa Panthor kontrolatzailearen uAPIaren berdina da, eta horrek erabiltzaile-espazioko osagaiak erabiltzea ahalbidetzen du.
Mali GPUen 10. belaunalditik erabilitako CSF teknologia nabarmentzen da zenbait kontrolatzaile-funtzio firmware aldera eramateagatik eta GPUan lanaren exekuzioa antolatzeko eredu berri bat erabiltzeagatik. CSF interfazea duten GPUetan, lan-kate bat bidaltzean oinarritutako eredu baten ordez, komando-fluxu batean oinarritutako eredu bat erabiltzen da, firmware aldean komando-fluxuaren ilararen programazioarekin. Programatzailearen lana antolatzeko, Cortex-M7 mikrokontrolagailu bereizi bat integratuta dago GPUan, eta komandoen exekuzio-unitate berezi bat (Command Execution Unit) ematen da CSF argibideak exekutatzeko.
Tyr-en funtzionaltasuna oraindik Panthor kontrolatzailearen atzetik dago, baina garatzaileek pixkanaka aldea murriztea dute helburu, kontrolatzaileen gaitasunen parekotasuna lortu arte. Falta diren ezaugarriek abstrakzio gehigarriak kernelean integratzea eskatzen dute Rust-en kontrolatzaileak sortzeko, beraz, Tyr kontrolatzailearen garapena abstrakzio horiek kernelean gehitzearekin sinkronizatuko da. Adibidez, kernelak ez du oraindik GPUetarako Rust kontrolatzaileetan memoria mapatzeko gaitasunik, GPUVM adabaki multzoan garatzen ari direnak, eta oraindik ez da onartu.
Iturria: opennet.ru
