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 na Web.

François Beaufort
François Beaufort

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

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

Uma nova era para os gráficos da Web

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

Essa versão inicial da WebGPU serve como um elemento básico para atualizações e melhorias futuras. A API vai oferecer recursos gráficos mais avançados, e os desenvolvedores podem enviar solicitações de mais recursos. A equipe do Chrome também planeja fornecer acesso mais profundo aos núcleos de sombreador para gerar ainda mais otimizações de aprendizado de máquina e ergonomia adicional na WGSL, a WebGPU Shading Language.

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. Após seis anos de desenvolvimento (90 colaboradores, 2.000 confirmações, 3.000 problemas), a primeira implementação foi disponibilizada no Chrome, com suporte para Firefox e Safari em andamento.

As bibliotecas Dawn para Chromium e wgpu (links em inglês) 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 por meio do Emscripten e do 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, em dispositivos Windows com suporte a Direct3D 12 e em macOS. Linux, Android e a compatibilidade expandida para plataformas existentes será lançada em breve.

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

Suporte à biblioteca

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

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

Recursos

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

Agradecimentos

Agradecemos a todos os colaboradores do Chromium e, especialmente, ao pessoal da Intel pelo inestimável apoio para tornar isso possível.