סקירה כללית של WebGPU

François Beaufort
François Beaufort

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

ה-API תוכנן מתוך מחשבה על פלטפורמת האינטרנט, וכולל API אידיומטי של JavaScript, שילוב עם הבטחות, תמיכה בייבוא סרטונים וחוויית פיתוח משופרת עם הודעות שגיאה ברורות.

WebGPU הוא תוצאה של שיתוף פעולה בין קבוצת הקהילה 'GPU for the Web' של W3C, שכולל תרומות מחברות גדולות כמו Mozilla , Apple , Intel ו-Microsoft.

תמיכת דפדפן

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

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

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

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

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

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

משאבים

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