ویژگی‌های جدید WebGPU (Chrome 151-152)

François Beaufort
François Beaufort

منتشرشده: ۱۲ اوت ۲۰۲۶

کنترل اندازه زیرگروه

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

برای استفاده از کنترل اندازه زیرگروه در WGSL، بررسی کنید که ویژگی «subgroup-size-control» در GPUAdapter دردسترس باشد، سپس GPUDevice را با فعال بودن این ویژگی درخواست کنید. در کد WGSL، به‌طور صریح enable subgroups; و enable subgroup_size_control; را اضافه کنید. سپس می‌توانید مشخصه @subgroup_size را اعلام کنید تا تضمین کنید که سایه‌زن محاسباتی در اندازه زیرگروه خاصی (که باید توان ۲ باشد) در محدوده subgroupMinSize و subgroupMaxSize ارائه‌شده توسط آداپتور اجرا می‌شود و @builtin(subgroup_size) را برای مطابقت تنظیم کنید. بدون این مشخصه، اندازه زیرگروه به‌صورت پویا توسط درایور GPU انتخاب می‌شود و قبل‌از اجرا ناشناخته باقی می‌ماند.

مثال زیر و قصد ارسال را ببینید.

const adapter = await navigator.gpu.requestAdapter();
if (!adapter.features.has("subgroup-size-control")) {
  throw new Error("Subgroup size control support is not available");
}
// Explicitly request subgroup size control support.
const device = await adapter.requestDevice({
  requiredFeatures: ["subgroup-size-control"],
});

const shaderModule = device.createShaderModule({ code: `
  enable subgroups;
  enable subgroup_size_control;

  @subgroup_size(32)
  @compute @workgroup_size(64, 1, 1)
  fn main(@builtin(subgroup_invocation_id) sg_id : u32,
          @builtin(subgroup_size) sg_size : u32) {
     // TODO: Compute shader logic using specific subgroup size.
  }`,
});

از شرکای خود در Intel به‌خاطر کار فوق‌العاده‌شان سپاس‌گزاریم!

‫OperationError برای خطاهای اعتبارسنجی setImmediates

برای هماهنگی با مشخصات WebGPU، درصورت ناموفق بودن اعتبارسنجی برای dataOffset یا size در setImmediates، به‌جای RangeError، OperationError ایجاد می‌شود. ‫CL chromium:7977566 را ببینید.

به‌روزرسانی‌های سپیده‌دم

پشتیبانی آزمایشی از قالب رأس snorm10-10-10-2 در پشت کلید «allow_unsafe_apis» دردسترس است. قالب wgpu::VertexFormat::Snorm10_10_10_2 نشان‌دهنده بردار چهار مؤلفه‌ای است که دارای اعداد صحیح نرمال‌شده علامت‌دار ۱۰ بیتی برای کانال‌های RGB و مؤلفه آلفای ۲ بیتی است. مشکل dawn:536160421 را ببینید.

‫OpenGL اکنون از پیوست‌های گذرا برای قالب‌های بافت حاوی عمق یا شابلون پشتیبانی می‌کند. مشکل dawn:462577182 را ببینید.

این فقط برخی‌از نکات برجسته کلیدی را پوشش می‌دهد. فهرست کامل تعهدات را بررسی کنید.

ویژگی‌های جدید WebGPU

فهرستی از همه مواردی که در مجموعه ویژگی‌های جدید WebGPU پوشش داده شده است.

‫۱۵۵-۱۵۶ Chrome

‫۱۵۳-۱۵۴ Chrome

Chrome 151-152

‫۱۴۹-۱۵۰ Chrome

‫۱۴۷-۱۴۸ Chrome

‫۱۴۶ Chrome

‫Chrome 145

‫۱۴۴ Chrome

‫۱۴۳ Chrome

‫۱۴۲ Chrome

Chrome 141

‫۱۴۰ Chrome

Chrome 139

‫Chrome 138

Chrome 137

‫Chrome 136

‫۱۳۵ Chrome

‫۱۳۴ Chrome

‫Chrome 133

‫۱۳۲ Chrome

‫۱۳۱ Chrome

‫Chrome 130

‫Chrome 129

‫Chrome 128

‫Chrome 127

‫Chrome 126

‫Chrome 125

‫Chrome 124

‫Chrome 123

‫Chrome 122

Chrome 121

‫Chrome 120

‫Chrome 119

‫Chrome 118

Chrome 117

‫Chrome 116

‫Chrome 115

Chrome 114

‫Chrome 113