پس از سالها توسعه، تیم Chrome WebGPU را ارائه میکند که به گرافیک سه بعدی با کارایی بالا و محاسبات موازی داده در وب اجازه میدهد.
تیم کروم با خوشحالی اعلام می کند که WebGPU اکنون به صورت پیش فرض در کروم 113 در دسترس است که در حال حاضر در کانال بتا است. WebGPU یک API گرافیک وب جدید است که مزایای قابل توجهی از جمله کاهش بسیار زیاد حجم کاری جاوا اسکریپت برای همان گرافیک ها و بهبود بیش از سه برابری در استنتاج مدل های یادگیری ماشین را ارائه می دهد. این به دلیل برنامهنویسی GPU انعطافپذیرتر و دسترسی به قابلیتهای پیشرفتهای که WebGL ارائه نمیکند امکانپذیر است.
این نسخه اولیه WebGPU در ChromeOS، macOS و Windows در دسترس است. پشتیبانی از سایر پلتفرم ها در اواخر امسال ارائه می شود.
طلوع جدید برای گرافیک وب
WebGPU یک API جدید برای وب است که قابلیتهای سختافزاری مدرن را به نمایش میگذارد و امکان پردازش و عملیات محاسباتی را روی یک GPU، مشابه Direct3D 12، Metal و Vulkan میدهد. برخلاف خانواده APIهای WebGL، WebGPU دسترسی به ویژگیهای پیشرفتهتر GPU را ارائه میدهد و پشتیبانی درجه یک را برای محاسبات عمومی روی GPU ارائه میکند. API با در نظر گرفتن پلتفرم وب طراحی شده است و دارای یک API اصطلاحی جاوا اسکریپت، ادغام با وعدهها، پشتیبانی از وارد کردن ویدیوها، و تجربه توسعهدهنده صیقلی با پیامهای خطای عالی است.
این نسخه اولیه WebGPU به عنوان بلوک ساختمانی برای به روز رسانی ها و پیشرفت های آینده عمل می کند. API ویژگیهای گرافیکی پیشرفتهتری را ارائه میکند و توسعهدهندگان تشویق میشوند تا درخواستهایی برای ویژگیهای اضافی ارسال کنند. تیم کروم همچنین قصد دارد دسترسی عمیقتری به هستههای سایهزن برای بهینهسازی بیشتر یادگیری ماشین و ارگونومی بیشتر در WGSL، WebGPU Shading Language، فراهم کند.
WebGPU نتیجه تلاش مشترک گروه اجتماعی "GPU برای وب" W3C است که شامل مشارکت های شرکت های بزرگی مانند موزیلا، اپل، اینتل و مایکروسافت است. پس از شش سال توسعه ( 90 مشارکتکننده، 2000 تعهد، 3000 مشکل )، از طراحی اولیه در سال 2017، اولین پیادهسازی اکنون در کروم در دسترس است و پشتیبانی از فایرفاکس و سافاری در حال انجام است.
هم کتابخانه Dawn برای Chromium و هم کتابخانه wgpu برای فایرفاکس بهعنوان بستههای مستقل در دسترس هستند و قابلیت حمل عالی و لایههای ارگونومیکی را ارائه میکنند که APIهای GPU سیستمعامل را انتزاعی میکنند. استفاده از این کتابخانه ها در برنامه های کاربردی بومی نیز انتقال به WASM از طریق Emscripten و Rust web-sys را آسان تر می کند.
پشتیبانی از مرورگر
این نسخه اولیه WebGPU در Chrome 113 در دستگاههای ChromeOS با پشتیبانی Vulkan، دستگاههای Windows با پشتیبانی Direct3D 12 و macOS در دسترس است. لینوکس، اندروید و پشتیبانی گسترده از پلتفرم های موجود به زودی ارائه می شود.
WebGPU علاوه بر پیاده سازی اولیه در کروم، یک کار در حال پیشرفت در فایرفاکس و سافاری است.
پشتیبانی از کتابخانه
بسیاری از کتابخانه های پرکاربرد WebGL در حال حاضر در حال اجرای پشتیبانی WebGPU هستند یا قبلاً این کار را انجام داده اند. این بدان معنی است که استفاده از WebGPU ممکن است فقط نیاز به تغییر یک خط داشته باشد:
- Babylon.js قبلاً پشتیبانی کامل از WebGPU را دارد.
- PlayCanvas پشتیبانی اولیه WebGPU را اعلام کرد.
- TensorFlow.js از نسخه های بهینه شده توسط WebGPU اکثر اپراتورها پشتیبانی می کند.
- پشتیبانی از Three.js WebGPU در حال انجام است، نمونهها را ببینید.
منابع
WebGPU یک فناوری قابل توجه است و ما منابع زیر را برای کسب اطلاعات بیشتر توصیه می کنیم:
- مشخصات W3C برای WebGPU و WGSL را بررسی کنید.
- نمونه ها را آزمایش کنید و WGSL را با یک تور کاوش کنید.
- به مستندات MDN نگاه کنید.
- توضیح رسمی و بهترین شیوه ها را بخوانید.
- درباره محاسبات GPU و بیشتر بیاموزید.
قدردانی ها
با تشکر فراوان از همه مشارکت کنندگان Chromium و به ویژه از افراد اینتل برای حمایت ارزشمندشان در ایجاد این امکان.