Rusticle բաց կոդով վարորդը հավաստագրված է համատեղելի OpenCL 3.0-ի հետ

Mesa նախագծի մշակողները հայտարարեցին rusticl դրայվերի Khronos կազմակերպության կողմից հավաստագրման մասին, որը հաջողությամբ անցել է CTS-ի (Kronos Conformance Test Suite) հավաքածուի բոլոր թեստերը և ճանաչվել է որպես լիովին համատեղելի OpenCL 3.0 ճշգրտման հետ, որը սահմանում է API-ներ և C լեզվի ընդարձակումներ՝ միջպլատֆորմային զուգահեռ հաշվարկներ կազմակերպելու համար: Վկայական ստանալը թույլ է տալիս պաշտոնապես հայտարարել ստանդարտներին համապատասխանության մասին և օգտագործել հարակից Khronos ապրանքանիշերը: Փորձարկումն իրականացվել է 12 սերնդի ինտեգրված Intel GPU-ներով համակարգի վրա՝ օգտագործելով Gallium3D Iris դրայվերը:

Վարորդը գրված է Rust-ով և մշակվել է Կարոլ Հերբսթի կողմից Red Hat-ից, ով ներգրավված է Mesa-ի, Nouveau-ի վարորդի և OpenCL բաց փաթեթի մշակման մեջ: Rusticle-ը գործում է որպես Mesa-ի OpenCL Frontend Clover-ի անալոգը և մշակվել է նաև Mesa-ում տրամադրված Gallium ինտերֆեյսի միջոցով: Երեքնուկը երկար ժամանակ լքված է, և գեղջուկը համարվում է նրա ապագա փոխարինողը: Բացի OpenCL 3.0-ի համատեղելիության ձեռքբերումից, Rusticle նախագիծը տարբերվում է Clover-ից՝ աջակցելով OpenCL ընդլայնումներին՝ պատկերների մշակման համար, բայց դեռ չի աջակցում FP16 ձևաչափին: Mesa-ի և OpenCL-ի համար կապեր ստեղծելու համար, որոնք թույլ են տալիս կանչել Rust ֆունկցիաները C կոդից և հակառակը, Rusticle-ում օգտագործվում է Rust-bindgen:

Rust լեզվի աջակցման կոդը և rusticl դրայվերը ընդունվել են Mesa հիմնական հոսքում և կառաջարկվեն Mesa 22.3 թողարկումում, որը սպասվում է նոյեմբերի վերջին: Rust-ի և rusticl-ի աջակցությունը լռելյայնորեն կանջատվի և կպահանջի կառուցել «-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021» ընտրանքներով բացահայտորեն նշված: Կառուցելիս ձեզ անհրաժեշտ կլինեն rustc կոմպիլյատորը, bindgen binding գեներատորը, LLVM, SPIRV-Tools և SPIRV-LLVM-Translator որպես լրացուցիչ կախվածություն:

Mesa նախագծում Rust լեզվի օգտագործման հնարավորությունը քննարկվում է 2020 թվականից։ Rust-ի աջակցության առավելությունների թվում նշվում է վարորդների անվտանգության և որակի բարձրացումը՝ հիշողության հետ աշխատելիս բնորոշ խնդիրներից ազատվելու, ինչպես նաև Mesa-ում երրորդ կողմի զարգացումները ներառելու հնարավորության պատճառով, ինչպիսին է Կազանը (Vulkan-ի իրականացում): Ռուստում): Թերությունները ներառում են build համակարգի բարդության ավելացումը, բեռների փաթեթի համակարգին կապվելու դժկամությունը, կառուցման միջավայրի ընդլայնված պահանջները և Rust կոմպիլյատորը Linux-ի վրա աշխատասեղանի հիմնական բաղադրիչները կառուցելու համար անհրաժեշտ կառուցվածքային կախվածության մեջ ներառելու անհրաժեշտությունը:

Բացի այդ, մենք կարող ենք նշել աշխատանքը Nouveau-ի վարորդի զարգացման վրա, որը նույնպես իրականացվել է Քերոլ Հերբսթի կողմից: Nouveau-ի դրայվերը ավելացրել է հիմնական OpenGL աջակցություն GNU NVIDIA GeForce RTX 30xx-ի համար՝ հիմնված Ampere միկրոճարտարապետության վրա, որը թողարկվել է 2020 թվականի մայիսից: Նոր չիպերի աջակցության հետ կապված փոփոխությունները կներառվեն Linux 6.2 միջուկում և Mesa 22.3-ում:

Source: opennet.ru

Добавить комментарий