ویژگی‌های جدید WebGPU (کروم ۱۵۱-۱۵۲)

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

منتشر شده: ۱۲ آگوست ۲۰۲۶

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

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

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

به مثال زیر و قصد ارسال (shipping) توجه کنید.

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.
  }`,
});

تشکر ویژه از شرکای ما در اینتل برای کار برجسته‌شان!

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

برای همسو شدن با مشخصات WebGPU ، خطاهای اعتبارسنجی برای dataOffset یا size در setImmediates به جای RangeError خطای OperationError ایجاد می‌کنند. به CL chromosome:7977566 مراجعه کنید.

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

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

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

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

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

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

کروم ۱۵۱-۱۵۲

کروم ۱۴۹-۱۵۰

کروم ۱۴۷-۱۴۸

کروم ۱۴۶

کروم ۱۴۵

کروم ۱۴۴

کروم ۱۴۳

کروم ۱۴۲

کروم ۱۴۱

کروم ۱۴۰

کروم ۱۳۹

کروم ۱۳۸

کروم ۱۳۷

کروم ۱۳۶

کروم ۱۳۵

کروم ۱۳۴

کروم ۱۳۳

کروم ۱۳۲

کروم ۱۳۱

کروم ۱۳۰

کروم ۱۲۹

کروم ۱۲۸

کروم ۱۲۷

کروم ۱۲۶

کروم ۱۲۵

کروم ۱۲۴

کروم ۱۲۳

کروم ۱۲۲

کروم ۱۲۱

کروم ۱۲۰

کروم ۱۱۹

کروم ۱۱۸

کروم ۱۱۷

کروم ۱۱۶

کروم ۱۱۵

کروم ۱۱۴

کروم ۱۱۳