经过多年的开发,Chrome 团队发布了 WebGPU,它允许在网络上进行高性能 3D 图形和数据并行计算。
发布于 2023 年 4 月 6 日,星期四
Chrome 团队很高兴地宣布,WebGPU 现在默认在 Chrome 113 中可用,目前处于 Beta 通道。 WebGPU 是一种新的 Web 图形 API,它具有显着的优势,例如大大减少了相同图形的 JavaScript 工作量,以及机器学习模型推理的三倍以上改进。 这是可能的,因为更灵活的 GPU 编程和访问 WebGL 不提供的高级功能。
WebGPU 的初始版本可在 ChromeOS、macOS 和 Windows 上使用。 对其他平台的支持将于今年晚些时候推出。
#Web 图形的新曙光
WebGPU 是一种新的 Web API,它公开了现代硬件功能并允许在 GPU 上进行渲染和计算操作,类似于 Direct3D 12、Metal 和 Vulkan。 与 API 的 WebGL 系列不同,WebGPU 提供对更高级 GPU 功能的访问,并为 GPU 上的一般计算提供一流的支持。 该 API 的设计考虑了 Web 平台,具有惯用的 JavaScript API、与承诺的集成、对导入视频的支持以及带有大量错误消息的完善的开发人员体验。
WebGPU 的这个初始版本是未来更新和增强的构建块。 API 将提供更高级的图形功能,并鼓励开发人员发送对其他功能的请求。 Chrome 团队还计划提供对着色器核心的更深入访问,以便在 WGSL(WebGPU 着色语言)中进行更多的机器学习优化和额外的人体工程学。
WebGPU 是 W3C 的“Web GPU”社区组协作努力的结果,其中包括来自 Mozilla、Apple、Intel 和 Microsoft 等主要公司的贡献。 经过六年的发展(90 位贡献者,2000 次提交,3000 个问题),从 2017 年的初始设计开始,第一个实现现在可以在 Chrome 中使用,并正在支持 Firefox 和 Safari。
Chromium 的 Dawn 库和 Firefox 的 wgpu 库都可以作为独立包使用,它们提供了出色的可移植性和人体工程学层,可以抽象操作系统 GPU API。 在本机应用程序中使用这些库还可以更轻松地通过 Emscripten 和 Rust web-sys 移植到 WASM。
#浏览器支持 WebGPU 的初始版本可在支持 Vulkan 的 ChromeOS 设备、支持 Direct3D 12 的 Windows 设备和 macOS 的 Chrome 113 中使用。 Linux、Android 和对现有平台的扩展支持即将推出。
WebGPU 目前在 Firefox 和 Safari 中正在进行中,除了在 Chrome 中的初步实现之外。
Library support
Many widely used WebGL libraries are already in the process of implementing WebGPU support or have already done so. This means that using WebGPU may only require making a single line change:
- Babylon.js has full WebGPU support already, see demo.
- PlayCanvas announced initial WebGPU support.
- TensorFlow.js supports WebGPU-optimized versions of most operators.
- Three.js WebGPU support is underway, see examples.
#Resources
WebGPU is a significant technology, and we recommend the following resources to learn more:
- Check out the W3C specifications for WebGPU and WGSL.
- Experiment with samples and explore WGSL with a tour.
- Look at the MDN documentation.
- Read the official explainer and best practices.
- Learn about GPU compute and more.
#Acknowledgments
Many thanks to all Chromium contributors and especially to Intel folks for their invaluable support in making this possible.