C++ a obtenu le support officiel d'une nouvelle plateforme : ce que cela signifie pour les développeurs
La communauté des développeurs C++ a accueilli une nouvelle importante : le langage de programmation C++ prend désormais officiellement en charge une nouvelle plateforme de calcul. Cet événement ouvre aux ingénieurs et aux entreprises des possibilités supplémentaires pour créer des applications haute performance fonctionnant dans des environnements hétérogènes modernes. Il s'agit de l'intégration complète de C++ avec la plateforme RISC-V — une architecture de jeu d'instructions (ISA) ouverte qui gagne rapidement en popularité dans les systèmes embarqués, l'IoT, et désormais dans les solutions serveur.
Qu'est-ce que RISC-V et pourquoi est-ce important
RISC-V est une architecture ouverte et modulaire qui ne nécessite pas de licence. Contrairement aux architectures propriétaires ARM ou x86, RISC-V permet aux développeurs d'adapter le cœur du processeur à leurs tâches sans redevances. Principaux avantages :
- Ouverture et flexibilité : absence de redevances de licence et possibilité de modifier l'architecture pour des projets spécifiques.
- Modularité : prise en charge d'extensions (calcul vectoriel, sécurité, apprentissage automatique) sans modifier le jeu d'instructions de base.
- Écosystème en croissance : RISC-V est déjà utilisé dans les microcontrôleurs, les accélérateurs IA, et plus récemment dans les processeurs serveur (par exemple, StarFive, SiFive).
Ce qui a changé dans C++ pour le support de RISC-V
Les changements clés ont été apportés à la bibliothèque standard C++ et à la chaîne d'outils du compilateur GCC/LLVM. Désormais, les développeurs peuvent :
- Compiler du code C++ pour RISC-V avec le support complet des normes C++20/23, y compris les modules, les coroutines et les concepts.
- Utiliser des opérations atomiques garanties pour RISC-V, ce qui est essentiel pour les applications multithread sur les nouveaux processeurs.
- Obtenir des extensions vectorielles optimisées (RVV), permettant d'exécuter efficacement des tâches d'apprentissage automatique et de traitement du signal en C++ sans optimisation manuelle en assembleur.
- Travailler avec de nouvelles capacités matérielles : mémoire protégée, extensions pour la cryptographie et le traitement en temps réel.
Avantages pratiques pour les développeurs
L'intégration de C++ avec RISC-V ouvre plusieurs directions :
- Systèmes embarqués et IoT : le code C++ peut s'exécuter sur des microcontrôleurs RISC-V économes en énergie avec une surcharge minimale.
- Calcul haute performance (HPC) : les puces RISC-V serveur démontrent déjà des performances compétitives, et C++ reste le langage principal pour les applications HPC.
- Sécurité : le support de l'isolation matérielle des processus (PMP) en C++ permet de créer des systèmes sécurisés sans utiliser de RTOS tiers.
Comment commencer à utiliser C++ sur RISC-V
Pour les expérimentations, il faudra :
- Installer une version récente de GCC (≥13) ou Clang (≥17) avec le support RISC-V.
- Télécharger l'émulateur Spike ou QEMU pour RISC-V — il permet d'exécuter du code C++ sans matériel réel.
- Utiliser les drapeaux de compilation standard, par exemple :
g++ -march=rv64gc -std=c++23 program.cpp -o program. - Tester avec le SDK officiel de RISC-V International.
La nouvelle du support de C++ pour RISC-V n'est pas