توسعه دهندگان پروژه مسا گواهینامه توسط سازمان Khronos را برای درایور rusticl اعلام کردند، که با موفقیت تمام تست های مجموعه CTS (مجموعه تست انطباق Kronos) را گذرانده است و کاملاً با مشخصات OpenCL 3.0 سازگار است که API ها و API ها را تعریف می کند. پسوندهای زبان C برای سازماندهی محاسبات موازی بین پلتفرمی. دریافت گواهی به شما این امکان را می دهد که به طور رسمی مطابقت با استانداردها را اعلام کرده و از علائم تجاری Khronos مرتبط استفاده کنید. این آزمایش بر روی سیستمی با پردازندههای گرافیکی یکپارچه اینتل با استفاده از درایور Gallium12D Iris انجام شد.
درایور به زبان Rust نوشته شده است و توسط Karol Herbst از Red Hat که در توسعه Mesa، درایور Nouveau و پشته باز OpenCL نقش دارد، توسعه داده شده است. Rusticle به عنوان آنالوگ از OpenCL Clover جلویی Mesa عمل می کند و همچنین با استفاده از رابط Gallium ارائه شده در Mesa توسعه یافته است. شبدر برای مدت طولانی رها شده است و روستایی به عنوان جایگزین آینده آن قرار گرفته است. علاوه بر دستیابی به سازگاری با OpenCL 3.0، پروژه Rusticle در پشتیبانی از برنامه های افزودنی OpenCL برای پردازش تصویر با Clover متفاوت است، اما هنوز از فرمت FP16 پشتیبانی نمی کند. برای تولید اتصالات برای Mesa و OpenCL، که به شما امکان می دهد توابع Rust را از کد C فراخوانی کنید و بالعکس، rust-bindgen در Rusticle استفاده می شود.
کد پشتیبانی از زبان Rust و درایور rusticl در جریان اصلی Mesa پذیرفته شدهاند و در نسخه Mesa 22.3 که در اواخر نوامبر انتظار میرود ارائه میشوند. پشتیبانی Rust و Rusticl به طور پیشفرض غیرفعال میشود و به ساختی نیاز دارد که گزینههای "-D gallium-rusticl=true -Dllvm=enabled -Drust_std=2021" به صراحت مشخص شده باشد. هنگام ساخت، به کامپایلر rustc، bindgen binding generator، LLVM، SPIRV-Tools و SPIRV-LLVM-Translator به عنوان وابستگی های اضافی نیاز دارید.
امکان استفاده از زبان Rust در پروژه Mesa از سال ۲۰۲۰ مورد بحث بوده است. از جمله مزایای پشتیبانی از Rust میتوان به افزایش امنیت و کیفیت درایور به دلیل حذف مشکلات رایج حافظه و همچنین امکان ادغام توسعههای شخص ثالث در Mesa، مانند Kazan (یک پیادهسازی Rust از Vulkan) اشاره کرد. از معایب آن میتوان به افزایش پیچیدگی سیستم ساخت، عدم تمایل به اتصال به سیستم بستهبندی محموله، الزامات محیط ساخت گستردهتر و لزوم گنجاندن کامپایلر Rust در وابستگیهای ساخت مورد نیاز برای ساخت اجزای کلیدی دسکتاپ اشاره کرد. Linux.
علاوه بر این، کار توسعه درایور Nouveau، که آن هم توسط کارول هربست رهبری میشود، قابل توجه است. درایور Nouveau پشتیبانی اولیه OpenGL را برای پردازندههای گرافیکی NVIDIA GeForce RTX 30xx مبتنی بر ریزمعماری Ampere که از ماه مه 2020 منتشر شده است، اضافه میکند. تغییرات مربوط به پشتیبانی از تراشههای جدید در هسته گنجانده خواهد شد. Linux ۶.۱۴ و مسا ۲۵.
منبع: opennet.ru
