Après des années de développement, l'équipe Chrome lance WebGPU, qui permet des graphismes 3D hautes performances et des calculs parallèles des données sur le Web.
L'équipe Chrome est heureuse d'annoncer que WebGPU est désormais disponible par défaut dans Chrome 113, actuellement en version bêta. WebGPU est une nouvelle API Web Graphics qui offre des avantages considérables, tels qu'une forte réduction de la charge de travail JavaScript pour les mêmes graphismes et des améliorations plus de trois fois supérieures dans les inférences de modèles de machine learning. Cela est possible grâce à une programmation GPU plus flexible et à l'accès à des fonctionnalités avancées que WebGL ne fournit pas.
Cette version initiale de WebGPU est disponible sur ChromeOS, macOS et Windows. D'autres plates-formes seront prises en charge dans le courant de l'année.
Une nouvelle ère pour le graphisme Web
WebGPU est une nouvelle API pour le Web. Elle expose des fonctionnalités matérielles modernes et permet d'effectuer des opérations de rendu et de calcul sur un GPU, à l'instar de Direct3D 12, Metal et Vulkan. Contrairement à la famille d'API WebGL, WebGPU offre l'accès à des fonctionnalités GPU plus avancées et offre une prise en charge de premier ordre pour les calculs généraux sur le GPU. Cette API est conçue pour la plate-forme Web. Elle offre une API JavaScript idiomatique, une intégration avec des promesses, une prise en charge de l'importation de vidéos et une expérience de développement soignée avec des messages d'erreur très satisfaisants.
Cette version initiale de WebGPU sert de base pour les futures mises à jour et améliorations. L'API offrira des fonctionnalités graphiques plus avancées, et les développeurs sont encouragés à envoyer des demandes de fonctionnalités supplémentaires. L'équipe Chrome prévoit également de fournir un accès plus approfondi aux cœurs des nuanceurs pour davantage d'optimisations du machine learning et une meilleure ergonomie dans WGSL, le langage de nuance WebGPU.
WebGPU est le résultat d'une collaboration entre le groupe de la communauté "GPU for the Web" du W3C, qui comprend des contributions de grandes entreprises telles que Mozilla, Apple, Intel et Microsoft. Après six ans de développement (90 contributeurs, 2 000 commits, 3 000 problèmes), depuis la conception initiale en 2017, la première implémentation est désormais disponible dans Chrome. La compatibilité avec Firefox et Safari est en cours.
La bibliothèque Dawn pour Chromium et la bibliothèque wgpu pour Firefox sont disponibles en tant que packages autonomes. Elles offrent une excellente portabilité et des couches ergonomiques qui éliminent les API GPU du système d'exploitation. L'utilisation de ces bibliothèques dans des applications natives facilite également le portage vers WASM via Emscripten et Rust web-sys.
Prise en charge des navigateurs
Cette version initiale de WebGPU est disponible dans Chrome 113 sur les appareils ChromeOS compatibles avec Vulkan, sur les appareils Windows compatibles avec Direct3D 12 et sur macOS. Linux et Android, ainsi qu'une compatibilité étendue pour les plates-formes existantes, seront bientôt disponibles.
WebGPU est en cours de développement dans Firefox et Safari, en plus de l'implémentation initiale dans Chrome.
Compatibilité avec les bibliothèques
De nombreuses bibliothèques WebGL couramment utilisées sont déjà en train d'implémenter la prise en charge de WebGPU, ou l'ont déjà fait. Cela signifie que l'utilisation de WebGPU peut ne nécessiter qu'un seul changement de ligne:
- Babylon.js est déjà entièrement compatible avec WebGPU.
- PlayCanvas a annoncé la compatibilité initiale de WebGPU.
- TensorFlow.js est compatible avec les versions optimisées pour WebGPU de la plupart des opérateurs.
- WebGPU Three.js est en cours de compatibilité. Consultez les exemples.
Ressources
WebGPU est une technologie importante. Pour en savoir plus, nous vous recommandons de consulter les ressources suivantes:
- Consultez les spécifications W3C pour WebGPU et WGSL.
- Testez des exemples et explorez WGSL à l'aide d'une visite.
- Consultez la documentation MN.
- Consultez l'explication officielle et les bonnes pratiques.
- Apprenez-en plus sur le calcul GPU et plus encore.
Remerciements
Un grand merci à tous les contributeurs Chromium, et tout particulièrement aux membres d'Intel pour leur aide précieuse dans ce projet.