WebGPU viene fornita da Chrome

Dopo anni di sviluppo, il team di Chrome ha creato WebGPU, che consente grafica 3D ad alte prestazioni e calcolo parallelo dei dati sul web.

François Beaufort
François Beaufort
Corentin Wallez
Corentin Wallez

Il team di Chrome è entusiasta di annunciare che WebGPU è ora disponibile per impostazione predefinita in Chrome 113, attualmente nel canale Beta. WebGPU è una nuova API 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 a una programmazione della GPU più flessibile e all'accesso a funzionalità avanzate non fornite da WebGL.

Questa release iniziale di WebGPU è disponibile su ChromeOS, macOS e Windows. Il supporto per altre piattaforme sarà disponibile entro la fine dell'anno.

Una nuova alba per la grafica web

WebGPU è una nuova API per il web, che espone funzionalità hardware moderne e consente operazioni di rendering e calcolo su una GPU, simili a Direct3D 12, Metal e Vulkan. A differenza della famiglia di API WebGL, WebGPU offre l'accesso a funzionalità GPU più avanzate e un supporto di alto livello per i calcoli generali sulla GPU. L'API è progettata per la piattaforma web, con un'API JavaScript idiomatica, integrazione con promesse, supporto per l'importazione di video ed un'esperienza sviluppatore elegante con ottimi messaggi di errore.

Questa versione iniziale di WebGPU funge da componente di base per aggiornamenti e miglioramenti futuri. L'API offrirà funzionalità grafiche più avanzate e gli sviluppatori sono invitati a inviare richieste per funzionalità aggiuntive. Il team di Chrome prevede anche di offrire un accesso più approfondito ai core dello Shading Core per un numero ancora maggiore di ottimizzazioni del machine learning e di un'ergonomia extra in WGSL, il linguaggio di ombreggiatura WebGPU.

WebGPU è il risultato di uno sforzo collaborativo del gruppo community "GPU for the Web" di W3C, che include il contributo di importanti aziende quali Mozilla, Apple, Intel e Microsoft. Dopo sei anni di sviluppo (90 collaboratori, 2000 commit, 3000 problemi), dalla progettazione iniziale nel 2017, la prima implementazione è ora disponibile in Chrome, mentre è in corso il supporto per Firefox e Safari.

Sia la libreria Dawn per Chromium che la libreria wgpu per Firefox sono disponibili come pacchetti autonomi e offrono un'ottima portabilità e livelli ergonomici che astraggono le API GPU del sistema operativo. L'utilizzo di queste librerie nelle applicazioni native semplifica anche la portabilità a WASM tramite Emscripten e Rust web-sys.

Supporto del browser

Questa release iniziale di WebGPU è disponibile in Chrome 113 su dispositivi ChromeOS con supporto Vulkan, dispositivi Windows con supporto Direct3D 12 e macOS. A breve saranno disponibili Linux, Android e il supporto esteso per le piattaforme esistenti.

WebGPU è ancora in fase di sviluppo in Firefox e Safari, oltre all'implementazione iniziale in Chrome.

Assistenza per le biblioteche

Molte librerie WebGL di uso comune sono già in fase di implementazione del supporto WebGPU o lo hanno già fatto. Ciò significa che per utilizzare WebGPU potrebbe essere necessario apportare una sola modifica di riga:

  • Babylon.js dispone già del 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.
  • È in corso il supporto di Three.js WebGPU. Vedi gli esempi.

Risorse

WebGPU è una tecnologia significativa. Per saperne di più, consigliamo le seguenti risorse:

Riconoscimenti

Grazie mille a tutti i collaboratori di Chromium e in particolare ai team Intel per il loro inestimabile supporto nel rendere tutto questo possibile.