La programmation SYCL pour le calcul hétérogène fondé sur du C++ va s'adapter à la sécurité fonctionnelle

[EDITION ABONNES] Consortium industriel éditeur de standards liés à la programmation logicielle, notamment d’API ouvertes dans les domaines du graphique 3D et de la programmation parallèle, le Khronos Group a lancé un groupe de travail sur l’extension du standard SYCL (à prononcer sikel) aux environnements critiques en matière de sûreté de fonctionnement. SYCL est un modèle de programmation de haut niveau qui est destiné aux développeurs utiliant le langage C++ et travaillant sur des architectures matérielles parallèles et hétérogènes. Publié pour la première fois en 2015, le standard a évolué pour aboutir à la publication en 2020 de la spécification SYCL 2020 qui s'appuie sur la version C++ 17 du langage de programmation éponyme, publiée par l’ISO, afin d'accélérer l’exécution d’applications C++ dans des domaines comme le calcul haute performance (HPC), l'apprentissage automatique, l'informatique embarquée, et ce sur un large éventail d'architectures de processeurs CPU et GPU, de FPGA et de blocs d’accélération matérielle.

Le nouveau groupe de travail SYCL SC (Safety Critical), pour lequel le Khronos Group lance un appel à participations, proposera ainsi un dérivé de la spécification SYCL dont l’objectif est de rationaliser la certification de systèmes critiques en matière de sécurité fonctionnelle sur les marchés de l'automobile, de l'avionique, de la médecine et de l'industriel. Au cours de l'année écoulée, la communauté proche des applications critiques pour la sécurité fonctionnelle s'est réunie au sein du Khronos SYCL Safety-Critical Exploratory Forum pour parvenir à un consensus sur les cas d'usage et les exigences de l'industrie. L’idée étant de catalyser et de guider la conception de cette future norme ouverte.

« Les marchés critiques pour la sûreté tels que l'automobile et l'avionique connaissent une augmentation spectaculaire de la complexité des logiciels et du matériel, avec une automatisation de fonctions avancées traditionnellement exécutées par les humains, explique Verena Beckham, vice-présidente de l'ingénierie de la sécurité chez Codeplay (désormais dans le giron d'Intel). Le besoin d'une accélération de calcul entraîne le besoin d'abstractions d’une programmation de haut niveau, ce qui suscite un vif intérêt de l'industrie pour l'évolution de SYCL afin de répondre aux exigences des systèmes critiques pour la sécurité fonctionnelle. SYCL SC devrait ainsi combler le fossé entre les API de bas niveau telles que Vulkan SC et le langage de haut niveau C++ pour rationaliser le développement et la certification des systèmes critiques incorporant une accélération de traitement parallèle, y compris les pipelines d'intelligence artificielle et d'apprentissage automatique. »

D’un point de vue technologique, SYCL SC tirera parti des principes de conception de Vulkan SC et visera à activer des normes ouvertes qui peuvent rationaliser les certifications de sécurité fonctionnelle des systèmes à tous les niveaux de la pile logicielle. Dans ce cadre, le Khronos Group estime que SYCL SC sera un composant clé de nombreuses piles de calcul robustes et critiques pour la sûreté de fonctionnement.

« Avec Vulkan SC et OpenVX, l'industrie a déjà accès à des API de calcul de bas niveau, de vision industrielle et d'apprentissage automatique de haut niveau, et SYCL SC est le chaînon manquant, précise Kenneth Wenger, directeur principal de la recherche et de l'innovation chez CoreAVI. Cette spécification de programmation apportera une accélération du calcul aux systèmes nécessitant une sécurité fonctionnelle avec une interface C++. Avec SYCL SC, Khronos élargit le choix d'abstractions de programmation pour les systèmes critiques afin de répondre aux différents besoins du marché et des développeurs. »

Le SYCL SC respectera les nouvelles directives Misra C++ 202X et s'alignera sur les normes de certification de sûreté de fonctionnement telles que RTCA DO-178C / EASA ED-12C (avionique), ISO 26262/21448 (automobile), CEI 61508 (industriel) et CEI 62304 ( Médical).

D’ores et déjà le groupe de travail SYCL SC a obtenu le soutien d’industriels comme AMD, Arm, Barcelona Supercomputer Center, Codeplay, CoreAVI, Intel, Intellias, Mercedes-Benz et Qualcomm Technologies.

Pour ceux qui sont intéressés par cette initiative, les membres du groupe de travail SYCL SC présenteront une session intitulée "Quoi de neuf dans SYCL pour les systèmes critiques pour la sécurité fonctionnelle", lors de l'atelier international OpenCL et de la conférence SYCL (IWOCL) qui aura lieu du 18 au 20 avril à Cambridge, au Royaume-Uni.