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正式發布之前,先在自己的電腦上測試,並提供官方改進的建議。

熱門新聞

Advertisement