Visão geral da WebGPU

François Beaufort
François Beaufort

A WebGPU é uma API de gráficos da Web que oferece benefícios significativos, como a redução da carga de trabalho do JavaScript para os mesmos gráficos e melhorias mais de três vezes nas inferências do modelo de aprendizado de máquina. Isso é possível devido à programação flexível de GPU e ao acesso a recursos avançados que a WebGL não oferece.

A API foi projetada pensando na plataforma da Web, apresentando uma API JavaScript idiomatic, integração com promessas, suporte à importação de vídeos e uma experiência de desenvolvedor aprimorada com mensagens de erro claras.

A WebGPU é o resultado de um esforço colaborativo do Grupo da comunidade "GPU for the Web" do W3C, que inclui contribuições de grandes empresas como Mozilla, Apple, Intel e Microsoft.

Suporte ao navegador

Essa versão inicial da WebGPU foi disponibilizada no Chrome 113, em dispositivos ChromeOS com suporte a Vulkan, dispositivos Windows com suporte a Direct3D 12 e macOS. O suporte para Linux, Android e plataformas existentes será expandido em breve.

O WebGPU é um trabalho em andamento para o Firefox e o Safari, além da implementação inicial no Chrome.

Suporte à biblioteca

Muitas bibliotecas WebGL amplamente usadas já estão em processo de implementação do suporte à WebGPU ou já o fizeram. Isso significa que o uso da WebGPU pode exigir apenas uma mudança de linha.

  • O Babylon.js tem suporte total à WebGPU.
  • O PlayCanvas anunciou o suporte inicial à WebGPU.
  • O TensorFlow.js oferece suporte a versões otimizadas para WebGPU da maioria dos operadores.
  • O suporte do Three.js para WebGPU está em andamento. Confira exemplos.

A biblioteca Dawn para Chromium e a wgpu para Firefox estão disponíveis como pacotes independentes. Elas oferecem ótima portabilidade e camadas ergonômicas que abstrai APIs de GPU do sistema operacional. O uso dessas bibliotecas em aplicativos nativos facilita a portabilidade para o WASM usando Emscripten e Rust web-sys.

Recursos

A WebGPU é uma tecnologia importante, e recomendamos os seguintes recursos para saber mais: