Overzicht van WebGPU

François Beaufort
François Beaufort

WebGPU is een webgraphics-API die aanzienlijke voordelen biedt, zoals een sterk verminderde JavaScript-werklast voor dezelfde grafische afbeeldingen en meer dan drie keer verbeteringen in de gevolgtrekkingen van machine learning-modellen. Dit is mogelijk dankzij flexibele GPU-programmering en toegang tot geavanceerde mogelijkheden die WebGL niet biedt.

De API is ontworpen met het webplatform in gedachten, met een idiomatische JavaScript-API, integratie met beloftes, ondersteuning voor het importeren van video's en een gepolijste ontwikkelaarservaring met duidelijke foutmeldingen.

WebGPU is het resultaat van een gezamenlijke inspanning van de W3C's "GPU for the Web" Community Group , waarin bijdragen zijn opgenomen van grote bedrijven als Mozilla, Apple, Intel en Microsoft.

Browser-ondersteuning

Deze eerste release van WebGPU is beschikbaar gemaakt in Chrome 113, op ChromeOS-apparaten met Vulkan-ondersteuning, Windows-apparaten met Direct3D 12-ondersteuning en macOS. Linux, Android en uitgebreide ondersteuning voor bestaande platforms komen binnenkort.

WebGPU is een work-in-progress voor Firefox en Safari , naast de initiële implementatie in Chrome.

Ondersteuning van de bibliotheek

Veel veelgebruikte WebGL-bibliotheken zijn al bezig met het implementeren van WebGPU-ondersteuning of hebben dit al gedaan. Dit betekent dat het gebruik van WebGPU mogelijk slechts één regelwijziging vereist.

  • Babylon.js heeft volledige WebGPU-ondersteuning.
  • PlayCanvas heeft initiële WebGPU-ondersteuning aangekondigd.
  • TensorFlow.js ondersteunt voor WebGPU geoptimaliseerde versies van de meeste operators.
  • Ondersteuning voor Three.js WebGPU wordt uitgevoerd, zie voorbeelden .

Zowel de Dawn- bibliotheek voor Chromium als de wgpu- bibliotheek voor Firefox zijn beschikbaar als zelfstandig pakket. Ze bieden geweldige draagbaarheid en ergonomische lagen die de GPU-API's van het besturingssysteem abstraheren. Het gebruik van deze bibliotheken in native applicaties maakt het gemakkelijker om naar WASM te porten via Emscripten en Rust web-sys .

Bronnen

WebGPU is een belangrijke technologie en we raden de volgende bronnen aan voor meer informatie: