Postiodd Daniel Almeida, sy'n gweithio ar ddatblygu codec fideo yn Collabora, ar y rhestr bostio datblygwyr Linux- gweithrediad cychwynnol y gyrrwr Tyr ar gyfer GPUau ARM Mali sy'n defnyddio technoleg Command Stream Frontend (CSF), fel y Mali G310, G510, a G710. Mae cod y gyrrwr wedi'i ysgrifennu yn Rust ac mae'n cynnwys ychydig dros 600 llinell o god. Mae gwaith ar y gyrrwr Tyr yn cael ei wneud ar y cyd gan Collabora, Arm, a Google.
Mae'r fframwaith ar gyfer creu'r gyrrwr newydd yn defnyddio cydrannau o'r gyrrwr rust_platform_driver haniaethol a'r gyrrwr Nova, a ddatblygwyd ar gyfer GPUs NVIDIA, wedi'u hysgrifennu yn Rust ac wedi'u hychwanegu'n rhannol at y cnewyllyn 6.15. Mae'r swyddogaeth ar gyfer rhyngweithio â'r GPU Mali wedi'i gludo o'r gyrrwr DRM Panthor (Rheolwr Rendro Uniongyrchol) presennol, wedi'i ysgrifennu yn C. Mae uAPI y gyrrwr Tyr yn union yr un fath ag uAPI y gyrrwr Panthor, sy'n caniatáu defnyddio cydrannau gofod defnyddwyr presennol gydag ef.
Mae'r dechnoleg CSF, a ddefnyddir ers y 10fed genhedlaeth o GPUs Mali, yn nodedig am symud rhai swyddogaethau gyrrwr i ochr y cadarnwedd a defnyddio model newydd ar gyfer trefnu gweithredu gwaith ar y GPU. Mewn GPUs gyda rhyngwyneb CSF, yn lle model yn seiliedig ar anfon cadwyn o weithiau, defnyddir model yn seiliedig ar lif gorchymyn gydag amserlennu'r ciw llif gorchymyn ar ochr y cadarnwedd. I drefnu gwaith yr amserlennwr, mae microreolydd Cortex-M7 ar wahân wedi'i adeiladu i mewn i'r GPU, a darperir uned gweithredu gorchymyn arbennig (Uned Gweithredu Gorchymyn) i weithredu cyfarwyddiadau CSF.
Mae ymarferoldeb Tyr yn dal i fod ar ei hôl hi o'i gymharu â gyrrwr Panthor, ond mae'r datblygwyr yn bwriadu lleihau'r bwlch yn raddol nes cyflawni cydraddoldeb mewn galluoedd gyrwyr. Mae'r nodweddion coll yn gofyn am integreiddio haniaethau ychwanegol i'r cnewyllyn i greu gyrwyr yn Rust, felly bydd datblygiad gyrrwr Tyr yn cael ei gydamseru ag ychwanegu'r haniaethau hyn i'r cnewyllyn. Er enghraifft, nid oes gan y cnewyllyn y galluoedd eto ar gyfer mapio cof mewn gyrwyr Rust ar gyfer GPUs, sy'n cael eu datblygu yn y set glytiau GPUVM, nad yw wedi'i mabwysiadu eto.
Ffynhonnell: opennet.ru
