مروری بر WebGPU

فرانسوا بوفور
François Beaufort

WebGPU یک API گرافیک وب است که مزایای قابل توجهی را ارائه می دهد، مانند کاهش بسیار زیاد حجم کار جاوا اسکریپت برای همان گرافیک ها و بهبود بیش از سه برابری در استنتاج مدل یادگیری ماشین. این به دلیل برنامه نویسی GPU منعطف و دسترسی به قابلیت های پیشرفته ای که WebGL ارائه نمی دهد امکان پذیر است.

API با در نظر گرفتن پلتفرم وب طراحی شده است و دارای یک API اصطلاحی جاوا اسکریپت، ادغام با وعده‌ها، پشتیبانی از وارد کردن ویدیوها، و تجربه توسعه‌دهنده صیقلی با پیام‌های خطای واضح است.

WebGPU نتیجه تلاش مشترک گروه اجتماعی "GPU برای وب" W3C است که شامل مشارکت های شرکت های بزرگی مانند موزیلا، اپل، اینتل و مایکروسافت است.

پشتیبانی از مرورگر

این نسخه اولیه WebGPU در Chrome 113، در دستگاه‌های ChromeOS با پشتیبانی Vulkan، دستگاه‌های Windows با پشتیبانی Direct3D 12 و macOS در دسترس قرار گرفت. لینوکس، اندروید و پشتیبانی گسترده از پلتفرم های موجود به زودی ارائه می شود.

WebGPU علاوه بر پیاده سازی اولیه در کروم، یک کار در حال پیشرفت برای فایرفاکس و سافاری است.

پشتیبانی از کتابخانه

بسیاری از کتابخانه های پرکاربرد WebGL در حال حاضر در حال اجرای پشتیبانی WebGPU هستند یا قبلاً این کار را انجام داده اند. این بدان معنی است که استفاده از WebGPU ممکن است فقط نیاز به تغییر یک خط داشته باشد.

  • Babylon.js پشتیبانی کامل از WebGPU را دارد.
  • PlayCanvas پشتیبانی اولیه WebGPU را اعلام کرد.
  • TensorFlow.js از نسخه های بهینه شده توسط WebGPU اکثر اپراتورها پشتیبانی می کند.
  • پشتیبانی از WebGPU Three.js در حال انجام است، نمونه‌ها را ببینید.

هر دو کتابخانه Dawn برای Chromium و کتابخانه wgpu برای فایرفاکس به عنوان بسته مستقل در دسترس هستند. آنها قابلیت حمل و لایه های ارگونومیک عالی را ارائه می دهند که API های GPU سیستم عامل را انتزاعی می کند. استفاده از این کتابخانه ها در برنامه های کاربردی بومی، انتقال به WASM را از طریق Emscripten و Rust web-sys آسان تر می کند.

منابع

WebGPU یک فناوری قابل توجه است و ما منابع زیر را برای کسب اطلاعات بیشتر توصیه می کنیم: