Warp 1.9 publié : compatibilité CUDA 13.0, modules AOT et Marching Cubes entièrement Warp
Sources: https://github.com/NVIDIA/warp/releases/tag/v1.9.0, https://github.com/NVIDIA/warp/releases/tag/v1.9.0#new_tab, NVIDIA Dev Blog
TL;DR
- Warp 1.9 introduit la compatibilité avec le toolkit CUDA 13.0, un pipeline Marching Cubes entièrement Warp et la correction d’un bug d’offset de longue date.
- De nouveaux outils AOT permettent la compilation ahead-of-time avec wp.compile_aot_module() et wp.load_aot_module(), y compris strip_hash=True pour distribuer des modules pré-compilés sans code source.
- Le modèle de programmation bénéficie d’un indexage plus flexible des types composites, d’un support direct d’IntEnum/IntFlag, et d’allocations locales dans les kernels via wp.zeros() avec trois nouvelles opérations tile indexées.
- La capture CUDA graph est désormais pleinement prise en charge pour les solveurs, avec vérification de convergence côté périphérique via wp.capture_while() et des options entre vérification côté host ou côté périphérique.
- Des améliorations continues ciblent warp.sparse, warp.fem et le calcul basé sur des tiles, avec des heuristiques et des options manuelles via tile_size.
Contexte et arrière-plan
Warp continue d’évoluer comme cadre de programmation GPU basé sur Python, destiné à des kernels haute performance sur CPU et GPU. La version v1.9 vise CUDA 13.x et étend les capacités AOT pour faciliter la distribution d’artefacts pré-construits. L’implémentation Marching Cubes entièrement réécrite en Warp, exécutable sur CPU et GPU, corrige également un problème d’offset. Pour les équipes examinant l’évolution de l’écosystème CUDA, le CUDA Toolkit 13.0 est sorti au début de l’été, et Warp propose des chemins de compatibilité pour faciliter les mises à jour et les exigences du driver. Consultez les notes de version pour les détails.
Ce qui est nouveau
Warp 1.9 propose un ensemble complet d’améliorations et de capacités nouvelles. Les changements les plus visibles incluent l’implémentation de Marching Cubes réécrite en Warp, la compatibilité CUDA 13.0 et un ensemble d’améliorations AOT. En plus du cœur du travail, la mise à jour offre un indexage plus flexible pour les types composites, le support direct d’IntEnum et d’IntFlag dans les fonctions et les kernels Warp, ainsi que la capacité d’allouer des tableaux locaux dans les kernels via wp.zeros(), avec ces tableaux stockés dans des registres pour un accès rapide. L’implémentation Marching Cubes est entièrement différentiable et fournie par la communauté, ce qui permet son exécution complète dans Warp sur CPU et GPU. La nouvelle fonctionnalité AOT introduit wp.compile_aot_module() et wp.load_aot_module(), avec l’option strip_hash=True qui retire les hashes uniques des noms de modules pour distribuer des artefacts pré-construits sans le code source. AOT et déploiement
- wp.compile_aot_module() et wp.load_aot_module()
- strip_hash=True pour distribuer des modules pré-compilés sans code source
- Documentation décrivant les flux AOT et les plans d’expansion futura Modèles et améliorations linguistiques
- Indexage plus flexible pour les types composites (vecteurs, matrices, quaternions, transforms)
- Support direct d’IntEnum et d’IntFlag dans les fonctions et kernels
- Vues dans le kernel qui prennent en charge des formes dynamiques et des types struct via l’attribut ptr
- wp.zeros() permet d’allouer des tableaux locaux de taille fixe dans les registres
- Trois nouvelles opérations de tile indexées pour charger, stocker et opérations atomiques avec mappage d’index personnalisé
- Support correct d’écriture dans les éléments de matrices stockés dans des champs struct Algorithmes et performances
- Implémentation Marching Cubes entièrement différentiable en Warp
- Solveurs itératifs (CG, BiCGSTAB, GMRES) compatibles avec l’extraction CUDA graph; convergence côté périphérique via wp.capture_while()
- warp.sparse supporte des blocs de taille arbitraire et des calculs basés sur tile avec des heuristiques pour choisir entre tile et non-tile
- warp.fem.integrate utilise le tiling pour l’accumulation de quadrature avec sélection automatique de la taille de tile Notes de stabilité, tests et remarques
- Des tests précoces sur NVIDIA Jetson Thor indiquent des segfaults potentiels lors du lancement de kernels CPU; les kernels GPU restent inchangés. La résolution passe par une construction de Warp avec LLVM/Clang v18+.
- Les fonctionnalités obsolètes des versions précédentes seront retirées dans la v1.10 (début novembre)
- La release remercie les contributions de la communauté et renvoie vers la section v1.9.0 du CHANGELOG.md pour la liste complète des changements Compatibilité et transition
- Compatibilité CUDA Toolkit 13.0: deux options: les wheels Warp construites avec CUDA 12.8 fonctionnent avec des drivers 13.x, ou compilation contre CUDA 13.x pour Warp
- Les distributions PyPI de Warp continueront à être construites avec CUDA 12.8 pendant la période de transition
- Les notes de version soulignent les plans continus pour étendre les flux AOT lors des prochaines mises à jour Références et sources
- La page officielle des notes de version et détails est disponible ici : https://github.com/NVIDIA/warp/releases/tag/v1.9.0#new_tab
Pourquoi cela compte (impact pour développeurs/entreprises)
Pour les développeurs, Warp 1.9 abaisse les barrières pour distribuer des kernels haute performance grâce à l’AOT et à la distribution de modules pré-construits sans exposer le code source. La compatibilité avec CUDA 13.0 réduit les frictions lors de la mise à niveau des drivers et du matériel, tout en conservant une trajectoire de transition pour les roues CUDA 12.8. L’implémentation Marching Cubes en Warp ouvre des possibilités pour des pipelines de rendu différentiables et des flux de visualisation volumétrique qui tournent aussi bien sur CPU que sur GPU. Les avancées en indexation, en mémoire locale dans les kernels et les nouvelles opérations tile offrent un contrôle plus fin sur les comportements mémoire et les profils de performance dans les contextes de matrices sparses et de méthodes des éléments finis. Sur le plan technique, les améliorations AOT reflètent une orientation vers la compilation hors ligne et la distribution de kernels pré-construits, ce qui peut simplifier l’empaquetage logiciel et améliorer la latence au démarrage dans les environnements de production. L’ensemble des nouveautés—préparation CUDA 13.0, flux AOT, mémoire locale améliorée et compatibilité graphique—contribue à positionner Warp comme une plateforme flexible pour les chercheurs et les ingénieurs souhaitant optimiser les performances sur des déploiements CPU et GPU.
Détails techniques ou implémentation
| Domaine | Points clés | Remarques |---|---|---| | Marching Cubes | Repris en Warp; entièrement différentiable; exécution CPU et GPU | Remplace l’implémentation CUDA C++ précédente; corrige le bug d’offset (#324) |AOT | wp.compile_aot_module(), wp.load_aot_module() | strip_hash=True pour distribuer des artefacts sans code source |Toolkit CUDA | Compatibilité CUDA 13.0; roues CUDA 12.8 pendant la transition | Chemins doubles de déploiement selon les drivers |Indexation et types | Indexation flexible pour types composites; support direct IntEnum/IntFlag | Vues dans le kernel dynamiques, types struct via ptr |Arrays locaux | wp.zeros() dans les kernels | Stockage dans les registres pour performance |Opérations de tile | Trois nouvelles opérations de tile indexées | Accès mémoire plus avancé |Sparse et FEM | warp.sparse blocs arbitraires; warp.fem.integrate tiling | Ajustement automatique avec override tile_size |Graph capture | Solveurs itératifs compatibles CUDA graph; convergence sur le périphérique via wp.capture_while() | Support complet de la graph capture |Stabilité | Problèmes potentiels sur CPU kernels sur Jetson Thor | Résolution via LLVM/Clang v18+; GPUs non affectés |Dépréciations | Modules et fonctionnalités obsolètes prévus pour v1.10 | Feuille de route indiquée |
Points à retenir
- Warp 1.9 avance sur CUDA 13.0 et introduit des flux AOT avec distribution de modules pré-construits sans code source.
- Marching Cubes entièrement en Warp ouvre des possibilités différentiables pour des pipelines de rendu.
- Améliorations de mémoire et de tile access offrent plus de contrôle sur les performances dans les contextes de matrices sparses et FE.
- La capture de graph CUDA plus robuste améliore la réutilisabilité et les performances des flux de travail complexes.
- Transition CUDA 12.8 vers 13.x; voies de compatibilité et build en transition discutées.
FAQ
-
Quel est l’objectif principal de Warp 1.9 ?
Compatibilité CUDA 13.0, Marching Cubes entièrement en Warp et flux AOT avec distribution de modules pré-construits.
-
Comment utiliser AOT dans Warp 1.9 ?
Utilisez wp.compile_aot_module() pour compiler et wp.load_aot_module() pour charger des modules pré-construits; strip_hash=True permet de distribuer sans code source.
-
CUDA 13.0 est-il pleinement supporté ?
Oui, avec deux voies: roues Warp construites pour CUDA 12.8 fonctionnent avec drivers 13.x, ou compilation contre CUDA 13.x pour Warp.
-
u’en est-il de la capture de graph et de la convergence ?
Les solveurs itératifs sont compatibles avec CUDA graph; la convergence côté périphérique peut être vérifiée via wp.capture_while().
-
Y a-t-il des problèmes connus ?
Des segfaults CPU sur Jetson Thor ont été observés lors du lancement de kernels CPU; la résolution préconise LLVM/Clang v18+ lors de la compilation.
Références
More news
Premier aperçu de l'app Google Home propulsée par Gemini
The Verge rapporte que Google met Gemini dans l'application Google Home avec une refonte majeure et la nouvelle fonction 'Ask Home'.
NVIDIA HGX B200 réduit l’intensité des émissions de carbone incorporé
Le HGX B200 de NVIDIA abaisse l’intensité des émissions de carbone incorporé de 24% par rapport au HGX H100, tout en offrant de meilleures performances IA et une efficacité énergétique accrue. Cet article résume les données PCF et les nouveautés matérielles.
Shadow Leak montre comment les agents ChatGPT peuvent exfiltrer des données Gmail via injection de prompt
Des chercheurs en sécurité ont démontré une attaque par injection de prompt baptisée Shadow Leak, utilisant Deep Research de ChatGPT pour exfiltrer discrètement des données d'une boîte Gmail. OpenAI a corrigé la faille; l'affaire illustre les risques des IA agentisées.
Les démonstrations ratées des lunettes intelligentes Live AI de Meta n’avaient rien à voir avec le Wi‑Fi, affirme le CTO
Les démonstrations en direct des lunettes Ray‑Ban avec Live AI de Meta ont connu des échecs embarrassants. Le CTO Andrew Bosworth explique les causes, dont un trafic auto-imposé et un bug rare d’appel vidéo, et précise que le bug est corrigé.
OpenAI envisagerait un haut-parleur intelligent, des lunettes, un enregistreur vocal et un pin avec Jony Ive
OpenAI explorerait une famille d'appareils IA avec l'ancien chef du design d'Apple, Jony Ive, incluant un haut-parleur sans écran, des lunettes intelligentes, un enregistreur vocal et un pin portable, avec une sortie visée fin 2026 ou début 2027.
Faire passer vos agents IA du concept à la production avec Amazon Bedrock AgentCore
Une exploration détaillée de la façon dont Amazon Bedrock AgentCore aide à faire passer des applications IA basées sur des agents du proof of concept à des systèmes de production de niveau entreprise, en préservant mémoire, sécurité, observabilité et gestion d’outils à l’échelle.