Chrome envía WebGPU

Después de años de desarrollo, el equipo de Chrome envía WebGPU, que permite gráficos 3D de alto rendimiento y procesamiento paralelo de datos en la Web.

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

El equipo de Chrome se complace en anunciar que WebGPU ahora está disponible de forma predeterminada en Chrome 113, que actualmente se encuentra en el canal beta. WebGPU es una nueva API de gráficos web que ofrece beneficios significativos, como una enorme reducción de la carga de trabajo de JavaScript para los mismos gráficos y mejoras de más de tres veces en las inferencias del modelo de aprendizaje automático. Esto es posible gracias a una programación de GPU más flexible y al acceso a funciones avanzadas que WebGL no proporciona.

Esta versión inicial de WebGPU está disponible en ChromeOS, macOS y Windows. La compatibilidad con otras plataformas se lanzará más adelante este año.

Un nuevo amanecer para los gráficos web

WebGPU es una nueva API para la Web, que expone capacidades de hardware modernas y permite realizar operaciones de procesamiento y procesamiento en una GPU, similar a Direct3D 12, Metal y Vulkan. A diferencia de la familia de APIs de WebGL, WebGPU ofrece acceso a funciones de GPU más avanzadas y proporciona asistencia de primera clase para cálculos generales en la GPU. La API está diseñada con la plataforma web en mente, con una API idiomática de JavaScript, integración con promesas, compatibilidad con la importación de videos y una experiencia de desarrollador prolija con mensajes de error muy útiles.

Esta versión inicial de WebGPU sirve como componente para futuras actualizaciones y mejoras. La API ofrecerá funciones de gráficos más avanzadas, y se recomienda a los desarrolladores que envíen solicitudes para obtener funciones adicionales. El equipo de Chrome también planea proporcionar un acceso más profundo a los núcleos de sombreadores para obtener aún más optimizaciones de aprendizaje automático y ergonomía adicional en WGSL, el sombreador de WebGPU.

WebGPU es el resultado de un esfuerzo colaborativo del grupo comunitario "GPU para la Web" de W3C, que incluye contribuciones de grandes empresas, como Mozilla, Apple, Intel y Microsoft. Después de seis años de desarrollo (90 colaboradores, 2,000 confirmaciones y 3,000 problemas), desde el diseño inicial en 2017, la primera implementación ya está disponible en Chrome, y la compatibilidad con Firefox y Safari está en curso.

Tanto la biblioteca Dawn para Chromium como la biblioteca wgpu para Firefox están disponibles como paquetes independientes y ofrecen una gran portabilidad y capas ergonómicas que abstraen las APIs de GPU del SO. El uso de estas bibliotecas en aplicaciones nativas también facilita la portabilidad de WASM a través de Emscripten y web-sys de Rust.

Navegadores compatibles

Esta versión inicial de WebGPU está disponible en Chrome 113 en dispositivos ChromeOS compatibles con Vulkan, dispositivos Windows compatibles con Direct3D 12 y macOS. Linux, Android y la compatibilidad ampliada con plataformas existentes estarán disponibles próximamente.

WebGPU es un trabajo en curso en Firefox y Safari, además de la implementación inicial en Chrome.

Compatibilidad con bibliotecas

Muchas bibliotecas de WebGL ampliamente usadas ya están en proceso de implementación de la compatibilidad con WebGPU o ya lo han hecho. Esto significa que, para usar WebGPU, es posible que solo debas realizar un cambio de una sola línea:

  • Babylon.js ya tiene compatibilidad total con WebGPU.
  • PlayCanvas anunció la compatibilidad inicial con WebGPU.
  • TensorFlow.js es compatible con las versiones optimizadas para WebGPU de la mayoría de los operadores.
  • Se está trabajando en la compatibilidad con Three.js WebGPU. Consulta los ejemplos.

Recursos

WebGPU es una tecnología importante, por lo que recomendamos los siguientes recursos para obtener más información:

Agradecimientos

Muchas gracias a todos los colaboradores de Chromium y en especial a los expertos en Intel por su invaluable apoyo para que esto sea posible.