پیاده سازی Rust از OpenCL در Mesa اکنون از OpenCL 3.0 پشتیبانی می کند

پیاده‌سازی OpenCL جدید (rusticl) که به زبان Rust نوشته شده است و برای پروژه Mesa توسعه می‌یابد، مجموعه آزمایشی CTS (مجموعه تست انطباق Kronos) را که توسط کنسرسیوم Khronos برای ارزیابی سازگاری با مشخصات OpenCL 3.0 استفاده می‌شود، با موفقیت پشت سر گذاشته است. این پروژه توسط Karol Herbst از Red Hat که در توسعه Mesa، درایور Nouveau و پشته باز OpenCL نقش دارد، توسعه می یابد. خاطرنشان می شود که Carol با Khronos در رابطه با صدور گواهینامه رسمی پشتیبانی OpenCL 3.0 در rusticl تماس گرفت.

آزمایشات روی سیستمی با پردازنده گرافیکی نسل دوازدهم اینتل (دریاچه آلدر) تکمیل شد. کار با استفاده از درایور Mesa Iris انجام شد، اما این پروژه باید با سایر درایورهای Mesa که از نمایش میانی بدون نوع (IR) سایه زن های NIR استفاده می کنند نیز کار کند. درخواست ادغام Rusticle با Mesa هنوز در دست بررسی است و هیچ تصمیمی در مورد گنجاندن کد Rust در Mesa گرفته نشده است. قبل از اینکه Rusticl در ترکیب اصلی Mesa پذیرفته شود، می توانید از یک شاخه جداگانه برای ساختن استفاده کنید که در هنگام کامپایل باید پارامترهای ساخت را مشخص کنید "-Dgallium-rusticl=true -Dopencl-spirv=true -Dshader-cache=true -Dllvm=" درست است، واقعی".

Rusticle به عنوان آنالوگ از OpenCL Clover جلویی Mesa عمل می کند و همچنین با استفاده از رابط Gallium ارائه شده در Mesa توسعه یافته است. سهام Clover برای مدت طولانی رها شده است و rusticl به عنوان جایگزین آینده آن قرار گرفته است. علاوه بر دستیابی به سازگاری با OpenCL 3.0، پروژه Rusticle در پشتیبانی از برنامه های افزودنی OpenCL برای پردازش تصویر با Clover متفاوت است، اما هنوز از فرمت FP16 پشتیبانی نمی کند.

Для генерации биндингов для Mesa и OpenCL, позволяющих вызывать Rust-функции из кода на Си и наоборот, в Rusticl задействован rust-bindgen. Возможность использования языка Rust в проекте Mesa обсуждается с 2020 года. Из плюсов поддержки Rust упоминается повышение безопасности и качества драйверов за счёт избавления от типовых проблем при работе с памятью, а также возможность включения в состав Mesa сторонних наработок, таких как Kazan (реализация Vulkan на Rust). Из недостатков отмечается усложнение системы сборки, нежелание привязываться к пакетной системе cargo, расширение требований к сборочному окружению и необходимость включения компилятора Rust в сборочные зависимости, обязательные для построения ключевых компонентов рабочего стола в Linux.

منبع: opennet.ru

خرید هاست قابل اعتماد برای سایت های دارای حفاظت DDoS، سرورهای VPS VDS 🔥 خرید هاستینگ معتبر با محافظت در برابر حملات DDoS، سرورهای VPS و VDS | ProHoster