Green Hills Software, premier éditeur indépendant de solutions de développement de logiciels pour l’Internet des objets (IoT), annonce la disponibilité de son Compilateur 2018.1 pour créer des applications embarquées 32 bits et 64 bits hautement optimisées en C et C++ pour toutes les architectures majeures de processeurs embarqués, notamment Arm®, Intel® et Power Architecture®. Des clients clé ont travaillé avec les architectes des compilateurs de Green Hills sur l’amélioration des performances et il en résulte des vitesses de traitement vectoriel trois fois plus rapides, et des scores dépassant ceux du compilateur LLVM, même sur la propre suite de benchmark LLVM. Les autres points forts du compilateur 2018.1 incluent la compatibilité complète C++14, la suppression des risques liés à la vulnérabilité Spectre et la mise en œuvre des niveaux de sûreté fonctionnelle les plus élevés. Pour les clients, le Compilateur 2018.1 permet de réduire les délais de mise sur le marché des produits, répondre aux exigences de sûreté et de sécurité et maximiser les performances des processeurs sur tous les marchés de l’embarqué, notamment l’automobile, la supervision industrielle, le calcul hautes performances (HPC), le stockage numérique et les produits grand public.
Aujourd’hui, les processeurs embarqués sont omniprésents. Destinés à libérer les capacités des cœurs de processeurs, les compilateurs de Green Hills Software, sa suite d’outils et l’environnement de développement intégré (IDE) MULTI®s’inscrivent dans une réputation établie depuis 35 ans de génération de code de qualité supérieure. Des milliers d’entreprises qui créent des systèmes logiciels critiques leur font confiance.
Pour le développement du Compilateur 2018.1, Green Hills a collaboré avec plusieurs de ses clients avec pour objectif de dépasser les performances d’exécution du code de tous les compilateurs existants. Les résultats sont impressionnants :
Comparé à la propre suite de tests C/C++ Benchmarks (v5.0) de LLVM Foundation, référence pour le compilateur LLVM, le compilateur 2018.1 de Green Hills est 4,2 % plus rapide que LLVM sur Arm et 3,4 % plus rapide sur Arm 64.
Le compilateur 2018.1 est le seul compilateur certifié bénéficiant d’une autovectorisation pour accélérer le traitement vectoriel avec les unités d’accélération SIMD (Single Instruction Multiple Data) sur Arm/Arm64 NEON, Intel SSE et Power Architecture.
Les capacités d’autovectorisation du compilateur 2018.1 de Green Hills pour la spécification C++14 ont permis une amélioration de 14 %, ou plus, sur les architectures Arm, Arm64 et Intel, par rapport aux benchmarks Eigen standardisés, ce qui le situe au-dessus du compilateur LLVM sur l’architecture Arm.
L’autovectorisation sur l’architecture Arm NEON SIMD a permis une multiplication par 3 des performances pour dépasser le compilateur GNU et à un autre compilateur basé sur LLVM. Le benchmark a utilisé du code réel d’application, fourni par des clients du secteur automobile utilisant des programmes de traitement d’images hautement vectorisés, d’apprentissage profond et de vision.
« Nos Compilateurs Optimisant C et C++ nous permettent de fournir à nos clients un composant essentiel pour atteindre des performances maximales pour leur code d’application », a indiqué Dan O’Dowd, fondateur et PDG de Green Hills Software. « Nos clients s’engagent avec nous pour réaliser des projets ultraperformants et atteindre des objectifs ambitieux. Nous réalisons ou dépassons ces objectifs parce que nous sommes capables d’analyser leur code en profondeur, de suggérer un paramétrage optimum de compilateur et de les conseiller sur la structure de leur code. Pendant nos 35 ans d’existence, cette démarche d’implication auprès des clients a permis à la fois d’obtenir la meileur technologie de compilateur au monde pour les processeurs embarqués et d’aider nos clients à obtenir les meilleures performances pour leurs applications. »
Les compilateurs C/C++ de Green Hills sont uniques par l’ampleur et la profondeur des niveaux de certification obtenus pour l’automobile (ISO 26262 ASIL D), l’industrie (IEC 61508 SIL 3) et le ferroviaire (EN 50128 SIL 4). Ces compilateurs s’intègrent dans l’offre de logiciels certifiés la plus complète de l’industrie :
Compilateur C et bibliothèques d’exécution C avec certificat de sûreté.
Compilateur C++ et bibliothèques d’exécution C++ avec certificat de sûreté, compatibles avec les versions C++03, C++11 et C++14.
Intégration d’outils d’analyse statique DoubleCheck™ et de contrôle qualité MISRA-C, dans un processus de compilation en un seul passage.
Élément essentiel pour le système d’exploitation temps réel INTEGRITY® pré-certifié
Services facilitant la certification des systèmes client auprès des organismes de sûreté et de sécurité.
Les Compilateurs 2018.1 et leurs mises à jour futures incluent la suppression des risques relatifs aux vulnérabilités de sécurité Spectre (Variante 1 : CVE-2017-5753 et Variante 2 : CVE-2017-5715).
« La version C++14 est utilisée dans les applications embarquées sûres et sécurisées, telles que les voitures autonomes », a indiqué Bill Wong, rédacteur, spécialiste de la technologie pour le magazine Electronic Design. « Avoir la possibilité d’utiliser un compilateur certifié de Green Hills Software est essentiel pour répondre aux exigences de sûreté comme ISO 26262 et IEC 61508 tout en obtenant des performances maximales du cœur du processeur et des accélérateurs SIMD. Il est crucial pour les clients de disposer d’un tel outil pour produire un code fiable et optimisé ».
La phase de développement d’un logiciel est souvent la partie la plus coûteuse de la création d’un système embarqué. Le Compilateur 2018.1 apporte des capacités inédites pour réduire le délai de mise sur le marché et de production en volume, notamment :
L’intégration de fonctions nouvelles dans la spécification C++14, conformément à la norme ISO/IEC 14882:2014 (exclusions mutuelles/verrouillages partagés pour les applications à plusieurs threads, extension des fonctions lambda et modèles variables, etc.).
Modèles (templates) plus conviviaux pour davantage de flexibilité.
Optimisations améliorées de l’édition de liens (linker) pour éliminer les données inutiles.
Les distributions binaires 32 bits et 64 bits du compilateur permettent de compiler du code volumineux et autogénéré.
Le Compilateur Optimisant C/C++ 2018.1 de Green Hills, avec l’IDE MULTI, est disponible immédiatement pour les architectures Arm, Intel, Power Architecture, RH850, TriCore, MIPS et ColdFire. Ce compilateur constitue un composant essentiel pour développer et déployer des systèmes embarqués sûrs et sécurisés, basés sur le système d’exploitation temps réel INTEGRITY et l’extension INTEGRITY Multivisor.