Après des années de développement, l'équipe Chrome lance WebGPU, qui permet de créer des graphismes 3D hautes performances et des calculs parallèles de données sur le Web.
L'équipe Chrome est ravie d'annoncer que WebGPU est désormais disponible par défaut dans Chrome 113, qui est actuellement disponible sur le canal bêta. WebGPU est une nouvelle API de graphiques Web qui offre des avantages importants, tels qu'une charge de travail JavaScript considérablement réduite pour les mêmes graphiques et une amélioration de plus de trois fois des 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. La compatibilité avec d'autres plates-formes sera disponible dans le courant de l'année.
Une nouvelle ère pour les graphiques Web
WebGPU est une nouvelle API pour le Web, qui expose des fonctionnalités matérielles modernes et permet d'effectuer des opérations de rendu et de calcul sur un GPU, comme Direct3D 12, Metal et Vulkan. Contrairement à la famille d'API WebGL, WebGPU offre un accès à des fonctionnalités de GPU plus avancées et offre une prise en charge de premier ordre pour les calculs généraux sur le GPU. L'API est conçue pour la plate-forme Web. Elle comprend une API JavaScript idiomatique, une intégration avec des promesses, la prise en charge de l'importation de vidéos et une expérience de développement soignée avec des messages d'erreur de qualité.
Cette première version 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 invités à demander des fonctionnalités supplémentaires. L'équipe Chrome prévoit également de fournir un accès plus approfondi aux cœurs de nuanceurs pour encore plus d'optimisations de l'apprentissage automatique et une ergonomie supplémentaire dans WGSL, le langage de nuanceurs WebGPU.
WebGPU est le fruit d'un effort collaboratif du groupe de la communauté "GPU pour le Web" du W3C, qui inclut les contributions de grandes entreprises telles que Mozilla, Apple, Intel et Microsoft. Après six ans de développement (90 contributeurs, 2 000 commits et 3 000 problèmes) depuis la conception initiale en 2017, la première implémentation est désormais disponible dans Chrome, et 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 grande portabilité et des couches ergonomiques qui abstraient les API GPU de l'OS. 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 première version de WebGPU est disponible dans Chrome 113 sur les appareils ChromeOS compatibles avec Vulkan, les appareils Windows compatibles avec Direct3D 12 et macOS. Linux, Android et une compatibilité étendue avec 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 largement utilisées sont déjà en cours d'implémentation de la prise en charge de WebGPU ou l'ont déjà fait. Cela signifie que l'utilisation de WebGPU ne nécessite peut-être qu'une seule ligne de code modifiée:
- Babylon.js est déjà entièrement compatible avec WebGPU.
- PlayCanvas a annoncé la prise en charge initiale de WebGPU.
- TensorFlow.js est compatible avec les versions optimisées WebGPU de la plupart des opérateurs.
- La prise en charge de WebGPU dans Three.js est en cours. 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 du W3C pour WebGPU et WGSL.
- Testez des exemples et explorez WGSL avec une visite guidée.
- Consultez la documentation MDN.
- Consultez la présentation et les bonnes pratiques officielles.
- Découvrez le calcul GPU et plus encore.
Remerciements
Merci à tous les contributeurs Chromium et en particulier à l'équipe Intel pour leur aide précieuse.