ลอส ผู้พัฒนาโครงการ Mesa ประกาศรับรองการควบคุมแบบชนบท โดยองค์กรโครโนสซึ่งe ผ่านการทดสอบ CTS ทั้งหมดเรียบร้อยแล้ว (Kronos Conformance Test Suite) และได้รับการยอมรับว่าเป็นไปตามข้อกำหนด OpenCL 3.0 อย่างสมบูรณ์ ซึ่งกำหนด API ของภาษา C และส่วนขยายเพื่อจัดการการประมวลผลแบบขนานข้ามแพลตฟอร์ม
ด้วยเหตุนี้ จึงเป็นไปได้ที่จะได้รับใบรับรองที่อนุญาตให้ประกาศความเข้ากันได้อย่างเป็นทางการกับมาตรฐานและใช้เครื่องหมายการค้า Khronos ที่เกี่ยวข้อง
ไดรเวอร์เขียนด้วยภาษา Rust และพัฒนาโดย Karol Herbst จาก Red Hat ซึ่งมีส่วนร่วมในการพัฒนา Mesa, ไดรเวอร์ Nouveau และ OpenCL stack แบบเปิด
Rusticl ผ่านการทดสอบ CTS ทั้งหมด
Rusticl เพิ่งกลายเป็นรหัส Rust ตัวแรกภายใน Mesa ด้วยการปรับใช้ OpenCL ที่เพิ่งผสานเข้ากับรุ่น Mesa 22.3 และควรสังเกตว่ามีการทดสอบดำเนินการกับระบบที่มี Intel GPU เจนเนอเรชั่นที่ 12 ในตัวโดยใช้ไดรเวอร์ Gallium3D Iris
สำหรับผู้ที่ไม่รู้จักคอนโทรลเลอร์ Rusticl ควรรู้สิ่งนี้ ทำหน้าที่เป็นคู่กับอินเตอร์เฟส OpenCL Clover ของ Mesa และยังได้รับการพัฒนาโดยใช้ส่วนต่อประสาน Gallium ของ Mesa Clover ถูกละเลยมานานและ rusticl อยู่ในตำแหน่งที่จะแทนที่ในอนาคต นอกเหนือจากความเข้ากันได้ของ OpenCL 3.0 แล้ว โครงการ Rusticl ยังแตกต่างจาก Clover ตรงที่สนับสนุนส่วนขยาย OpenCL สำหรับการประมวลผลภาพ แต่ยังไม่รองรับรูปแบบ FP16
Rusticl ใช้ rust-bindgen เพื่อสร้างการรวมสำหรับ Mesa และ OpenCL ที่อนุญาตให้เรียกใช้ฟังก์ชัน Rust จากรหัส C และในทางกลับกัน ความเป็นไปได้ของการใช้ภาษา Rust ในโครงการ Mesa ได้มีการหารือกันตั้งแต่ปี 2020
หมู่ ข้อดีของการสนับสนุน Rust กล่าวถึงการปรับปรุงความปลอดภัยและคุณภาพของไดรเวอร์ ด้วยการขจัดปัญหาทั่วไปเมื่อทำงานกับหน่วยความจำ เช่นเดียวกับ ความเป็นไปได้ของการรวมการพัฒนาของบุคคลที่สามใน Mesaเช่น Kazan (การนำ Vulkan มาใช้ใน Rust) ท่ามกลางข้อบกพร่อง มีความยุ่งยากของระบบบิลด์ ความไม่เต็มใจที่จะเชื่อมโยงกับระบบโหลดแพ็คเกจ ความต้องการที่เพิ่มขึ้นสำหรับสภาพแวดล้อมบิลด์ และความจำเป็นในการรวมคอมไพเลอร์ Rust ในการขึ้นต่อกันของบิลด์ที่จำเป็นสำหรับคีย์บิลด์ ส่วนประกอบเดสก์ท็อปบน Linux
รหัสเพื่อรองรับภาษา Rust และ ตัวควบคุม rusticl ได้รับการยอมรับใน Mesa หลัก และจะนำเสนอในรุ่น Mesa 22.3 ซึ่งคาดว่าในปลายเดือนพฤศจิกายน การสนับสนุน Rust และ Rusticl จะถูกปิดใช้งานโดยค่าเริ่มต้น และจะต้องมีการคอมไพล์ด้วยตัวเลือกที่ชัดเจน "-D แกลเลียม-rusticl=จริง -Dllvm=เปิดใช้งาน -Drust_std=2021"
เมื่อทำการคอมไพล์ คอมไพเลอร์ rustc, bindgen, LLVM, SPIRV-Tools และ SPIRV-LLVM-Translator จำเป็นต่อการพึ่งพาเพิ่มเติม
มันควรจะกล่าวว่าเขาOpenCL 3.0 API ครอบคลุมเวอร์ชัน OpenCL ทั้งหมด (1.2, 2.x) โดยไม่ได้ระบุข้อกำหนดแยกต่างหากสำหรับแต่ละเวอร์ชัน OpenCL 3.0 ให้ความสามารถในการขยายการทำงานหลักผ่านการรวมข้อกำหนดเพิ่มเติมที่จะทับซ้อนกันในรูปแบบของตัวเลือกโดยไม่ปิดกั้นลักษณะเสาหินของ OpenCL 1.2/2.X
นอกจากนี้สเปค OpenCL 3.0 สอดคล้องกับสภาพแวดล้อม ส่วนขยาย และข้อมูลจำเพาะของ การเป็นตัวแทนระดับกลางทั่วไป สไปร์-วีเช่นกัน ใช้ Vulkan API ด้วยเหตุนี้ การสนับสนุนข้อกำหนด SPIR-V 1.3 จึงถูกเพิ่มไปยังเคอร์เนล OpenCL 3.0 เป็นคุณสมบัติเสริม ด้วยการใช้ตัวแทนระดับกลางของ SPIR-V สำหรับเคอร์เนลคอมพิวเตอร์ จึงมีการเพิ่มการสนับสนุนการดำเนินการกับกลุ่มย่อย
ท้ายสุด ควรสังเกตผลงานการพัฒนาไดรเวอร์นูโว ซึ่งทำโดยแครอล เฮิร์บสท์ ไดรเวอร์ Nouveau เพิ่มการสนับสนุน OpenGL พื้นฐานสำหรับ GNU NVIDIA GeForce RTX 30xx ซึ่งใช้สถาปัตยกรรมไมโคร Ampere ที่เปิดตัวตั้งแต่เดือนพฤษภาคม 2020 การเปลี่ยนแปลงที่เกี่ยวข้องกับการรองรับชิปใหม่จะรวมอยู่ในเคอร์เนล Linux 6.2 และ Mesa 22.3
หากท่านสนใจทราบข้อมูลเพิ่มเติม สามารถปรึกษารายละเอียด ในลิงค์ต่อไปนี้.