O Chrome vem com a WebGPU

Após anos de desenvolvimento, a equipe do Chrome lançou a WebGPU, que permite gráficos 3D de alto desempenho e computação paralela de dados na Web.

François Beaufort
François Beaufort
Corentin Wallez
Corentin Wallez

A equipe do Chrome tem o prazer de anunciar que o WebGPU agora está disponível por padrão no Chrome 113, que está no canal Beta. A WebGPU é uma nova 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 de modelos de machine learning. Isso é possível devido à programação mais flexível da GPU e ao acesso a recursos avançados que a WebGL não oferece.

Essa versão inicial do WebGPU está disponível no ChromeOS, macOS e Windows. O suporte para outras plataformas será lançado ainda este ano.

Uma nova era para gráficos da Web

A WebGPU é uma nova API para a Web que expõe recursos de hardware modernos e permite operações de renderização e computação em uma GPU, semelhante ao Direct3D 12, Metal e Vulkan. Ao contrário da família de APIs WebGL, a WebGPU oferece acesso a recursos de GPU mais avançados e oferece suporte de primeira classe para cálculos gerais na GPU. A API foi projetada pensando na plataforma da Web, apresentando uma API JavaScript idiomática, integração com promessas, suporte à importação de vídeos e uma experiência de desenvolvedor aprimorada com ótimas mensagens de erro.

Essa versão inicial da WebGPU serve como um bloco de construção para atualizações e melhorias futuras. A API vai oferecer recursos gráficos mais avançados, e os desenvolvedores são incentivados a enviar solicitações de recursos adicionais. A equipe do Chrome também planeja oferecer acesso mais profundo a cores de sombreamento para mais otimizações de aprendizado de máquina e ergonomia adicional no WGSL, a linguagem de sombreamento da WebGPU.

A WebGPU é o resultado de um esforço colaborativo do Grupo de Comunidade "GPU para a Web" do W3C, que inclui contribuições de grandes empresas como Mozilla, Apple, Intel e Microsoft. Após seis anos de desenvolvimento (90 colaboradores, 2.000 confirmações e 3.000 problemas), desde o design inicial em 2017, a primeira implementação agora está disponível no Chrome, com suporte para Firefox e Safari em andamento.

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

Suporte ao navegador

Essa versão inicial da WebGPU está disponível 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 atuais será expandido em breve.

O WebGPU está em desenvolvimento no Firefox e no Safari, além da implementação inicial no Chrome.

Suporte à biblioteca

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

  • O Babylon.js já 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.

Recursos

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

Agradecimentos

Agradecemos a todos os colaboradores do Chromium e, em especial, à Intel pelo apoio valioso para tornar isso possível.