2013
Un modèle d'exécution parallèle
Par Goossens Bernard (DALI, UPVD/LIRMM) le 2013-10-18
-
Depuis le début de la lente multiplication des coeurs au sein d'un processeur, chacun cherche a exploiter ces nouvelles ressources de calculs pour diminuer la durée d'exécution des applications. On se tourne vers des algorithmes parallèles, qu'on implémente avec des langages ad hoc couplés à des librairies de fonctions du système qui découpent le code source en tâches, les placent sur les coeurs, les font communiquer et se synchroniser. Il y a aussi l'approche des GPU, originale par son approche SIMD, qui oblige à organiser le code pour en tirer le meilleur parti. Nous avons depuis une dizaine d'année suivi un autre chemin : en partant d'un algorithme parallèle implémenté avec un langage séquentiel, nous nous appuyons sur le parallélisme d'instructions pour exécuter le code en parallèle.
-
Je présenterai dans cet exposé un modèle de processeur "many-core" capable d'appliquer notre modèle d'exécution. Je montrerai comment un flux d'instructions est découpé en threads par une unité matérielle de "fork". Je décrirai un mécanisme de renommage permettant d'exhiber les communications inter-threads ainsi que diverses techniques visant à diminuer ces communications, c'est-à-dire à rendre les threads plus autonomes. Je détaillerai la façon dont les threads sont structurés par un double chaînage, afin de rendre efficace le renommage. Enfin, j'illustrerai le fonctionnement du tout sur un exemple faisant ressortir l'apport de la parallélisation automatique et la facilité et l'efficacité des communications.
Vers un moteur de simulation ensembliste de modèles Simulink
Par Chapoutot Alexandre (ENSTA ParisTech, Paris) le 2013-07-03
-
Simulink est souvent utilisé dans l'industrie pour modéliser et simuler des systèmes de contrôle-commande. Le principal avantage de cet outil réside dans son moteur de simulation qui est capable de prendre en compte des modèles hybrides mélangeant temps continu et temps discret. L'étude de ce moteur de simulation est nécessaire pour mettre en place des outils de vérification formelle de modèles Simulink.
-
Cet exposé est composé de deux parties :
- une présentation du moteur de simulation de Simulink explicitant les algorithmes utilisés pour l'intégration numérique (pas fixe et pas variable), le zéro-crossing,
- une présentation d'une adaptation ensembliste des algorithmes utilisés dans ce moteur de simulation permettant de calculer des ensembles de trajectoires pour des modèles hybrides.
Optimal filter implementation in fixed-point arithmetic
Par Lopez Benoit (LIP6, UPMC Paris) le 2013-04-18
- The great majority of embedded signal processing algorithms is implemented using digital devices such as DSP or FPGA. The computation on these devices is mainly based on integer arithmetic (rather than floating-point arithmetic) since they don't have floating-point unit. The fixed-point arithmetic is used as an approximation of real numbers. Unfortunately the numerical implementation of such algorithms suffers from a deterioration in performance and characteristics, due to the quantization of the embedded coefficients and the roundoff errors occurring in the computations. The main objective of my PhD thesis is to optimize and automate the implementation of a given filter in fixed-point arithmetic, for these devices. In this talk I present the main works realized during the first half of my PhD thesis. In a first part I introduce FiPoGen, a generator of fixed-point code, and then I expose a recent work about "cleaning" the useless bits of a N-term sum in fixed-point arithmetic.