A WebGPU é uma API gráfica da Web que oferece benefícios significativos, como carga de trabalho de JavaScript muito reduzida para os mesmos gráficos e mais de três vezes melhorias nas inferências de modelos de machine learning. Isso é possível devido à programação flexível da GPU e ao acesso a recursos avançados não fornecidos pelo WebGL.
A API foi desenvolvida pensando na plataforma da Web, com uma API idiomática de JavaScript, integração com promessas, suporte para importação de vídeos e uma experiência de desenvolvedor refinada 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 em macOS. Linux, Android e o suporte expandido para plataformas existentes será lançado em breve.
A WebGPU está em desenvolvimento para o Firefox e para 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 ou já fizeram o suporte à WebGPU. Isso significa que o uso da WebGPU pode exigir apenas uma única mudança de linha.
- O Babylon.js é totalmente compatível com a WebGPU.
- A PlayCanvas anunciou o suporte inicial à WebGPU.
- O TensorFlow.js oferece suporte às versões otimizadas para WebGPU da maioria dos operadores.
- A compatibilidade com a WebGPU da Three.js está em andamento. Consulte os exemplos.
As bibliotecas Dawn para Chromium e wgpu para Firefox estão disponíveis como pacote independente. Eles oferecem ótima portabilidade e camadas ergonômicas que abstraem as APIs da 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:
- Confira as especificações do W3C para WebGPU e WGSL.
- Teste exemplos e conheça a WGSL com um tour.
- Veja a documentação do MDN.
- Leia a explicação oficial e as práticas recomendadas.
- Saiba mais sobre a computação da GPU e muito mais.