Le français GreenWaves divise par 5 la consommation de son processeur IoT ultrasobre dopé à l’IA

GreenWaves

La jeune société grenobloise GreenWaves, qui a lancé en 2018 le GAP8, un processeur d’application IoT de classe microcontrôleur renforcé par l’intelligence artificielle (IA), a profité du RISC-V Summit, qui s’est tenu du 10 au 12 décembre derniers, pour dévoiler un nouveau membre de la famille, le GAP9. ...Ce second rejeton, dont l’entrée en production est prévue début 2021, bénéficie d’évolutions architecturales par rapport à son aîné et d’un passage en gravure FD-SOI 22 nm chez GlobalFoundries (contre un procédé TSMC 55 nm pour le GAP8). A la clé une puissance globale de calcul de 50 gigaopérations par seconde (Gops) pour une consommation de seulement 50 mW.

Comme son aîné, le GAP9 doit permettre aux utilisateurs d’embarquer des fonctions d’apprentissage automatique et de traitement du signal dans des objets alimentés sur pile ou par récupération d’énergie ambiante comme les capteurs IoT utilisés dans les secteurs du bâtiment connecté, de l’électronique grand public ou de l’industriel, et les dispositifs médicaux ou grand public portés sur soi. Avec de gros plus par rapport au GAP8 - dont GreenWaves vient de recevoir les premières commandes de production -, une consommation énergétique divisée par cinq et une capacité à traiter des réseaux de neurones dix fois plus larges.

Dans le détail, le GAP9 repose sur les mêmes concepts architecturaux que son aîné avec notamment la présence d’une grappe de cœurs RISC-V (neuf ici toutefois, contre huit pour le GAP8), associée à un bloc matériel d’accélération des calculs à convolution (voir illustration ci-dessus). On y trouve aussi un dixième cœur, distinct et indépendant des neuf précédents, qui se charge de la communication, du contrôle système et de la préanalyse des informations. La puce se distingue toutefois du GAP8 par une capacité RAM interne trois fois supérieure (1,6 Mo), une bande passante crête de 41,6 Go/s pour la mémoire partagée de niveau 1, une fréquence maximale de 400 MHz pour la grappe de cœurs (contre 175 MHz pour le GAP8) et des états de consommation plus nombreux. 

GreenWaves y a aussi ajouté la prise en charge des opérations arithmétiques en virgule flottante par tous les cœurs en intégrant dans chacun d’eux une unité de gestion des nombres en virgule flottante en précision 8, 16 ou 32 bits avec capacité de vectorisation. Les traitements en virgule fixe ont aussi été étendus aux opérations 2 bits et 4 bits vectorisées. Des caractéristiques qui, selon la société, font du processeur GAP9 une plate-forme idéale pour les applications à profondeur élevée de quantification qui doivent rester éco-efficaces, et qui simplifient le portage de bibliothèques de traitement du signal à virgule flottante existantes.

Selon la société, GAP9 gère les réseaux de neurones sophistiqués tels que MobileNet v1 avec une capacité de traitement d'une image 160 x 160 en seulement 12 ms avec une consommation d'énergie particulièrement faible de 806 μW/image/s. Le processeur offre en outre une bande passante mémoire effective vingt fois supérieure à celle du GAP8, permettant notamment des améliorations significatives de la précision de détection via l’analyse simultanée de flux de données provenant de plusieurs capteurs différents tels que caméras, microphones ou radars…

GreenWaves a aussi porté un soin particulier aux interfaces d’entrées/sorties en intégrant à son processeur IoT des interfaces audio numériques multicanaux et une interface caméra Mipi CSI-2, en sus de la traditionnelle interface parallèle. Un choix qui permet, dans des applications de surveillance par exemple, d’utiliser une caméra basse consommation et basse résolution pour l’analyse de scène et de basculer sur la caméra haute résolution pour l’extraction d’une zone d’intérêt et l’analyse de certains détails.

La sécurité a également bénéficié d’une attention particulière avec l’apport de fonctions de sécurisation du firmware et des modèles et l’ajout de mécanismes de protection de la puce contre les piratages. On trouve ainsi dans le processeur GAP9 un bloc de chiffrement AES128/256 et une unité PUF (Physical Unclonable Function) garante de l’identification unique et sécurisée de la puce.

Coté outils, la puce tire parti de toutes les évolutions apportées au kit de développement logiciel (SDK) GAP depuis le lancement du GAP8, et notamment à l’outil GAP AutoTiler, qui permet de générer automatiquement du code pour les graphes de réseaux de neurones avec une réduction des mouvements de données de et vers la mémoire jusqu’à 1,2 fois le minimum théorique. La suite GAPFlow, de son côté, automatise la conversion des réseaux de neurones à partir des packages d’apprentissage tels que Google TensorFlow. On trouve aussi dans le SDK un simulateur du GAP9, qui, selon GreenWaves, est dans les mains de certains utilisateurs depuis mai 2019 et permet d’aller très loin dans le débogage de la puce sur une station de travail. Le SDK GAP est déjà disponible dans le répertoire GitHub de GreenWaves et des plates-formes de développement GAP9 devraient être proposées dès le début de l'année prochaine.

Vous pouvez aussi suivre nos actualités sur la vitrine LinkedIN de L'Embarqué consacrée à l’intelligence artificielle dans l’embarqué : Embedded-IA