الخطوات التالية لاستخدام WebGPU

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

تاريخ النشر: 21 تشرين الثاني (نوفمبر) 2024

تتطوّر مواصفات WebGPU باستمرار، حيث تجتمع شركات كبرى مثل Google وMozilla وApple وIntel وMicrosoft أسبوعيًا لمناقشة تطويرها. في اجتماع مجموعة العمل على الويب، قدّم أحدث إصدار من وحدة معالجة الرسومات لمحة عن الأهداف الرئيسية والميزات المخطّط لها في الإصدار التالي من WebGPU. يتناول هذا المقال على مدوّنتنا بعض النقاط الرئيسية التي تم استخلاصها من الاجتماع.

الوصول إلى حالة اقتراح المحتوى

كان التركيز الرئيسي في الاجتماع على مناقشة مستوى التقدّم في المعلم 0 ووضع اللمسات الأخيرة على المشاكل التي يجب معالجتها قبل أن يصل إلى حالة الاقتراح المرشح لمنظمة W3C. هذه هي الخطوة التالية في عملية وضع المعايير، وهي تقدّم ضمانات أقوى للثبات وحماية الملكية الفكرية.

اتّفق المشاركون في الاجتماع بشكل عام على أنّ هذه المشاكل ليست عائقًا وأنّه يمكن حلّها في الوقت المناسب، ما يُفسح المجال لاقتراح W3C المرشح بشأن WebGPU.

منح الأولوية للميزات الجديدة

حدّد المشاركون في الاجتماع أيضًا أولويات الميزات الجديدة. بدأ الفريق بإنشاء قائمة بطلبات الميزات التي تم جمعها من الملاحظات الواردة من المطوّرين والمنفذين وأصحاب المصلحة.

لوحة بيضاء تتضمّن قائمة مكتوبة بخط اليد بمصطلحات ذات صلة بواجهات برمجة تطبيقات رسومات الكمبيوتر، بما في ذلك "Bindless" و"Subgroups" و"MDI" و"Push Constants" و"UMA" و"Subgroup Matrix" وغيرها.

بعد المناقشة، تم تحديد الميزات الرئيسية التالية لواجهة برمجة التطبيقات WebGPU في مجال الذكاء الاصطناعي:

  • المجموعات الفرعية ومصفوفات المجموعات الفرعية: يمكنك السماح للتطبيق باستخدام اتصالات محلية سريعة بين سلاسل مهام وحدة معالجة الرسومات، والاستفادة من الأجهزة المخصّصة لضرب المصفوفات ذات الحجم الثابت بجانب نوى البرامج المشفّرة. اطّلِع على اقتراح المجموعات الفرعية.

  • مخازن عناصر البكسل: توفّر طريقة أكثر فعالية لتخزين أنواع البيانات الصغيرة والوصول إليها، مثل القيم ذات الـ 16 أو 8 بت، بطريقة قابلة للنقل. وهذا مهم لبعض خوارزميات معالجة الصور المستندة إلى الذكاء الاصطناعي. اطّلِع على شرائح مخزن وحدات البكسل.

  • تعيين وحدة تخزين مؤقت في UMA: تحسين أداء تحميل البيانات من خلال تقليل أو إزالة عمليات المزامنة والنسخ غير الضرورية راجِع المشكلة 2388 في المواصفات.

نحن ندرس أيضًا ميزات WebGPU التالية ونعطيها الأولوية من أجل إتاحة أنواع جديدة من خوارزميات العرض:

  • Bindless: هذا الاقتراح المُرتقب هو شرط أساسي لمعظم خوارزميات التقديم المتقدّمة لأنّها تحتاج إلى معلومات على مستوى المشهد. تتيح تقنية Bindless للتأثيرات استخدام عدد غير محدود من الموارد، بما في ذلك مواد النسيج، مقارنةً بالحدود الصارمة نسبيًا في الوقت الحالي.

  • الرسم المتعدّد غير المباشر: يتيح هذا الخيار للعمليات الحسابية السابقة على وحدة معالجة الرسومات إنشاء عمليات رسم متعددة بدلاً من عملية واحدة فقط باستخدام drawIndirect في السابق. وهي ميزة مهمة للعرض المستنِد إلى وحدة معالجة الرسومات، مثل إزالة الأجسام من خلال وحدة معالجة الرسومات. راجِع طلب سحب 2315.

  • العمليات الذرّية بسعة 64 بت: سواء في المخزن المؤقت أو في مواد النسيج، من الضروري إجراء "التحويل إلى شبكة بكسل باستخدام البرامج" على وحدة معالجة الرسومات، وذلك من خلال تجميع اختبار العمق وكتابة حمولة بسعة 32 بت في عملية atomicMax واحدة. راجِع المشكلة 4329.

لتحسين إمكانات WebGPU ودمجها مع منصة الويب الأوسع نطاقًا، تمت مناقشة ميزات WebGPU التالية:

  • وضع التوافق: يهدف هذا الوضع إلى تفعيل WebGPU على نطاق أوسع من الأجهزة، بما في ذلك الأجهزة التي تتوافق فقط مع OpenGL ES 3.1. اطّلِع على اقتراح وضع التوافق.

  • WebXR: يسمح هذا الإصدار لوحدة WebXR Layers الحالية بالتفاعل مع WebGPU من خلال توفير سلاسل تبديل WebGPU لكل نوع من أنواع الطبقات. اطّلِع على العروض التقديمية حول دمج WebGPU/WebXR.

  • Canvas2D: توفّر إمكانية تشغيل تفاعلي أفضل بين Canvas 2D وWebGPU، ما يعالج مشاكل الأداء وسهولة الاستخدام. سيسمح اقتراح نقل WebGPU هذا بالوصول إلى النص ورسم المسارات في WebGPU، وتطبيق ميزة التقديم في WebGPU على Canvas 2D.

وضمّ الاجتماع أيضًا عروضًا تقديمية ومناقشات حول الجهود المبذولة لتحسين أدوات WGSL والمكتبات. ومن بين المبادرات البارزة تطوير WESL (لغة التظليل الموسّعة WGSL) التي تهدف إلى توفير مجموعة من الإضافات التي تحدّدها مساهمات المجتمع إلى WGSL.

يمكنك العثور على مزيد من المعلومات في ملاحظات الاجتماعات الأوّلية.

ملاحظات

وقد سلّط هذا الاجتماع الضوء على أهمية التعاون بين مجموعة عمل WebGPU والمطوّرين ومجتمع الرسومات الأوسع نطاقًا في تشكيل مستقبل WebGPU. تسعى مجموعة العمل جاهدة للحصول على ملاحظات حول الميزات المقترَحة، وهي ملتزمة بالعمل مع المطوّرين لضمان تلبية WebGPU لاحتياجاتهم.

نتوقع أن تؤدي التطورات التالية في WebGPU إلى تحسين الأداء بشكل كبير، ما يتيح إمكانيات جديدة لرسومات الويب ويمكّن المطوّرين من إنشاء تجارب ويب أكثر تفاعلاً وجذبًا للذكاء الاصطناعي.