Rusticle нээлттэй эхийн драйвер нь OpenCL 3.0-д нийцэх гэрчилгээтэй

Меса төслийн хөгжүүлэгчид CTS (Kronos Conformance Test Suite) багцын бүх туршилтыг амжилттай давсан, API болон API-г тодорхойлдог OpenCL 3.0 техникийн үзүүлэлттэй бүрэн нийцэж байгаа гэж хүлээн зөвшөөрөгдсөн rusticl жолоочийн Khronos байгууллагаас гэрчилгээ олгосон тухай зарлав. платформ хоорондын зэрэгцээ тооцооллыг зохион байгуулахад зориулсан Си хэлний өргөтгөлүүд. Сертификат авах нь стандартад нийцэж буйгаа албан ёсоор мэдэгдэж, холбогдох Khronos барааны тэмдгийг ашиглах боломжийг олгоно. Туршилтыг Gallium12D Iris драйвер ашиглан 3 үеийн нэгдсэн Intel GPU бүхий систем дээр хийсэн.

Жолооч нь Rust дээр бичигдсэн бөгөөд Mesa, Nouveau драйвер болон OpenCL нээлттэй стекийг боловсруулахад оролцдог Red Hat-ийн Карол Хербст боловсруулсан. Rusticle нь Mesa-ийн OpenCL frontend Clover-ийн аналогийн үүрэг гүйцэтгэдэг бөгөөд мөн Mesa-д өгсөн Gallium интерфейсийг ашиглан бүтээгдсэн. Гэрийн хошоонгорыг удаан хугацаагаар орхисон бөгөөд rusticl нь түүнийг ирээдүйд орлуулах болно. OpenCL 3.0 нийцтэй байхаас гадна Rusticle төсөл нь зураг боловсруулах OpenCL өргөтгөлүүдийг дэмждэгээрээ Clover-ээс ялгаатай боловч FP16 форматыг хараахан дэмждэггүй. Mesa болон OpenCL-ийн холболтыг үүсгэхийн тулд C кодоос Rust функцийг дуудах, эсрэгээр нь Rusticle-д rust-bindgen ашигладаг.

Rust хэлний дэмжлэгийн код болон rusticl драйвер нь Mesa-ийн үндсэн урсгалд хүлээн зөвшөөрөгдсөн бөгөөд 22.3-р сарын сүүлээр хүлээгдэж буй Mesa 2021 хувилбарт санал болгоно. Rust болон rusticl-ийн дэмжлэгийг анхдагчаар идэвхгүй болгох бөгөөд "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=XNUMX" гэсэн сонголтуудыг тодорхой зааж өгөх шаардлагатай. Барилга барих үед танд rustc хөрвүүлэгч, bindgen холбох генератор, LLVM, SPIRV-Tools, SPIRV-LLVM-Translator зэрэг нэмэлт хамаарал хэрэгтэй болно.

Меса төсөлд Rust хэлийг ашиглах боломж 2020 оноос хойш яригдаж байна. Rust-ийн дэмжлэгийн давуу талуудын дунд санах ойтой ажиллахад тохиолддог ердийн асуудлаас ангижрах, түүнчлэн Казань (Вулканы хэрэгжүүлэлт) гэх мэт гуравдагч этгээдийн хөгжүүлэлтийг оруулах боломжтой зэргээс шалтгаалан жолоочийн аюулгүй байдал, чанарыг дээшлүүлэв. Rust-д). Сул тал нь бүтээх системийн нарийн төвөгтэй байдал, ачааны багцын системд холбогдох дургүй байдал, бүтээх орчинд тавигдах шаардлага, Rust хөрвүүлэгчийг Линукс дээр үндсэн ширээний бүрэлдэхүүн хэсгүүдийг бүтээхэд шаардагдах барилгын хамааралд оруулах хэрэгцээ зэрэг орно.

Нэмж дурдахад бид Carol Herbst-ийн хийсэн Nouveau жолоочийг хөгжүүлэх ажлыг тэмдэглэж болно. Nouveau драйвер нь 30 оны 2020-р сараас хойш гарсан Ampere бичил архитектур дээр суурилсан GNU NVIDIA GeForce RTX 6.2xx-ийн үндсэн OpenGL дэмжлэгийг нэмсэн. Шинэ чипийг дэмжихтэй холбоотой өөрчлөлтүүд нь Linux 22.3 цөм болон Mesa XNUMX-д багтах болно.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх