چه چیزی بعدی برای WebGPU است

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

تاریخ انتشار: 21 نوامبر 2024

مشخصات WebGPU همیشه در حال تغییر است و شرکت‌های بزرگی مانند گوگل، موزیلا، اپل، اینتل و مایکروسافت هر هفته برای بحث درباره توسعه آن جلسه می‌گذارند. جدیدترین GPU برای جلسه گروه کاری وب، نگاهی اجمالی به اهداف و ویژگی های اصلی برنامه ریزی شده برای تکرار بعدی WebGPU ارائه کرد. این پست وبلاگ برخی از نکات کلیدی این جلسه را بررسی می کند.

رسیدن به وضعیت توصیه نامزد

تمرکز اصلی این جلسه، بحث در مورد پیشرفت Milestone 0 و نهایی کردن مسائلی بود که باید قبل از رسیدن به وضعیت توصیه نامزد برای W3C مورد توجه قرار گیرند. این مرحله بعدی در فرآیند استانداردسازی است و تضمین های قوی تری از ثبات و حفاظت از مالکیت معنوی دارد.

بین شرکت کنندگان جلسه توافق کلی وجود داشت که آنها مسدود کننده نیستند و این مسائل را می توان به موقع حل کرد و راه را برای توصیه نامزد W3C WebGPU هموار کرد.

اولویت بندی ویژگی های جدید

شرکت کنندگان در این نشست همچنین ویژگی های جدید را در اولویت قرار دادند. آنها با فهرستی از درخواست‌های ویژگی شروع کردند که از بازخورد توسعه‌دهندگان، اجراکنندگان و ذینفعان گردآوری شده بود.

تخته سفیدی با فهرست دست‌نویسی از اصطلاحات مربوط به APIهای گرافیکی رایانه‌ای، از جمله «بی‌ست»، «زیرگروه‌ها»، «MDI»، «ثابت‌های فشاری»، «UMA»، «ماتریس زیرگروه» و موارد دیگر.

پس از بحث، ویژگی‌های کلیدی WebGPU زیر برای هوش مصنوعی شناسایی شدند:

  • زیرگروه ها و ماتریس های زیرگروه : به برنامه اجازه دهید از ارتباطات محلی سریع بین رشته های GPU استفاده کند و از سخت افزار ضرب ماتریس با اندازه ثابت در کنار هسته های سایه زن استفاده کند. پیشنهاد زیرگروه ها را ببینید.

  • بافرهای Texel : راه کارآمدتری برای ذخیره و دسترسی به انواع داده های کوچک، مانند مقادیر 16 بیتی یا 8 بیتی، به روشی قابل حمل ارائه می دهد. این برای برخی از الگوریتم های پردازش تصویر ML مهم است. اسلایدهای بافر texel را ببینید.

  • نقشه برداری بافر UMA : با کاهش یا حذف کپی ها و سربار همگام سازی، عملکرد بارگذاری داده ها را بهبود می بخشد. به موضوع مشخصات 2388 مراجعه کنید.

همچنین ویژگی‌های WebGPU زیر در دست بررسی و اولویت‌بندی برای باز کردن انواع جدیدی از الگوریتم‌های رندر هستند:

  • Bindless : این پیشنهاد ویژگی بسیار مورد انتظار پیش نیاز اکثر الگوریتم های رندر پیشرفته است زیرا به اطلاعات گسترده صحنه نیاز دارند. Bindless به Shader ها اجازه می دهد از تعداد نامحدودی از منابع، از جمله بافت ها، در مقایسه با محدودیت های نسبتاً سخت فعلی استفاده کنند.

  • Multi-Draw indirect : به محاسبات قبلی روی GPU اجازه می‌دهد به‌جای اینکه فقط یک قرعه کشی با drawIndirect قبلی انجام دهند، چندین نقشه ایجاد کنند. این یک قابلیت مهم برای رندرینگ مبتنی بر GPU مانند حذف اشیاء توسط GPU است. درخواست کشش 2315 را ببینید.

  • اتمی‌های 64 بیتی : چه در بافرها و چه در بافت‌ها، برای انجام «شطرنجی‌سازی نرم‌افزاری» بر روی GPU، با بسته‌بندی آزمایش عمق و نوشتن یک محموله 32 بیتی در یک عملیات atomicMax ، لازم است. به شماره 4329 مراجعه کنید.

برای افزایش قابلیت‌های WebGPU و ادغام با پلتفرم وب گسترده‌تر، ویژگی‌های WebGPU زیر مورد بحث قرار گرفته‌اند:

  • حالت سازگاری : هدف این حالت فعال کردن WebGPU برای اجرا در طیف گسترده‌تری از دستگاه‌ها، از جمله دستگاه‌هایی است که فقط OpenGL ES 3.1 را پشتیبانی می‌کنند. پیشنهاد حالت سازگاری را ببینید.

  • WebXR : به ماژول لایه های WebXR موجود اجازه می دهد تا با ارائه زنجیره های تبادل WebGPU برای هر نوع لایه، با WebGPU ارتباط برقرار کند. اسلایدهای ادغام WebGPU/WebXR را ببینید.

  • Canvas2D : قابلیت همکاری بهتری را بین Canvas 2D و WebGPU ایجاد می کند و مشکلات عملکرد و ارگونومی را برطرف می کند. این پیشنهاد انتقال WebGPU به شما امکان دسترسی به متن و ترسیم مسیر در WebGPU را می دهد و می توانید رندر WebGPU را در Canvas 2D اعمال کنید.

در این جلسه همچنین ارائه ها و بحث هایی در مورد تلاش ها برای بهبود ابزار و کتابخانه های WGSL ارائه شد. یکی از ابتکارات قابل توجه توسعه WESL (WGSL Extended Shading Language) است که هدف آن ارائه مجموعه ای از برنامه های افزودنی مبتنی بر جامعه برای WGSL است.

اطلاعات بیشتر را می توانید در یادداشت های خام جلسه بیابید.

افکار

این نشست بر اهمیت همکاری بین گروه کاری WebGPU، توسعه دهندگان و جامعه گرافیکی گسترده تر در شکل دادن به آینده WebGPU تأکید کرد. گروه کاری فعالانه به دنبال بازخورد در مورد ویژگی های پیشنهادی است و متعهد به همکاری با توسعه دهندگان است تا اطمینان حاصل شود که WebGPU نیازهای آنها را برآورده می کند.

تحولات بعدی WebGPU نوید یک گام مهم رو به جلو را می دهد، و امکانات جدیدی را برای گرافیک های وب باز می کند و توسعه دهندگان را برای ایجاد تجارب وب فراگیرتر و جذاب تر برای هوش مصنوعی توانمند می کند.