WebGPU – Übersicht

François Beaufort
François Beaufort

WebGPU ist eine Webgrafik-API, die erhebliche Vorteile bietet, z. B. eine stark reduzierte JavaScript-Arbeitslast für dieselbe Grafik und mehr als dreimal Verbesserungen bei Inferenzen von ML-Modellen. Dies ist aufgrund der flexiblen GPU-Programmierung und des Zugriffs auf erweiterte Funktionen möglich, die WebGL nicht bietet.

Die API wurde im Hinblick auf die Webplattform entwickelt. Sie zeichnet sich durch eine idiomatische JavaScript-API, Einbindung von Promise, Unterstützung für den Import von Videos und eine ausgefeilte Entwicklererfahrung mit klaren Fehlermeldungen aus.

WebGPU ist das Ergebnis der Zusammenarbeit der "GPU for the Web" Community Group des W3C, zu der auch große Unternehmen wie Mozilla, Apple, Intel und Microsoft beigetragen haben.

Unterstützte Browser

Diese erste Version von WebGPU wurde in Chrome 113, auf ChromeOS-Geräten mit Vulkan-Unterstützung, auf Windows-Geräten mit Direct3D 12-Unterstützung und auf macOS-Geräten verfügbar gemacht. Linux und Android sowie eine erweiterte Unterstützung für bestehende Plattformen sind demnächst verfügbar.

WebGPU ist zusätzlich zur ursprünglichen Implementierung in Chrome noch in der Entwicklung für Firefox und Safari

Bibliotheksunterstützung

Viele weit verbreitete WebGL-Bibliotheken arbeiten bereits an der Implementierung der WebGPU-Unterstützung oder haben dies bereits getan. Das bedeutet, dass bei der Verwendung von WebGPU möglicherweise nur eine einzige Zeilenänderung erforderlich ist.

Sowohl die Dawn-Bibliothek für Chromium als auch die wgpu-Bibliothek für Firefox sind als eigenständiges Paket verfügbar. Sie bieten hervorragende Portabilität und ergonomische Schichten, die GPU-APIs des Betriebssystems abstrahieren. Die Verwendung dieser Bibliotheken in nativen Anwendungen erleichtert die Portierung zu WASM über Emscripten und Rust web-sys.

Ressourcen

WebGPU ist eine bedeutende Technologie. Wir empfehlen die folgenden Ressourcen, um mehr zu erfahren: