WebGPU ist eine Webgrafik-API, die erhebliche Vorteile bietet, z. B. eine stark reduzierte JavaScript-Arbeitslast für dieselben Grafiken und mehr als dreimal bessere Inferenzen von Modellen für maschinelles Lernen. Dies ist auf die flexible GPU-Programmierung und den Zugriff auf erweiterte Funktionen zurückzuführen, die WebGL nicht bietet.
Die API wurde speziell für die Webplattform entwickelt und bietet eine idiomatische JavaScript API, die Einbindung von Promises, Unterstützung für den Import von Videos und eine ausgefeilte Entwicklererfahrung mit klaren Fehlermeldungen.
WebGPU ist das Ergebnis einer gemeinsamen Anstrengung der Community-Gruppe „GPU for the Web“ des W3C, die Beiträge von großen Unternehmen wie Mozilla, Apple, Intel und Microsoft umfasst.
Unterstützte Browser
Diese erste Version von WebGPU wurde in Chrome 113 auf ChromeOS-Geräten mit Vulkan-Unterstützung, Windows-Geräten mit Direct3D 12-Unterstützung und macOS-Geräten verfügbar gemacht. Linux, Android sowie eine erweiterte Unterstützung für bestehende Plattformen ist demnächst verfügbar.
WebGPU ist neben der ursprünglichen Implementierung in Chrome auch für Firefox und Safari in der Entwicklung.
Bibliotheksunterstützung
Für viele weit verbreitete WebGL-Bibliotheken ist die Implementierung der WebGPU-Unterstützung bereits in vollem Gange oder wurde bereits abgeschlossen. Das bedeutet, dass für die Verwendung von WebGPU möglicherweise nur eine einzige Zeile geändert werden muss.
- Babylon.js unterstützt WebGPU vollständig.
- PlayCanvas hat die anfängliche Unterstützung von WebGPU angekündigt.
- TensorFlow.js unterstützt WebGPU-optimierte Versionen der meisten Operatoren.
- Die WebGPU-Unterstützung für Three.js ist in Arbeit. 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 eine hohe Portabilität und ergonomische Ebenen, die GPU-APIs des Betriebssystems abstrahieren. Wenn Sie diese Bibliotheken in nativen Anwendungen verwenden, lässt sich die Umstellung auf WASM über Emscripten und Rust web-sys einfacher durchführen.
Ressourcen
WebGPU ist eine wichtige Technologie. Weitere Informationen finden Sie unter den folgenden Links:
- Weitere Informationen finden Sie in den W3C-Spezifikationen für WebGPU und WGSL.
- Experimentieren Sie mit Beispielen und lernen Sie WGSL mit einer Demo kennen.
- Weitere Informationen finden Sie in der MDN-Dokumentation.
- Lesen Sie die offizielle Erläuterung und die Best Practices.
- Weitere Informationen zu GPU-Computing und weitere Informationen