Descripción general de WebGPU

François Beaufort
François Beaufort

WebGPU es una API de gráficos web que ofrece beneficios significativos, como una carga de trabajo de JavaScript muy reducida para los mismos gráficos y mejoras de más de tres veces en las inferencias de modelos de aprendizaje automático. Esto es posible gracias a la programación flexible de GPU y el acceso a capacidades avanzadas que WebGL no proporciona.

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 mejorada para los desarrolladores con mensajes de error claros.

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.

Navegadores compatibles

Este lanzamiento 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 expandida de las plataformas existentes estarán disponibles próximamente.

WebGPU es un trabajo en curso para 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 hicieron. Esto significa que, para usar WebGPU, es posible que solo debas realizar un cambio de una sola línea.

  • Babylon.js es compatible por completo 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.
  • La compatibilidad con Three.js WebGPU está en curso. Consulta los ejemplos.

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

Recursos

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