Chrome שולח את WebGPU

אחרי שנים של פיתוח, צוות Chrome משיק את WebGPU שמאפשר גרפיקה תלת-ממדית עם ביצועים גבוהים וחישוב מקבילי של נתונים באינטרנט.

François Beaufort
François Beaufort
Corentin Wallez
Corentin Wallez

צוות Chrome שמח להודיע ש-WebGPU זמין עכשיו כברירת מחדל ב-Chrome 113, שנמצא כרגע בערוץ הבטא. WebGPU הוא ממשק API חדש לגרפיקת אינטרנט שמציע יתרונות משמעותיים, כמו הפחתה משמעותית של עומס העבודה ב-JavaScript לאותה גרפיקה ושיפור של יותר מפי שלושה בהסקת המסקנות של מודלים של למידת מכונה. זה אפשרי בגלל תכנות גמישה יותר של GPU וגישה ליכולות מתקדמות ש-WebGL לא מספק.

הגרסה הראשונית של WebGPU זמינה ב-ChromeOS, ב-macOS וב-Windows. בהמשך השנה נוסיף תמיכה בפלטפורמות אחרות.

שחר חדש לגרפיקה באינטרנט

WebGPU הוא ממשק API חדש לאינטרנט, שמציג יכולות חומרה מודרניות ומאפשר לבצע פעולות עיבוד ועיבוד גרפי ב-GPU, בדומה ל-Direct3D 12, ל-Metal ול-Vulkan. בניגוד למשפחת ממשקי ה-API של WebGL, WebGPU מציע גישה לתכונות מתקדמות יותר של GPU ומספק תמיכה ברמה הגבוהה ביותר לחישוב כללי ב-GPU. ה-API תוכנן תוך התמקדות בפלטפורמת האינטרנט, וכולל ממשק API של JavaScript, שילוב עם הבטחות (promises), תמיכה בייבוא סרטונים וחוויית פיתוח משופרת עם הודעות שגיאה מצוינות.

הגרסה הראשונית של WebGPU משמשת כבסיס לעדכונים ולשיפורים עתידיים. ה-API יציע תכונות גרפיקה מתקדמות יותר, ומפתחים מוזמנים לשלוח בקשות לתכונות נוספות. צוות Chrome מתכנן גם לספק גישה מעמיקה יותר לליבת שַדְר (shader) כדי לבצע אופטימיזציות נוספות של למידת מכונה ולשפר את הארגונומיה ב-WGSL, שפת השַדְר של WebGPU.

WebGPU הוא תוצאה של מאמץ משותף של קבוצת הקהילה 'GPU לאינטרנט' של W3C, שכוללת תרומות מחברות גדולות כמו Mozilla,‏ Apple,‏ Intel ו-Microsoft. אחרי שש שנים של פיתוח (90 שותפים, 2, 000 השמות והצהרות (commits) ו-3,000 בעיות) מהעיצוב הראשוני ב-2017, ההטמעה הראשונה זמינה עכשיו ב-Chrome, ותמיכה ב-Firefox וב-Safari נמצאת בתהליך.

גם הספרייה Dawn ל-Chromium וגם הספרייה wgpu ל-Firefox זמינות כחבילות עצמאיות, והן מציעות ניידות רבה ושכבות ארגונומיות שמציגות ממשקי API של GPU למערכת ההפעלה בצורה מופשטת. השימוש בספריות האלה באפליקציות מקוריות גם מקל על ההעברה ל-WASM באמצעות Emscripten ו-Rust web-sys.

תמיכה בדפדפנים

הגרסה הראשונית של WebGPU זמינה ב-Chrome 113 במכשירי ChromeOS עם תמיכה ב-Vulkan, במכשירי Windows עם תמיכה ב-Direct3D 12 וב-macOS. בקרוב נוסיף תמיכה ב-Linux וב-Android, ותמיכה מורחבת בפלטפורמות קיימות.

אנחנו עדיין עובדים על WebGPU ב-Firefox וב-Safari, בנוסף להטמעה הראשונית ב-Chrome.

תמיכה בספרייה

ספריות WebGL רבות שנמצאות בשימוש נרחב כבר נמצאות בתהליך הטמעת תמיכה ב-WebGPU או שכבר הטמיעו אותה. כלומר, כדי להשתמש ב-WebGPU יכול להיות שיהיה צורך לבצע שינוי בשורה אחת בלבד:

  • כבר יש תמיכה מלאה ב-WebGPU ב-Babylon.js.
  • PlayCanvas הודיעה על תמיכה ראשונית ב-WebGPU.
  • TensorFlow.js תומך בגרסאות שמותאמות ל-WebGPU של רוב האופרטורים.
  • אנחנו עובדים על תמיכה ב-WebGPU ב-Three.js. אפשר לעיין בדוגמאות.

משאבים

WebGPU היא טכנולוגיה חשובה, ואנחנו ממליצים על המשאבים הבאים כדי לקבל מידע נוסף:

אימות חתימות

תודה רבה לכל שותפי התוכן של Chromium, ובמיוחד לאנשים ב-Intel על התמיכה החשובה שהם סיפקו כדי שנוכל להשיק את התכונה הזו.