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

زنگ زدگی-2

کنترلر Rusticl شرکت Mesa، تست های مجموعه تست انطباق (CTS) را با موفقیت پشت سر گذاشت

ل توسعه دهندگان پروژه مسا گواهینامه کنترلر روستیکل را اعلام کردند توسط سازمان Khronos کهe تمام تست های CTS را با موفقیت پشت سر گذاشت (مجموعه تست انطباق Kronos) و کاملاً مطابق با مشخصات OpenCL 3.0 شناخته شد که APIها و برنامه های افزودنی زبان C را برای هماهنگ کردن محاسبات موازی بین پلتفرمی تعریف می کند.

با این کار، دریافت گواهینامه ای امکان پذیر شده است که به طور رسمی اعلام سازگاری با استانداردها و استفاده از علائم تجاری Khronos مرتبط با آنها را می دهد.

درایور به زبان Rust نوشته شده و توسط کارول هربست از Red Hat که در توسعه Mesa، درایور Nouveau و پشته OpenCL باز نقش دارد، توسعه داده شده است.

Rusticl تمام تست های CTS را پشت سر می گذارد

Rusticl به تازگی به اولین کد Rust در Mesa تبدیل شده است، با اجرای OpenCL که اخیراً در نسخه Mesa 22.3 ادغام شده است، و لازم به ذکر است که آزمایش بر روی سیستمی با پردازنده گرافیکی یکپارچه نسل دوازدهم اینتل با استفاده از درایور Gallium12D Iris انجام شد.

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

Rusticl از rust-bindgen برای تولید پیوندهایی برای Mesa و OpenCL استفاده می کند که به توابع Rust امکان فراخوانی از کد C و بالعکس را می دهد. امکان استفاده از زبان Rust در پروژه مسا از سال 2020 مورد بحث قرار گرفته است.

در میان از مزایای پشتیبانی Rust می توان به بهبود امنیت و کیفیت درایورها اشاره کرد با حذف مشکلات معمولی هنگام کار با حافظه، و همچنین امکان گنجاندن توسعه های شخص ثالث در Mesaمانند کازان (اجرای ولکان در رست). از جمله کاستی ها، پیچیدگی سیستم ساخت، عدم تمایل به پیوند به سیستم بسته بار، افزایش نیازمندی ها برای محیط ساخت و نیاز به گنجاندن کامپایلر Rust در وابستگی های ساختنی است که برای ساخت کلید مورد نیاز است. اجزای دسکتاپ در لینوکس

کد پشتیبانی از زبان Rust و کنترل کننده روستیک در جریان اصلی Mesa پذیرفته شده است و در نسخه Mesa 22.3 عرضه خواهد شد که در اواخر نوامبر انتظار می رود. پشتیبانی Rust و Rusticl به طور پیش‌فرض غیرفعال می‌شود و نیاز به کامپایل با گزینه‌های واضح دارد.-D gallium-rusticl=true -Dllvm=enabled -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 با محیط، برنامه های افزودنی و مشخصات همراستا شده است نمایندگی میانی عمومی SPIR-V، که همچنین از Vulkan API استفاده می کند. با آن، پشتیبانی از مشخصات SPIR-V 1.3 نیز به عنوان یک ویژگی اختیاری به هسته OpenCL 3.0 اضافه شده است. با استفاده از نمایش میانی SPIR-V برای هسته های محاسباتی، پشتیبانی از عملیات با زیر گروه ها اضافه شده است.

در نهایت، شایان ذکر است که کار روی توسعه درایور Nouveau نیز توسط کارول هربست انجام شده است. درایور Nouveau پشتیبانی اولیه OpenGL را برای GNU NVIDIA GeForce RTX 30xx بر اساس ریزمعماری Ampere که از می 2020 منتشر شده است اضافه می کند. تغییرات مربوط به پشتیبانی از تراشه جدید در هسته Linux 6.2 و Mesa 22.3 گنجانده خواهد شد.

اگر علاقه مند به دانستن بیشتر در مورد آن هستید، می توانید با جزئیات مشورت کنید در لینک زیر.


اولین کسی باشید که نظر

نظر خود را بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخشهای موردنیاز علامتگذاری شدهاند با *

*

*

  1. مسئول داده ها: میگل آنخل گاتون
  2. هدف از داده ها: کنترل هرزنامه ، مدیریت نظرات.
  3. مشروعیت: رضایت شما
  4. ارتباط داده ها: داده ها به اشخاص ثالث منتقل نمی شوند مگر با تعهد قانونی.
  5. ذخیره سازی داده ها: پایگاه داده به میزبانی شبکه های Occentus (EU)
  6. حقوق: در هر زمان می توانید اطلاعات خود را محدود ، بازیابی و حذف کنید.