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 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: