Logo Parasoft

Apporter une analyse statique rigoureuse à votre code CUDA

By Ricardo Camacho 23 octobre 2025 4 min de lecture

L'essor de l'IA en périphérie exige que le code GPU réponde aux mêmes normes de qualité rigoureuses que le code CPU traditionnel. Découvrez une solution qui apporte une analyse statique unifiée à NVIDIA CUDA, garantissant ainsi la sécurité et la conformité de l'ensemble de votre système embarqué.

Apporter une analyse statique rigoureuse à votre code CUDA

By Ricardo Camacho 23 octobre 2025 4 min de lecture

L'essor de l'IA en périphérie exige que le code GPU réponde aux mêmes normes de qualité rigoureuses que le code CPU traditionnel. Découvrez une solution qui apporte une analyse statique unifiée à NVIDIA CUDA, garantissant ainsi la sécurité et la conformité de l'ensemble de votre système embarqué.

Alors que les modèles d’IA passent du cloud à la périphérie, alimentant les véhicules autonomes, la robotique avancée et les diagnostics médicaux en temps réel, les développeurs s’appuient de plus en plus sur l’accélération GPU pour répondre aux exigences de performances et de latence.

La plate-forme CUDA de NVIDIA est devenue la base de cette nouvelle ère de systèmes embarqués intelligents et hautes performances.

L'intégration de l'intelligence artificielle et de l'accélération GPU est désormais un pilier de l'innovation dans les secteurs de l'automobile, de l'aérospatiale, de la médecine et de l'industrie. Ces domaines exploitent CUDA pour répondre aux exigences de calcul intensives liées à l'inférence IA et au traitement des données. Cependant, les extensions de langage qui rendent CUDA C/C++ si puissant ont toujours représenté un défi majeur pour l'assurance qualité logicielle.

Les outils d’analyse statique traditionnels conçus pour le C/C++ standard ne sont pas en mesure de traiter les constructions spécifiques à CUDA.

Cette restriction a laissé un vide critique dans le cycle de vie du développement, où certains des composants de code les plus sensibles aux performances et à la sécurité n'ont pas pu être automatiquement analysés pour détecter les défauts, les vulnérabilités de sécurité ou la conformité aux normes.

Le défi : garantir la qualité sur une base de code hétérogène

Les équipes de développement sont chargées d'intégrer des modèles d'IA entraînés directement dans les applications, où ils constituent souvent le cœur des systèmes décisionnels. Le code CUDA qui alimente ces modèles est soumis aux mêmes exigences, voire plus strictes, de fiabilité, de sécurité et de sûreté fonctionnelle que les logiciels embarqués traditionnels.

Les normes de sécurité fonctionnelle telles que ISO 26262, DO-178C, IEC 61508 et IEC 62304 imposent une approche démontrable et cohérente de la qualité du code dans l'ensemble du système.

L’incapacité d’appliquer une analyse statique automatisée aux modules CUDA introduit :

  • Analyse
  • Augmentation des frais de révision manuelle
  • Rapports de conformité compliqués

Complexité en virgule flottante

Les noyaux CUDA s'appuient souvent fortement sur l'arithmétique à virgule flottante ou à double précision, ce qui est rare dans les systèmes embarqués traditionnels.

Les valeurs à virgule flottante sont plus difficiles à analyser en raison des arrondis, des limitations de précision et des représentations spécifiques à chaque plateforme. Garantir l'exactitude des conversions, des comparaisons et des opérations arithmétiques est essentiel pour les applications d'IA critiques pour la sécurité.

Des règles telles que CERT C FLP34, FLP36-C et FLP37-C fournissent des conseils pour une gestion sûre des valeurs à virgule flottante, que les outils d'analyse statique doivent appliquer dans les architectures GPU hétérogènes.

Par exemple, dans une pile de perception ADAS automobile, les noyaux CUDA effectuent des tâches critiques de détection et de classification d'objets. Il est essentiel de garantir que ces modules sont exempts de conditions de concurrence, d'erreurs d'accès mémoire et de failles de sécurité pour la certification de la sécurité fonctionnelle.

La solution : analyse statique unifiée pour le code CPU et GPU

Parasoft s'attaque de front à ce défi de qualité dans C/C++test 2025.2, qui introduit Prise en charge de l'analyse statique pour CUDA Les fichiers sources (.cu) permettent aux équipes de développement d'étendre facilement leurs pratiques de qualité de code établies aux composants accélérés par GPU.

L'analyse CUDA est entièrement intégrée au support du flux de travail CI/CD de Parasoft, permettant aux équipes d'exécuter des analyses, des tableaux de bord et des rapports unifiés sans modifier leur infrastructure de construction ou de conformité existante.

C/C++test permet aux équipes d'identifier automatiquement les défauts et les vulnérabilités de sécurité dans le code CUDA et d'appliquer les normes de codage sur l'ensemble de leur produit, garantissant une qualité et une conformité constantes, même dans les modules développés à l'aide du SDK CUDA.

Le résultat?

  • Risque réduit
  • Des cycles de développement plus courts
  • Amélioration de la robustesse globale des logiciels dans les systèmes alimentés par l'IA et accélérés par GPU

Capacités clés

  • Application complète des normes. Appliquez le même ensemble de normes de codage éprouvées par l'industrie, notamment MISRA C/C++, AUTOSAR C++14, CERT C/C++ et JSF, au code hôte et au code de l'appareil avec une configuration unique et unifiée.
  • Détection précoce des défauts. Identifiez les erreurs de codage, les failles de sécurité et les problèmes affectant les performances dès le début du cycle de développement, réduisant ainsi les coûts de correction et atténuant les risques du projet.
  • Conformité simplifiée. Automatisez la génération de rapports de conformité prêts pour l'audit et de matrices de traçabilité pour les certifications de sécurité fonctionnelle, englobant l'ensemble de la pile logicielle.

Prise en charge intégrée des environnements IDE et CI/CD

L'analyse statique CUDA de Parasoft s'exécute de manière transparente dans les environnements IDE et CI/CD, offrant une flexibilité totale aux équipes d'ingénierie.

Dans l'IDE

Les développeurs peuvent effectuer des analyses statiques CUDA directement dans les IDE pris en charge tels qu'Eclipse, Visual Studio ou VS Code, selon leur configuration Parasoft. L'intégration avec l'IDE permet aux développeurs de corriger les problèmes en amont, directement sur le code, avant qu'ils ne se propagent au système de build ou à l'infrastructure de test. Cela permet :

  • Détection en temps réel des erreurs de codage, des problèmes de sécurité et des violations de règles lors de l'écriture du code source CUDA.
  • Retour immédiat sur les constructions spécifiques à CUDA.
  • Application cohérente des normes de codage telles que MISRA C/C++, AUTOSAR C++14, CERT C/C++ et JSF sur le code hôte et sur le code périphérique.

Dans le pipeline CI/CD

L'analyse CUDA peut être exécutée sans interface utilisateur dans le cadre de builds automatisés avec Jenkins, GitLab, Bamboo ou Azure DevOps. Les équipes peuvent surveiller en continu la conformité, appliquer les normes de codage et générer des rapports centralisés grâce à Parasoft DTP afin de garantir une traçabilité à l'échelle de l'entreprise et une préparation aux audits. Cela permet :

  • Application continue des normes de codage et des contrôles de sécurité sur le code CPU et GPU.
  • Analyse par lots de grands projets, y compris ceux qui compilent des noyaux CUDA à l'aide de la chaîne d'outils NVIDIA.
  • Génération automatisée de rapports (matrices de conformité, tableaux de bord et mesures) pour les contrôles de qualité et les preuves de certification.
  • Intégration transparente avec Parasoft DTP pour des analyses centralisées et une gestion des politiques.

Cette capacité d'environnement double garantit une maintenance cohérente des contrôles de qualité et de conformité CUDA, du développement local aux versions de niveau production, sans perturber les flux de travail établis.

Implications stratégiques pour le développement de solutions critiques pour la sécurité

L'extension de l'analyse statique à CUDA C/C++ est bien plus qu'une simple mise à jour de fonctionnalités. C'est un atout stratégique pour la prochaine génération de systèmes intelligents.

Cette extension fournit l’assurance fondamentale requise pour déployer l’IA et le calcul accéléré par GPU dans des environnements où l’échec n’est pas une option.

Ce que les organisations gagnent

  • Valeur immédiate. Réduction des efforts de révision manuelle, création de rapports de conformité plus rapides et chemin plus efficace vers la certification.
  • Avantage à long terme. Un cadre de qualité unifié pour les architectures hybrides CPU/GPU, assurant la pérennité des processus de développement à mesure que l'IA devient de plus en plus omniprésente.
  • Une confiance accrue dans les calculs. Maintenez des performances et une conformité cohérentes sur tous les GPU pour prendre en charge les normes de sécurité et de codage telles que MISRA et CERT.

Conclusion

Alors que l'industrie s'oriente vers des applications pilotées par l'IA et accélérées par GPU, les outils d'assurance logicielle doivent évoluer en parallèle. L'engagement de Parasoft dans cette évolution garantit aux équipes d'ingénierie le maintien des plus hauts niveaux de qualité et de sécurité sur l'ensemble de leur portefeuille technologique, du processeur au GPU.

Découvrez comment C/C++test peut aider votre équipe à identifier automatiquement les défauts et les vulnérabilités de sécurité dans le code CUDA et à appliquer les normes de codage.

Démonstration de la plateforme