1.4 WebGPU vs WebGL
Las GPU entienden los problemas computacionales en términos de primitivas gráficas, los primeros esfuerzos para usar las GPU como procesadores de propósito general requirieron reformular los problemas computacionales en el lenguaje de las tarjetas gráficas. Afortunadamente, ahora es mucho más fácil hacer computación acelerada por GPU gracias a la nueva API WebGPU. Esta nueva API permite a los desarrolladores ignorar la barrera del lenguaje que existe entre la CPU y la GPU y, en cambio, enfocarse en los conceptos de computación de nivel superior. Inicialmente, se lanzó WebGL, que rápidamente se convirtió en la API dominante para soluciones de GPU basadas en web. La API fue diseñada para acelerar la creación de imágenes para la salida a un dispositivo de visualización, lo cual era bueno en ese momento. La API WebGL ayudó a los desarrolladores a acelerar drásticamente las aplicaciones gráficas al aprovechar la potencia de las GPU. Por supuesto, usar la API para aplicaciones no gráficas fue un problema. Los desarrolladores necesitaban tener habilidades en programación gráfica para manipular y controlar la API WebGL para crear soluciones computacionales (por ejemplo, almacenar datos computacionales en texturas, realizar los cálculos y luego leer el resultado). La API WebGPU cambia todo eso: ahora, los desarrolladores podrán comenzar a crear aplicaciones web aceleradas por GPU que se centren exclusivamente en problemas de “computación” (sin necesidad de conocimientos gráficos). A medida que las tecnologías han ido cambiando a lo largo de las décadas, WebGL ha intentado seguir siendo compatible con los diseños existentes. La API WebGPU es un diseño nuevo que permite a los desarrolladores obtener más acceso a hardware y recursos de bajo nivel para mejorar el rendimiento, la aceleración y el control. De este modo, las aplicaciones basadas en la web pueden alcanzar un nuevo nivel superior.