WebGPU

Prefacio

Los entornos de programación web actuales se han vuelto más versátiles para realizar tareas que van más allá de la navegación web. El desarrollo de programas web eficientes para una gama tan amplia de aplicaciones plantea diversos desafíos a la comunidad de programación. Las aplicaciones presentan diversos comportamientos de carga de trabajo, desde aquellos que requieren un uso intensivo de control (p. ej., búsqueda, ordenación y análisis) hasta aquellos que requieren un uso intensivo de datos (p. ej., gráficos 3D, procesamiento de imágenes, simulaciones y minería de datos). Las aplicaciones web también pueden caracterizarse por su alto consumo de recursos computacionales (p. ej., métodos iterativos, métodos numéricos y modelado financiero), donde el rendimiento general de la aplicación web depende en gran medida de la eficiencia computacional del hardware subyacente. Por supuesto, ninguna arquitectura es la mejor para ejecutar todo tipo de cargas de trabajo, y la mayoría de las aplicaciones poseen una combinación de características de carga de trabajo. Por ejemplo, las aplicaciones con un uso intensivo de control tienden a ejecutarse más rápido en la CPU, mientras que las aplicaciones con un uso intensivo de datos tienden a hacerlo en arquitecturas masivamente paralelas (como la GPU), donde la misma operación se aplica a múltiples elementos de datos simultáneamente. Para ampliar y dar soporte a estas diversas clases de carga de trabajo, de modo que las aplicaciones basadas en navegador no se vieran obstaculizadas, fue necesario desarrollar una nueva generación de API (lo que abrió la puerta a los desarrolladores para que pudieran acceder a la potencia del nuevo hardware y las nuevas tecnologías). Un ejemplo de esto es la API WebGPU, que expone las capacidades del hardware de GPU para la web. Este texto está diseñado para ayudarte a comenzar a usar la API WebGPU, a la vez que comprendes su funcionamiento y sus razones para crear tus propias soluciones. El material de este libro está diseñado para enseñarte la nueva API WebGPU para gráficos y técnicas de computación sin necesidad de conocimientos previos. Solo necesitas algo de experiencia en JavaScript y, preferiblemente, conocimientos de trigonometría básica. Tanto si eres nuevo en el desarrollo de gráficos y computación como si eres un experto, todo el mundo tiene que empezar por algún sitio. En general, esto significa comenzar con lo básico, que es el enfoque de este curso. Aprenderás mediante ejercicios prácticos sencillos y fáciles de aprender que te ayudarán a dominar el tema. Esto se logra mediante múltiples actividades y debates basados ​​en tareas que se complementan y complementan entre sí.

  • Comprenda los principios básicos de la API WebGPU
  • Conéctese con los principios computacionales y gráficos
  • Familiarícese con los métodos de la API de WebGPU
  • Cree aplicaciones gráficas y computacionales utilizando JavaScript y la API WebGPU
  • Utilizar y comprender la comunicación entre aplicaciones y sombreadores y las transferencias de datos.
  • Aprenda sobre el lenguaje de sombreado WGSL

Aprenderá a aprovechar la API de WebGPU para crear aplicaciones web interesantes y útiles. Este texto le ofrecerá varios ejemplos que podrá probar y ejecutar para ayudarle a comprender el verdadero potencial de la API de WebGPU. Esperamos que, después de leer este texto, comprenda la API de WebGPU y continúe explorando y aprovechando sus beneficios.