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.
- Babylon.js bietet vollständige WebGPU-Unterstützung.
- PlayCanvas hat die anfängliche Unterstützung von WebGPU angekündigt.
- TensorFlow.js unterstützt WebGPU-optimierte Versionen der meisten Operatoren.
- Three.js-WebGPU wird unterstützt, siehe Beispiele.
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:
- Sie können sich die W3C-Spezifikationen für WebGPU und WGSL ansehen.
- Experimentiere mit Beispielen und entdecke WGSL bei einer Tour.
- Weitere Informationen finden Sie in der MDN-Dokumentation.
- Weitere Informationen finden Sie in der offiziellen Erklärung und den Best Practices.
- Weitere Informationen zu GPU-Computing und mehr.