WebGPU è un'API di grafica web che offre vantaggi significativi, come un carico di lavoro JavaScript notevolmente ridotto per la stessa grafica e miglioramenti più che tripli delle inferenze dei modelli di machine learning. Ciò è possibile grazie alla programmazione flessibile della GPU e all'accesso a funzionalità avanzate che WebGL non fornisce.
L'API è progettata pensando alla piattaforma web e offre un'API JavaScript idiomatica, l'integrazione con le promesse, il supporto per l'importazione dei video e un'esperienza utente raffinata con messaggi di errore chiari.
WebGPU è il risultato di uno sforzo collaborativo del gruppo della community "GPU per il web" del W3C, che include contributi di importanti aziende come Mozilla, Apple, Intel e Microsoft.
Supporto browser
Questa versione iniziale di WebGPU è stata resa disponibile in Chrome 113, sui dispositivi ChromeOS con supporto Vulkan, sui dispositivi Windows con supporto Direct3D 12 e su macOS. Linux, Android e il supporto ampliato per le piattaforme esistenti saranno disponibili a breve.
WebGPU è in fase di sviluppo per Firefox e Safari, oltre che per l'implementazione iniziale in Chrome.
Supporto della libreria
Molte librerie WebGL ampiamente utilizzate sono già in fase di implementazione del supporto di WebGPU o lo hanno già fatto. Ciò significa che l'utilizzo di WebGPU potrebbe richiedere solo la modifica di una singola riga.
- Babylon.js ha il supporto completo di WebGPU.
- PlayCanvas ha annunciato il supporto iniziale di WebGPU.
- TensorFlow.js supporta le versioni ottimizzate per WebGPU della maggior parte degli operatori.
- Il supporto di WebGPU per Three.js è in corso di sviluppo. Consulta gli esempi.
Sia la libreria Dawn per Chromium sia la libreria wgpu per Firefox sono disponibili come pacchetto autonomo. Offrono un'eccellente portabilità e livelli ergonomici che astraggono le API GPU del sistema operativo. L'utilizzo di queste librerie nelle applicazioni native consente di eseguire più facilmente il porting a WASM tramite Emscripten e Rust web-sys.
Risorse
WebGPU è una tecnologia importante e ti consigliamo le seguenti risorse per saperne di più:
- Consulta le specifiche W3C per WebGPU e WGSL.
- Sperimenta con i samples ed esplora WGSL con un tour.
- Consulta la documentazione MDN.
- Leggi la spiegazione e le best practice ufficiali.
- Scopri di più sul calcolo GPU e su altro ancora.