המפרט הסופי של OpenCL 3.0 כבר פורסם

לפני כמה חודשים שיתפנו כאן בבלוג החדשות של שחרורו של פיתוח OpenCL 3.0 על ידי דאגת חרונוס (אחראי על פיתוח מפרטים למשפחת OpenGL, Vulkan ו- OpenCL).

וזה היה עד לאחרונה זה שחרור מפרטי OpenCL 3.0 סופיים הוכרז, הגדרת ממשקי API והרחבות של שפת C לארגון מחשוב מקבילי מרובה צורות באמצעות מעבדים מרובי ליבות, GPU, FPGA, DSP ושבבים מיוחדים אחרים מאלה המשמשים במחשבי-על ושרתי ענן וכלה בשבבים שניתן למצוא במכשירים ניידים ובטכנולוגיה משולבת.

במקביל שוחרר קוד פתוח OpenCL SDK עם כלים, דוגמאות, תיעוד, קבצי כותרות, קישורים לספריות C ++ ו- C לפיתוח יישומים תואמי OpenCL 3.0.

מוצגת גם היישום הראשוני של OpenCL 3.0 המבוסס על מהדר Clang, שנמצא בשלב סקירת עמיתים להכללה בחבילת LLVM הראשית. חברות כמו IBM, NVIDIA, Intel, AMD, Apple, ARM, Electronic Arts, Qualcomm, Texas Instruments ו- Toshiba תרמו לתקן.

היום, קבוצת העבודה OpenCL ™ של Khronos שמחה להודיע ​​על שחרור המפרטים הסופיים של OpenCL 3.0, כולל מפרט שפה חדש המאוחד של OpenCL C 3.0, יחד עם מהדורה ראשונית מוקדמת של Khronos OpenCL SDK המאפשר למפתחים לקום במהירות. להאיץ עם OpenCL.

התכונות העיקריות של OpenCL 3.0

OpenCL 3.0 API כעת מכסה את כל הגרסאות של OpenCL (1.2, 2.x), מבלי לספק מפרט נפרד עבור כל גרסה.

OpenCL 3.0 מציע אפשרות להרחיב את פונקציונליות הליבה על ידי שילוב מפרטים נוספים אשר יחפפו בצורה של אפשרויות מבלי לחסום את האופי המונוליטי של OpenCL 1.2 / 2.X.

פונקציונליות בלבד שתואמת OpenCL 1.2 מוכרז כחובה, וכל התכונות המוצעות ב מפרטי OpenCL 2.x נקראים אופציונליים.

גישה זו תפשט את היצירה של יישומים מיוחדים התואמים ל- OpenCL 3.0 ותרחיב את מגוון המכשירים בהם ניתן להשתמש ב- OpenCL 3.0.

לדוגמה: יצרנים יכולים ליישם תמיכה ב- OpenCL 3.0 מבלי ליישם תכונות ספציפיות של OpenCL 2.x. כדי לגשת לפונקציות שפה אופציונליות, נוספה מערכת בקשת בדיקה ל- OpenCL 3.0 כדי להעריך תמיכה באלמנטים API בודדים, כמו גם פקודות מאקרו מיוחדות.

איחוד עם מפרטים שפורסמו בעבר מקל על תרגום יישומים ל- OpenCL 3.0. יישומי OpenCL 1.2 יוכלו לפעול במכשירים התומכים ב- OpenCL 3.0 ללא שינוי.

יישומים OpenCL 2.x גם לא דורשים שינויים בקוד, אך אם סביבת OpenCL 3.0 מספקת את הפונקציונליות הנחוצה (לצורך ניידות עתידית, יישומי OpenCL 2.x מוזמנים להוסיף שאילתות בדיקה כדי להעריך תאימות לתכונות OpenCL 2.x הנמצאות בשימוש).

מפתחי מנהלי התקנים עם יישומי OpenCL יכולים לשדרג בקלות את המוצרים שלהם ל- OpenCL 3.0 על ידי הוספת עיבוד בקשות רק לשיחות API מסוימות והגברת הפונקציונליות בהדרגה לאורך זמן.

המפרט של OpenCL 3.0 תואם עם הסביבה, ההרחבות והמפרט של הביניים הגנרית SPIR-V, המשמש גם בממשק ה- Vulkan API. תמיכה במפרט SPIR-V 1.3 כלולה ב- OpenCL 3.0 הראשי כתכונה אופציונלית. תמיכה לפעולות עם קבוצות משנה נוספה באמצעות ייצוג הביניים SPIR-V לליבות מחשוב.

חוץ מזה הוסיף תמיכה בהרחבה לביצוע פעולות DMA אסינכרוני נתמך על שבבי DMA דמויי DSP.

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

המפרט של הרחבות תכנות מקבילות לשפה C עודכן לגרסה 3.0 והפיתוח של סיומות השפה OpenCL עבור C ++ הופסק לטובת פרויקט "C ++ for OpenCL".

לתרגום OpenCL דרך ממשק ה- API של Vulkan מוצע מהדר clspv, הממיר גרעיני OpenCL לייצוג Vulkan SPIR-V ושכבת clvk כדי להבטיח שממשק ה- API של OpenCL יפעל על גבי Vulkan.

מקור: https://www.khronos.org/


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

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

*

*

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