Cloudflare宣布在其无服务器运算服务Workers,添加低端GPU程序设计接口WebGPU支持。这使得Workers能够运用GPU来加速机器学习、2D/3D图形渲染,以及其他通用GPU运算任务。如此用户便可以在云计算环境,高效地执行GPU密集型任务,并且通过WebGPU,确保在不同平台和浏览器能够使用一致的程序代码。

WebGPU与DirectX、OpenGL一样都是绘图API,也都提供了一个框架和方法,让开发者能够低端地直接操作GPU,以创建2D/3D图形或是进行通用运算。不过,WebGPU较注重网页和跨平台环境,与过去同样要在浏览器,提供2D/3D图形运算的高端JavaScript API WebGL不同,WebGPU让开发者能够更好地控制GPU资源。

WebGPU还可以利用多线程进行渲染和运算工作,与依赖单线程的WebGL不同,因此能够提高CPU/GPU的并行计算能力。WebGPU的可移植性更高,WGSL着色器语言的支持性跨各GPU供应商,具有更好的标准化特性,开发者可以在不同的硬件和平台上执行相同的程序代码,而且WGSL着色器语言还可当作是运算着色器,执行通用运算。

因此通过统一且低端的WebGPU,不仅可用于渲染图形还支持通用运算,开发者可以通过WebGPU运用GPU的运算能力,加速机器学习、物理模拟和数据处理等工作。这种并行计算能力和可移植性,让WebGPU成为现代网络应用和游戏的有力开发工具。

而Cloudflare便是看上了WebGPU这些优点,在Workers上支持WebGPU。Cloudflare Workers是一个服务器端执行环境,供开发者在Cloudflare全球网络上,执行JavaScript和WebAssembly程序代码,借由尽可能将程序部署在靠近用户的网络节点,提供高性能和低延迟的服务。

Cloudflare Workers会通过能够存储和管理持久状态的Durable Objects,来保持请求之间的状态,确保只有在具有GPU资源的服务器上,实例化使用WebGPU的Durable Object,以解决部分Cloudflare服务器没有GPU的问题,同时也能够在不同请求间保持一致的状态。

官方认为,WebGPU的通用运算优势刚好适合Workers生态系和能力,可以将GPU工作负载引入到Cloudflare的全球网络中。Cloudflare发布了一个新版本的Workers开源执行环境workerd开始支持WebGPU,开发者现在已经能够在本地端开发和执行WebGPU应用程序,并在Cloudflare正式发布之前,先在自己的计算机上测试,并提供官方改进的建议。