
Caspar : un accélérateur CUDA pour la programmation symbolique avec réordonnancement adaptatif
Une équipe de chercheurs a présenté Caspar (CUDA Accelerator for Symbolic Programming with Adaptive Reordering), une bibliothèque open source qui génère automatiquement des noyaux CUDA optimisés à partir d'expressions symboliques définies en Python, sans que l'utilisateur n'écrive une seule ligne de C++. Construite sur SymForce, elle prend en charge les opérations sur les groupes de Lie et la différentiation symbolique automatique : l'utilisateur formule ses fonctions résiduelles de façon expressive, et Caspar compile l'ensemble en code GPU haute performance. Pour valider l'approche, l'équipe a mesuré les performances sur le jeu de données BAL (Bundle Adjustment in the Large), référence académique standard pour les problèmes d'ajustement de faisceaux en vision 3D, en comparant Caspar aux meilleurs solveurs disponibles.
Sur ce benchmark, Caspar s'avère 5 à 20 fois plus rapide que la meilleure alternative existante, avec une empreinte mémoire moindre et une précision comparable. C'est un résultat notable pour toute application robotique reposant sur l'optimisation non linéaire temps réel : SLAM (Simultaneous Localization and Mapping), calibration de capteurs multiples, planification de trajectoires, ou reconstruction 3D embarquée. En abstrayant la complexité CUDA derrière une interface Python symbolique, Caspar abaisse substantiellement la barrière à l'accélération GPU dans les pipelines robotiques industriels, un domaine où la maîtrise du CUDA reste rare et coûteuse. Le résultat illustre qu'une approche de compilation symbolique automatisée peut rivaliser, voire dépasser, des implémentations GPU écrites à la main par des experts.
SymForce a été initialement développé chez Skydio, fabricant américain de drones autonomes, avant d'être publié en open source. Dans l'espace des solveurs non linéaires, Caspar entre en concurrence directe avec Ceres Solver (Google), g2o et GTSAM, qui dominent les applications de SLAM et de robotique. La bibliothèque est disponible librement dans le dépôt GitHub symforce-org/symforce ; la publication présentée ici est un preprint arXiv, non encore évalué par les pairs. Les benchmarks portent exclusivement sur des jeux de données académiques standards : les gains annoncés restent à confirmer sur des cas d'usage robotiques temps réel embarqués, où les contraintes de latence et de mémoire GPU sont sensiblement plus sévères.
Dans nos dossiers




