Na jaren van ontwikkeling levert het Chrome-team WebGPU, waarmee krachtige 3D-graphics en gegevensparallelle berekeningen op internet mogelijk zijn.
Het Chrome-team is verheugd te kunnen aankondigen dat WebGPU nu standaard beschikbaar is in Chrome 113, dat zich momenteel in het bètakanaal bevindt. WebGPU is een nieuwe 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 flexibelere GPU-programmering en toegang tot geavanceerde mogelijkheden die WebGL niet biedt.
Deze eerste release van WebGPU is beschikbaar op ChromeOS, macOS en Windows. Ondersteuning voor andere platforms komt later dit jaar.
Een nieuwe dageraad voor webgraphics
WebGPU is een nieuwe API voor het web, die moderne hardwaremogelijkheden blootlegt en weergave- en berekeningsbewerkingen op een GPU mogelijk maakt, vergelijkbaar met Direct3D 12, Metal en Vulkan. In tegenstelling tot de WebGL-familie van API's biedt WebGPU toegang tot meer geavanceerde GPU-functies en eersteklas ondersteuning voor algemene berekeningen op de GPU. 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 geweldige foutmeldingen.
Deze eerste release van WebGPU dient als bouwsteen voor toekomstige updates en verbeteringen. De API zal meer geavanceerde grafische functies bieden, en ontwikkelaars worden aangemoedigd om verzoeken voor aanvullende functies in te dienen. Het Chrome-team is ook van plan diepere toegang te bieden tot shader cores voor nog meer machine learning-optimalisaties en extra ergonomie in WGSL, de WebGPU Shading Language.
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. Na zes jaar ontwikkeling ( 90 bijdragers, 2000 commits, 3000 uitgaven ), vanaf het oorspronkelijke ontwerp in 2017, is de eerste implementatie nu beschikbaar in Chrome, met ondersteuning voor Firefox en Safari.
Zowel de Dawn- bibliotheek voor Chromium als de wgpu- bibliotheek voor Firefox zijn beschikbaar als zelfstandige pakketten, en ze bieden geweldige draagbaarheid en ergonomische lagen die OS GPU-API's abstraheren. Het gebruik van deze bibliotheken in native applicaties maakt het ook gemakkelijker om naar WASM te porten via Emscripten en Rust web-sys .
Browser-ondersteuning
Deze eerste release van WebGPU is beschikbaar 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 zullen binnenkort beschikbaar zijn.
WebGPU is een work-in-progress in 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 al volledige WebGPU-ondersteuning.
- PlayCanvas heeft initiële WebGPU-ondersteuning aangekondigd.
- TensorFlow.js ondersteunt voor WebGPU geoptimaliseerde versies van de meeste operators.
- Three.js WebGPU-ondersteuning is onderweg, zie voorbeelden .
Bronnen
WebGPU is een belangrijke technologie en we raden de volgende bronnen aan voor meer informatie:
- Bekijk de W3C-specificaties voor WebGPU en WGSL .
- Experimenteer met samples en verken WGSL met een rondleiding .
- Bekijk de MDN-documentatie .
- Lees de officiële uitleg en best practices .
- Leer meer over GPU-computing en meer .
Dankbetuigingen
Hartelijk dank aan alle Chromium-bijdragers en vooral aan Intel-mensen voor hun onschatbare steun om dit mogelijk te maken.