WebGPU è un'API per grafica web che offre vantaggi significativi, come un carico di lavoro JavaScript notevolmente ridotto per la stessa grafica e miglioramenti più di tre volte nelle inferenze del modello di machine learning. Ciò è possibile grazie alla programmazione flessibile delle GPU e all'accesso a funzionalità avanzate non fornite da WebGL.
L'API è progettata per la piattaforma web, con un'API JavaScript idiomatica, integrazione con promesse, supporto per l'importazione di video e un'esperienza sviluppatore raffinata con messaggi di errore chiari.
WebGPU è il risultato di uno sforzo collaborativo del "GPU for the Web" Community Group di W3C, che include il contributo di importanti aziende quali Mozilla, Apple, Intel e Microsoft.
Supporto del browser
Questa release iniziale di WebGPU è stata resa disponibile in Chrome 113, sui dispositivi ChromeOS con supporto Vulkan, sui dispositivi Windows con supporto Direct3D 12 e macOS. Linux, Android e il supporto esteso per le piattaforme esistenti saranno disponibili a breve.
WebGPU è ancora in fase di sviluppo per Firefox e Safari, oltre all'implementazione iniziale in Chrome.
Assistenza per le biblioteche
Molte librerie WebGL di ampio utilizzo stanno già implementando il supporto di WebGPU o lo hanno già fatto. Ciò significa che l'utilizzo di WebGPU potrebbe richiedere una sola modifica di riga.
- Babylon.js dispone del supporto completo per WebGPU.
- PlayCanvas ha annunciato il supporto iniziale di WebGPU.
- TensorFlow.js supporta le versioni ottimizzate per WebGPU della maggior parte degli operatori.
- È in corso il supporto di Three.js WebGPU. Vedi esempi.
Sia la libreria Dawn per Chromium che la libreria wgpu per Firefox sono disponibili come pacchetti autonomi. Offrono un'ottima portabilità e livelli ergonomici che astraggono le API GPU del sistema operativo. L'utilizzo di queste librerie nelle applicazioni native semplifica il trasferimento a WASM tramite Emscripten e Rust web-sys.
Risorse
WebGPU è una tecnologia significativa. Per saperne di più, consigliamo le seguenti risorse:
- Consulta le specifiche W3C per WebGPU e WGSL.
- Fai esperimenti con gli esempi ed esplora WGSL con un tour.
- Consulta la documentazione di MDN.
- Leggi il spiegazione ufficiale e le best practice.
- Scopri di più sull'elaborazione GPU e altro ancora.