Ներկայացվում է Տիրը, Linux- ARM Mali GPU-ի դրայվեր, գրված Rust լեզվով

Դանիել Ալմեյդան, ով աշխատում է Collabora-ում տեսակոդեկի մշակման վրա, գրառում է կատարել մշակողների փոստային ցուցակում։ Linux- Tyr դրայվերի սկզբնական ներդրումը ARM Mali GPU-ների համար, որոնք օգտագործում են Command Stream Frontend (CSF) տեխնոլոգիան, ինչպիսիք են Mali G310-ը, G510-ը և G710-ը: Դրայվերի կոդը գրված է Rust լեզվով և բաղկացած է կոդի մի փոքր ավելի քան 600 տողից: Tyr դրայվերի վրա աշխատանքը համատեղ իրականացվում է Collabora-ի, Arm-ի և Google-ի կողմից:

Նոր դրայվերի ստեղծման համար նախատեսված շրջանակը օգտագործում է abstract rust_platform_driver դրայվերի և NVIDIA GPU-ների համար մշակված Nova դրայվերի բաղադրիչները, որոնք գրված են Rust լեզվով և մասամբ ավելացված են 6.15 միջուկին: Mali GPU-ի հետ փոխազդեցության ֆունկցիոնալությունը վերցված է առկա Panthor (Direct Rendering Manager) DRM դրայվերից, որը գրված է C լեզվով: Tyr դրայվերի uAPI-ն նույնական է Panthor դրայվերի uAPI-ին, որը թույլ է տալիս դրա հետ օգտագործել առկա օգտագործողի տարածքի բաղադրիչները:

Mali GPU-ների 10-րդ սերնդից ի վեր օգտագործվող CSF տեխնոլոգիան աչքի է ընկնում որոշ դրայվերի ֆունկցիաներ ֆիրմային կողմ տեղափոխելով և GPU-ի վրա աշխատանքի կատարման կազմակերպման նոր մոդել օգտագործելով: CSF ինտերֆեյսով GPU-ներում, աշխատանքների շղթա ուղարկելու վրա հիմնված մոդելի փոխարեն, օգտագործվում է հրամանների հոսքի վրա հիմնված մոդել՝ ֆիրմային կողմում հրամանների հոսքի հերթի ժամանակացույցով: Ժամանակացույցի աշխատանքը կազմակերպելու համար GPU-ում ներկառուցված է առանձին Cortex-M7 միկրոկառավարիչ, և CSF հրահանգները կատարելու համար նախատեսված է հատուկ հրամանների կատարման բլոկ (Command Execution Unit):

Tyr-ի ֆունկցիոնալությունը դեռևս հետ է մնում Panthor դրայվերից, սակայն մշակողները մտադիր են աստիճանաբար կրճատել բացը մինչև դրայվերի հնարավորությունների հավասարության հասնելը: Բացակայող գործառույթները պահանջում են լրացուցիչ աբստրակցիաների ինտեգրում միջուկում՝ Rust-ում դրայվերներ ստեղծելու համար, ուստի Tyr դրայվերի մշակումը կհամաժամեցվի այդ աբստրակցիաների միջուկին ավելացման հետ: Օրինակ, միջուկը դեռևս չունի Rust դրայվերներում հիշողության քարտեզագրման հնարավորություններ GPU-ների համար, որոնք մշակվում են GPUVM patch հավաքածուում, որը դեռևս չի ընդունվել:

Source: opennet.ru

Գնեք հուսալի հոստինգ DDoS պաշտպանությամբ կայքերի, VPS VDS սերվերների համար 🔥 Գնեք հուսալի կայքերի հոսթինգ՝ DDoS պաշտպանությամբ, VPS VDS սերվերներով | ProHoster