Skip to content

WebGPU

Коротко:

WebGPU — новый web-стандарт (W3C, финализирован 2023) для работы с GPU в браузере. Заменяет WebGL 2.0, добавляет compute shaders (ML inference, physics), нативно мапится на Vulkan/Metal/Direct3D 12. Shading language: WGSL (не GLSL). Поддержка: Chrome 113+, Safari 17+ (iOS 18), Firefox 141+ (флаг). Production: WebLLM, TensorFlow.js GPU backend.

Ниже: подробности, пример, смежные термины, FAQ.

Попробовать бесплатно →

Детали

  • Compute shaders — ML-inference прямо в браузере (WebLLM, ONNX Runtime Web)
  • WGSL — type-safe shading language, компилируется в native shader backend
  • Async pipeline creation, explicit resource barriers
  • Command buffers записываются один раз, переиспользуются
  • Limits API: запрашивайте required features, иначе runtime-fallback

Пример

// WebGPU — минимальный compute shader
const adapter = await navigator.gpu.requestAdapter();
const device = await adapter.requestDevice();
const shader = device.createShaderModule({ code: /* WGSL */ `
  @compute @workgroup_size(64)
  fn main(@builtin(global_invocation_id) id: vec3<u32>) {
    // parallel work here
  }
`});

Связанные термины

Больше по теме

Часто задаваемые вопросы

WebGPU vs WebGL?

WebGL — только graphics. WebGPU добавляет compute shaders + лучший memory model, зеркалит современные backend API.

Можно ли уже использовать?

Для progressive enhancement — да (Chrome 113+). Для production-critical workloads — ждите Firefox stable (2026).

ML в браузере?

WebLLM гоняет Llama-7B на RTX 3060 с WebGPU в 20-30 tokens/sec. Не лучше server-side, но удобно для приватных задач.