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 más de tres veces en las inferencias de modelos de aprendizaje automático. Esto es posible gracias a la programación flexible de la GPU y al acceso a funciones avanzadas que WebGL no proporciona.
La API se diseñó teniendo en cuenta la plataforma web y cuenta con una API de JavaScript idiomática, integración con promesas, compatibilidad con la importación de videos y una experiencia de desarrollador pulida con mensajes de error claros.
WebGPU es el resultado de un esfuerzo colaborativo del grupo comunitario "GPU for the Web" del W3C, que incluye contribuciones de empresas importantes como Mozilla, Apple, Intel y Microsoft.
Navegadores compatibles
Esta versión inicial de WebGPU estuvo disponible en Chrome 113, en dispositivos ChromeOS con compatibilidad con Vulkan, dispositivos Windows con compatibilidad con Direct3D 12 y macOS. Pronto se admitirán Linux, Android y una compatibilidad expandida con las plataformas existentes.
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 de uso general ya están en proceso de implementar la compatibilidad con WebGPU o ya lo hicieron. Esto significa que usar WebGPU solo puede requerir un cambio de una sola línea.
- Babylon.js es totalmente compatible 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 con WebGPU está en curso; consulta los ejemplos.
La biblioteca Dawn para Chromium y la biblioteca wgpu para Firefox están disponibles como paquetes independientes. Ofrecen una gran portabilidad y capas ergonómicas que abstraen las APIs de la 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 te recomendamos los siguientes recursos para obtener más información:
- Consulta las especificaciones del W3C para WebGPU y WGSL.
- Experimenta con muestras y explora WGSL con un recorrido.
- Consulta la documentación de MDN.
- Lee la explicación y las prácticas recomendadas oficiales.
- Obtén información sobre el procesamiento de GPU y más.