2016
Changement de contexte matériel compatible avec un nuage hétérogène de FPGA
Par Bourge Alban (Laboratoire TIMA, Grenoble) le 2016-12-08
- Les accélérateurs matériels occupent un rôle déterminant dans l'informatique actuelle. Leur mission est d'assurer des calculs spécifiques trop complexes pour les systèmes génériques basés sur des processeurs. Une famille de composants électroniques dits « reconfigurables », sont depuis des années considérés comme des candidats idéaux pour assurer l'accélération matérielle dans de nombreux cas : production à faible volume, besoin de mise à jour régulière, besoins d'utilisation flexible etc. En pratique, ils ne sont pas utilisés à la hauteur des gains qu'ils pourraient apporter. Afin de faciliter leur adoption on cherche à rendre l'utilisation d'une telle technologie plus flexible. Dans cette présentation, on propose donc d'étudier et d'améliorer la capacité des puces reconfigurables à être partagées. Pour partager une ressource reconfigurable, il faut prévoir la commutation des tâches s'y déroulant. Cette technique, la commutation de tâches matérielles sur cible reconfigurable, n'est pas nouvelle et appartient à l'état de l'art. On propose dans ces travaux d'utiliser cette technique avantageuse en conjonction avec un flot de conception actuel dit de synthèse de haut niveau.
- Grâce au flot de synthèse de haut niveau, on peut automatiser la génération de circuits commutables portables car non spécifiques à une architecture de puce reconfigurable. Deux propositions viennent compléter la méthode. Celle-ci visent à tirer parti du niveau de manipulation des circuits afin d'améliorer les performances d'un système utilisant des tâches commutables. Dans un premier temps, on sélectionne un ensemble de points de sauvegarde lors desquels la commutation est autorisée. On additionne ensuite un mécanisme d'extraction à la description matérielle de la tâche. Grâce à ces deux contributions ainsi que leur utilisation à haut niveau, on parvient à automatiser la génération de circuits flexibles et ayant un surcout limité compte tenu des caractéristiques additionnelles obtenues. Un démonstrateur utilisant plusieurs technologies de FPGA est présenté. Sa mise en œuvre permet de vérifier la fonctionnalité voulue ainsi que les mesures et caractérisations in situ.
GARPUR project, asset management and outage scheduling proxy
Par Marin Manuel (Université de Liège, Belgique) le 2016-11-04
- The GARPUR FP7-Project aims at developing new probabilistic criteria for the reliability management of power systems, together with the methodologies that will allow system operators to incorporate these criteria over the next few decades at a pan-European level. Three key activities are considered, namely system operation, asset management, and system development, in a comprehensive framework where the longer-term encompasses the shorter-term in a russian doll kind of way. GARPUR Work Package 5 is dedicated to the asset management context where two relevant problems are raised, namely maintenance budgeting and outage scheduling. The present talk deals with the development of approximate models of outage scheduling to be used in the context of maintenance budgeting. A greedy algorithm is proposed, which uses Monte-Carlo simulations to estimate the operational costs incurred by the transmission system operator under different outage configurations. We discuss the details of a Julia implementation designed to run on cluster computing environments. Results of preliminary tests show that the algorithm is able to successfully incorporate the issue of reliability into the outage scheduling decision. Future work will consider the utilization of the tool in maintenance policy assessments and new implementation strategies.
Contributions au routage, qualité de service et la sécurité dans les réseaux ad hoc
Par Baddari Ibtihel (Laboratoire Limose, Université de Boumerdès, Algérie) le 2016-10-06
-
Le routage de données dans les réseaux ad hoc est reconnu comme un domaine de recherche très actif vu les spécificités de ce type de réseau, où la consommation de l'énergie et le passage à l'échelle sont considérés comme les défis majeurs des protocoles de communication proposés. Les solutions proposées dans la littérature pour le routage des données dans les réseaux dynamiques se basent sur des techniques de diffusion d'informations de contrôle pour le calcul de routes, qui conduisent à surcharger le réseau.
-
Le protocole de routage proposé permet de réduire considérablement le coût de la surcharge réseau relativement aux autres protocoles et permettant la résolution de certains problèmes tels que le gain en performance lors de la recherche d'une ressource dans les réseaux ad hoc.
Reproducible, Accurately Rounded and Efficient BLAS (RARE-BLAS)
Par Chohra Chemseddine (DALI/LIRMM) le 2016-09-22
- Modern high performance computation (HPC) performs a huge amount of floating-point operations on massively multithreaded systems. Those systems interleave operations and include both dynamic scheduling and non-deterministic reductions that prevent numerical reproducibility, i.e. getting identical results from multiple runs, even on one given machine. Floating-point addition is non-associative and the result depends on the computation order. Of course, numerical reproducibility is important to debug, check the correctness of programs and validate the results. A way to guarantee the numerical reproducibility is to calculate the correctly rounded value of the exact result.
- Algorithms for Reproducible and Accurate BLAS are presented here. We also present performance results on shared memory, distributed memory parallel systems and Intel Xeon Phi accelerator and show that the cost of our BLAS implementation is satisfying compared to vendor BLAS implementation (Intel MKL library).
Comment calculer sur un processeur à beaucoup de coeurs
Par Goossens Bernard (DALI/LIRMM) le 2016-06-16
-
Les processeurs à beaucoup de cœurs (manycore) piétinent. Ils peinent à dépasser la centaine de cœurs, quand les GPU les plus récents en sont à plus de 5000 cœurs. Nous montrerons dans l'exposé que cela vient d'une inutile complexité de la mémoire qu'ils embarquent (plusieurs dizaine de MB quand un GPU se contente de quelques MB) et de l'interconnexion des cœurs (NoC du Kalray MPPA ou anneau bidirectionnel du Xeon Phi versus une simple juxtaposition dans les GPU). Nous ferons l'inventaire du matériel nécessaire pour calculer en parallèle. Nous insisterons sur l'importance du déterminisme, l'inutilité de la mémoire et nous ferons ressortir un sens de communication privilégié, allant de la cause vers la conséquence. De cela nous tirerons le dessin d'un cœur bâti pour être combiné avec lui-même, simple parce que presque sans mémoire et uniquement relié à ses voisins. Nous montrerons comment construire un processeur à 3000 cœurs.
-
Du côté du logiciel, nous présenterons un nouveau modèle de programmation parallèle, non pas basé sur une parallélisation par le système, comme c'est le cas aujourd'hui par le clonage de threads, mais par une parallélisation par le matériel, basé sur une instruction machine "fork". Nous développerons plusieurs patrons pour paralléliser les boucles : "for", "for conditionnel", "while", "for avec réduction". Nous illustrerons par plusieurs exemples de code C classiques parallélisés comment un programme colonise les ressources à sa disposition : cœurs et threads matériels (multiplication de matrices, tri d'un vecteur, parcours en largeur d'un graphe BFS).
-
Le modèle de calcul que nous décrivons est parallèle et déterministe. Il ne nécessite aucun ajout : le parallélisme s'exprime avec la syntaxe d'un langage de programmation quelconque dans lequel la mémoire et ses structurations sont proscrites (pas de pointeur, pas de tableau, pas de structure). Nos exemples sont tous écrits en C, compilables avec gcc (mais pour être parallélisés, la version de gcc doit être modifiée et produire l'instruction machine "fork") et exécutables (séquentiellement tant qu'un gcc adapté et un processeur parallélisant ne sont pas disponibles). La sémantique parallèle étant équivalente à la sémantique séquentielle dans notre modèle, une exécution séquentielle montre quel résultat l'exécution parallèle produit. On peut ainsi tester des codes parallèles sur une machine séquentielle.
Virtualisation des ressources de calcul flottantes
Par Gacem Chaouch Abdelkarim (DALI/LIRMM) le 2016-05-12
Factorisation de polynômes lacunaires
Par Grenet Bruno (ECO/LIRMM) le 2016-04-07
-
La représentation lacunaire est la représentation naturelle d'un polynôme par la liste de ses monômes non nuls (c'est essentiellement celle utilisée par le mathématicien sur sa feuille de papier). Elle est de taille logarithmique en le degré du polynôme, et donc compacte pour les polynômes de grand degré ayant peu de monômes non nuls. L'algorithmique des polynômes en représentation lacunaire est assez peu développée, en raison entre autres de la découverte dès les années 1970 de résultats de NP-difficulté pour des problèmes aussi simples que le calcul de PGCD. Néanmoins, des résultats plus récents ont démontré qu'il était possible d'effectuer certains calculs efficacement sous cette représentation.
-
Je présenterai une lignée de travaux qui a abouti à des algorithmes de complexité polynomiale pour calculer une factorisation partielle d'un polynôme, ainsi qu'une implantation des algorithmes qui en découlent sous la forme de la bibliothèque Lacunaryx du logiciel libre de calcul formel et analytique Mathemagix.
Towards Fast and Certified Multiple Precision Arithmetic Libraries
Par Joldes Mioara (LAAS-CNRS Toulouse) le 2016-03-24
- GPUs represent nowadays an important development hardware platform for many scientific computing applications that demand massive parallel computations, but currently GPU-tuned multiple precision arithmetic libraries are scarce. We develop CAMPARY: a multiple-precision floating-point arithmetic library using the CUDA programming language for the NVidia GPU platform. Our target applications are in chaotic dynamical systems or automatic control. This is a joint work with V. Popescu, J.-M. Muller and W. Tucker.
Journée annuel du projet ANR MetaLibM
Le 2016-02-17
Journée annuel du projet ANR MetaLibm. * Le programme est accessible ici.
-
Thème principal : la génération automatique de code pour l'arithmétique flottante.
-
La journée commence vers 9h00, et plusieurs exposés seront présentés à partir de 10h00 jusqu'à 16h00 environ (avec une pause pour le déjeuner).
Velocity-based aircraft conflict avoidance through optimal control model and solution approaches
Par Cellier Loïc (DALI-LIRMM) le 2016-01-14
- The purpose of this presentation is to study models and solution techniques based on optimal control approaches to address tactical en-route aircraft conflict avoidance problems via subliminal velocity regulation. A detection and a determination of a priori conflict zones allow the decomposition of the optimal control problem into sub-problems, easier to solve than the original one. A combination of direct numerical shooting method and application of conditions of Pontryagin's maximum principle is proposed, and numerical experiments validate this approach.