יישום OpenCL של Mesa שנכתב בחלודה כבר עבר מבחני CTS

היישום החדש מ-OpenCL (כפרי) פותח עבור פרויקט Mesa, שנכתב ב- Rust, עבר בהצלחה את מבחני ה-CTS (Kronos Conformance Test Suite) המשמשת את קונסורציום Khronos לבדיקת תאימות למפרטי OpenCL 3.0.

למי שלא מודע ל-»Rusticl» הוא צריך לדעת שהוא פורסם בתור יישום חדש של Mesa OpenCL שנכתב ב שפת תכנות חֲלוּדָה.

כפרי הוקמה על ידי משתתף הפעולה הידוע של Mesa Karol Herbst של Red Hat שהחל את דרכו כמהנדס על דרייבר הקוד הפתוח "Nouveau" של NVIDIA בזמן שעבד ב-Red Hat, ועבד על תמיכת ה-IT Clover של Mesa ומאמצים אחרים. Rusticl הוא ניסיון של Herbst ללמוד את שפת התכנות Rust וגם לספק יישום חדש (ובתקווה מעולה) של OpenCL.

Rusticl הרבה יותר מודרני מתמקד ב-OpenCL בהשוואה לקוד Clover הישן וזה מורגש בכל זאת, זה של-Rusticl בשלב זה עדיין אין תמיכה בתמונה של OpenCL שהייתה בעיה נוספת עם Clover.

כפרי מסתמך על clc כדי להדר את קוד המקור של OpenCL ל-SPIR-V. Rusticl תלוי גם במנהלי התקנים התואמים ל-NIR של Mesa Gallium3D, אבל כל הדרייברים הגדולים כבר עושים זאת. יצוין כי קרול יצרה קשר עם Khronos כדי לקבל אישור רשמי לתאימות OpenCL 3.0 בכפריות.

ועכשיו, rusticl עבר בהצלחה את חבילת מבחן ההתאמה של Kronos כדי להעריך תאימות למפרטי OpenCL 3.0, כפי שהודיע ​​ניל טרבט בטוויטר:

Khronos גאה שוויתרה על כל עמלות האימוץ של MESA לאורך השנים, ויישומי MESA רבים תואמים באופן רשמי. נהדר ש-OpenCL 3.0 מבית MESA עובר CTS! הודע לנו מתי MESA מוכנה לבצע את הסכם האימוץ OCL 3.0 ונוכל להתחיל בתהליך...

הבדיקה נעשתה על מערכת עם Intel GPU מהדור ה-12 build (Alder Lake), שאיתו העבודה נעשתה עם דרייבר Iris Mesa, אך מוזכר שהפרויקט צריך לעבוד עם דרייברים אחרים של Mesa המשתמשים בייצוג הביניים חסר הסוג (IR) של הצללות NIR.

Rusticl משמש כמקביל לממשק OpenCL Clover של Mesa ומפותח גם באמצעות ממשק Gallium של Mesa. תלתן נמצאת במצב של הזנחה מזה זמן רב והכפריים מוצבים כמחליפו העתידי. בנוסף להשגת תאימות OpenCL 3.0, פרויקט Rusticl שונה מ-Clover בכך שהוא תומך בהרחבות OpenCL לעיבוד תמונה, אך עדיין אינו תומך בפורמט FP16.

Rusticl משתמש ב-rust-bindgen ליצור bindings עבור Mesa ו-OpenCL המאפשרים לקרוא לפונקציות Rust מקוד C ולהיפך.

האפשרות להשתמש בשפת Rust בפרויקט Mesa נדונה מאז 2020. בין היתרונות של תמיכת Rust הם מזכירים את שיפור האבטחה והאיכות של הדרייברים על ידי ביטול בעיות אופייניות בעבודה עם זיכרון, כמו גם אפשרות לכלול פיתוחים של צדדים שלישיים על Mesa, כגון Kazan (יישום Vulkan על Rust).

בין החסרונות ישנה סיבוך של מערכת ה-build, חוסר רצון להיקשר למערכת חבילת ה-payload, הגדלת הדרישות לסביבת ה-build והצורך לכלול את מהדר Rust בתלויות ה-build הניתנות. לבנות רכיבי שולחן עבודה מרכזיים בלינוקס.

לבסוף, מוזכר שהבקשה למיזוג רוסטיקל עם Mesa עדיין תלויה ועומדת ועדיין לא התקבלה החלטה על הכללת קוד שפת Rust במסה, אך הוא צפוי להגיע במהדורת Mesa 22.2

זו הסיבה שלפני ש-Rusticl מתקבל להרכב Mesa הראשי, ניתן להשתמש בענף נפרד לבנייה, בעת הקומפילציה, עליך לציין את פרמטרי ה-build "-Dgallium-rusticl=true -Dopencl-spirv=true -Dshader -cache=true -Dllvm =true».

אם כן מעוניין לדעת יותר על זה לגבי המפרט החדש הזה, אתה יכול לבדוק את הפרטים בקישור הבא.


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי על הנתונים: AB Internet Networks 2008 SL
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.