Nous vous rappelons que, afin de garantir l'accès de tous les inscrits aux salles de réunion, l'inscription aux réunions est gratuite mais obligatoire.
Inscriptions closes à cette réunion.
12 personnes membres du GdR ISIS, et 20 personnes non membres du GdR, sont inscrits à cette réunion.
Capacité de la salle : 40 personnes.
Les applications de traitement du signal et de l’image sont de plus en plus présentes dans les systèmes embarqués. Ces applications se caractérisent par l'exécution de nombreux traitements mathématiques plus ou moins complexes. Afin de satisfaire les contraintes des systèmes embarqués, les aspects liés à l’arithmétique doivent être optimisés. Une bonne adéquation entre la qualité du résultat en sortie de l’application et le cout de l’implantation est recherchée. L’optimisation au niveau arithmétique nécessite de nouvelles méthodes et outils associés afin de réduire les temps de développement. L'automatisation de certains processus (par exemple le codage de données en virgule fixe, la conception d'opérateur arithmétique, etc.) est un élément clé.
L'objectif de cette journée est de présenter les avancées récentes dans le domaine de l'architecture et de l'arithmétique pour les applications de traitement de signal et de l’image.
Organisateurs
10h00-10h15 : Présentation de la journée
10:15-11h15 : Tutoriel sur les méthodes d'évaluation de fonctions, F. De Dinechin (CITI/Insa Lyon)
11h15-12h00 : Optimisation arithmétique pour des applications de vision, L. Lacasagne (LRI/Universté Paris Sud)
13h30-14h30 : Conversion virgule fixe et génération de code C/HDL à partir de MATLAB et Simulink, C. Cudicini, (Mathworks)
14h30-15h15 : Démarche industrielle pour la conversion en virgule fixe, E. Nogues (IETR/INSA Rennes)
15h30-15h45 : Le flot de conversion en virgule fixe développé au sein du projet ANR DEFIS, D. Ménard (IETR/INSA Rennes)
15h45-16h30 : Optimisation de noyaux d'algèbre linéaire en virgule fixe, A. Najahi et G. Revy (LIRMM/UPVD)
16h30-17h15 : Du filtre au code : vers une implémentation automatique de systèmes linéaires en virgule fixe, B. Lopez et T. Hilaire (LIP6/UPMC)
17h15-17h30 : Démonstration workflow DEFIS, R. Rocher (IRISA/Université de Rennes I)
Cette présentation s'intéressera à l'implémentation de fonctions mathématiques telles que racine carrée, exponentielle, logarithme, fonctions trigonométriques, etc. De nombreuses bibliothèques mathématiques, à commencer par la libm du C, en fournissent d'excellentes implémentations. Toutefois, on aimerait parfois disposer d'une variante customisée à un problème: matériel spécifique, entrées/sorties en virgule fixe, besoin de précision non standard, fonctions qui ne sont pas dans la bibliothèque.
Dans ce but, ce tutoriel passera en revue les principales techniques d'implémentation d'une fonction, en logiciel ou en matériel. Il existe des techniques générales comme la tabulation, l'approximation polynomiale, les méthodes à base de tables et d'additions. Nous survolerons aussi des techniques plus spécifiques à certaines fonctions, comme les itérations de Newton pour certaines fonctions algébriques, ou la famille CORDIC. Nous apprendrons à en évaluer le coût et la performance.
Sans être exhaustif, nous espérons que ce panorama permettra à un auditeur confronté à l'implémentation d'une fonction de se poser les bonnes questions. Enfin, nous mettrons un accent particulier sur les outils logiciels qui peuvent faciliter cette tâche.
Si les flottants 32 bits ne sont pas très intéressants pour l'embarqué, il n'en va pas de même pour les flottants 16 bits qui sont normalisés depuis 2008 (IEEE 754-2008) et qui présentent un certain nombre d'avantages sur les nombres en virgule fixe. S'il existent depuis longtemps sous différentes formes "custom" pour ASIC et FPGA, ils sont maintenant partiellement disponibles sur GPU et sur processeurs généralistes SIMD (ARM et Intel) et permettent de faire des compromis entre précision et énergie consommée. Nous présentons ici un ensemble de résultats quantitatifs et qualitatifs pour le traitement d'image et la vision par ordinateur pour les systèmes embarqués.
Pendant cette présentation vous découvrirez comment convertir efficacement un code MATLAB ou un modèle Simulink de l’arithmétique virgule flottante à la virgule fixe. Vous apprendrez comment obtenir des propositions pour le type des données, explorer différents compromis et optimiser votre code pour respecter les contraintes liées à l’implémentation de ces algorithmes. Nous aborderons également les étapes suivantes, à savoir la génération automatique de code C/HDL et l’implémentation sur cibles DSP/MCU/FPGA.
Avec l'explosion des télécommunications ces dernières années, les standards sont amenés à évoluer régulièrement pour fournir de meilleures performances (débit, couverture, ...) et permettre une utilisation toujours plus grande. Ces modifications consistent en général à modifier un des éléments de la chaîne (ajout d'une antenne, changement d'ordre modulation, schéma de codage, ..). La méthodologie de conception devient alors un élément essentiel pour les industriels qui doivent leur produit existant. Il doivent à la fois assurer des performances optimales pour leurs systèmes ainsi qu'un temps de développement court et maîtrisé. Parmi les éléments clés à définir, le dimensionnement en virgule fixe de ces nouveaux éléments est essentiel ainsi que leur intégration dans le schéma existant. Dans cette présentation, nous présentons une approche pragmatique en deux étapes qui permet d'assurer les performances du système tout en minimisant le temps de simulation.
L'objectif principal du projet ANR INS DEFIS est de proposer de nouvelles approches pour améliorer l'efficacité du processus de conversion en virgule fixe et de fournir une infrastructure logicielle de conversion automatique d'applications complexes. L'avantage obtenu avec ce flot de conception en termes de temps de développement et de qualité de la solution générée sera démontré à travers les expérimentations sur les applications industrielles. Cette infrastructure permettra de réduire considérablement le temps de conception en automatisant la conversion en virgule fixe et permettra d'explorer le compromis entre la qualité de l'application et le coût d'implantation.
Dans le contexte des systèmes embarqués, l'arithmétique à virgule fixe est une alternative moins coûteuse et plus performante que l'arithmétique flottante. Mais programmer en virgule fixe est difficile pour les non-initiés car cela implique de gérer à la main tous les détails arithmétiques. La synthèse automatique de code constitue alors une des solutions à ce problème.
Dans cette présentation, nous nous placerons dans un contexte sensible à la précision numérique où il est alors nécessaire de pouvoir borner les erreurs dues à l'arrondi des calculs. Après une présentation de notre modèle arithmétique, nous nous intéresserons aux cas particuliers de la synthèse pour des blocs de base d'algèbre linéaire. Dans un premier temps, nous détaillerons un algorithme permettant de réduire la taille du code généré pour la multiplication de matrices tout en garantissant une certaine borne d'erreur sur son évaluation. Dans un second temps, nous présenterons des travaux récents sur la synthèse de code pour l'inversion de matrices triangulaires et la décomposition de Cholesky.
Cette présentation s'achèvera par une démonstration des outils développés, notamment de l'outil FPLA.
L'implantation efficace de systèmes linéaires (filtres FIR ou IIR, contrôleurs, etc.) en des algorithmes virgule fixe est une tâche difficile, longue et source d'erreurs, principalement à cause des problèmes de précision finie. L'arithmétique virgule fixe utilisée dans ce contexte (que cela soit pour une implantation matérielle ou logicielle) implique une détérioration des performances et des caractéristiques des filtres/régulateurs, due à la quantification des coefficients utilisés et aux erreurs d'arrondi des calculs.
Dans cette présentation, nous proposons de détailler le problème d'implantation optimale de systèmes linéaires et listerons les différents leviers possibles afin de gérer le compromis précision/performance/coût d'implantation. Une méthode globale permettant de transformer un système linéaire en une implémentation virgule fixe, avec garantie de précision sera présentée
Date : 2014-07-03
Lieu : Paris - Telecom ParisTech - Amphi Jade
Thèmes scientifiques :
C - Algorithme-architecture en traitement du signal et des images
Inscriptions closes à cette réunion.
Accéder au compte-rendu de cette réunion.
(c) GdR IASIS - CNRS - 2024.