-
Libérez la puissance du calcul GPU avec WebGPU
Découvrez comment l'API WebGPU offre un accès sécurisé aux appareils GPU pour les graphismes et le calcul général. Nous explorerons également le langage de shading WGSL pour écrire des programmes GPU. Nous examinerons aussi les meilleures pratiques pour atteindre des performances optimales tout en minimisant la consommation d'énergie sur les ordinateurs de bureau et les appareils mobiles.
Chapitres
- 0:00 - Introduction
- 2:14 - Explorer l’API WebGPU
- 9:54 - Développer des shaders
- 13:57 - Optimiser les performances
Ressources
- Transformers.js - Huggingface
- WebGPU Samples - github.io
- WebGPU - W3C
- babylon.js – webGL and WebXR library
- three.js – webGL and WebXR library
- Metal Performance Shaders
Vidéos connexes
WWDC25
WWDC20
-
Rechercher dans cette vidéo…
-
-
- 0:00 - Introduction
WebGPU permet d’obtenir des graphiques 3D haute performance et un calcul parallèle polyvalent sur les GPU. Il s’appuie sur WebGL, offrant une plus grande flexibilité et une plus grande rapidité. WebGPU est conçu pour être indépendant de la plateforme, avec une API similaire à Metal, et est pris en charge sur Mac, iPhone, iPad, Vision Pro et d’autres systèmes tiers.
- 2:14 - Explorer l’API WebGPU
Le pipeline WebGPU traite le contenu des sites Web ou des apps Web via WebKit et le framework Metal. Metal génère des ressources GPU : tampons, textures et échantillonneurs, organisés en groupes de liaison GPU pour une utilisation efficace. Ces ressources, ainsi que les programmes shaders compilés (compute, vertex et fragment), sont ensuite utilisés par le GPU. L’API WebGPU, qui est une API plate, fournit des interfaces pour gérer les appareils, les ressources, les encodeurs, les pipelines, les groupes de liaison et les modules de shader. Vous pouvez souvent utiliser un canevas avec WebGPU, et vous pouvez interroger un GPUCanvasContext pour créer un périphérique GPU.
- 9:54 - Développer des shaders
WebGPU utilise WGSL, un langage destiné à la programmation GPU sur le Web. Il prend en charge trois principaux types de programmes : vertex, fragment et compute. Les programmes de vertex définissent les positions des triangles à l’écran. Les programmes de fragment calculent les couleurs et les profondeurs des textures. Les shaders de calcul, une nouveauté de WebGPU, réalisent des calculs généraux en parallèle, ce qui permet d’effectuer des simulations physiques et d’autres tâches complexes.
- 13:57 - Optimiser les performances
Afin d’optimiser les performances de WebGPU, concentrez-vous sur l’efficacité de la mémoire. Vous pouvez également réduire au minimum les appels inutiles de mise à jour du tampon et des textures, car ils nécessitent des copies de données et peuvent être coûteux. Il est vivement recommandé de réutiliser les commandes de rendu via des lots de rendu, car cela élimine les validations redondantes, et permet donc de gagner du temps et d’obtenir des performances proches des niveaux natifs. En outre, il est essentiel de réduire le nombre de ressources telles que les tampons de commande, les passes de rendu et les groupes de liaison. En suivant ces directives, vous pourrez créer des sites web et des apps web remarquables et hautement efficaces, qui fonctionneront parfaitement sur les équipements Apple et sur tous les appareils mobiles et de bureau.