9h15 |
Accueil |
|
|
9h30 |
Florent Hivert |
|
HPC en Combinatoire : Application du vol de tâches
En combinatoire les problèmes trivialement parallèles sont très courant, et le
plus souvent les problèmes qui ne sont pas de ce type font intervenir une
exploration récursive d'une structure arborescente. Le vol de tache est
particulièrement adapté pour résoudre ce genre de problèmes. Dans le cadre de
Sagemath et du projet OpenDreamKit, nous avons développé une implantation en
Python de cet algorithme ainsi que des interfaces pour des modules externes
en Cilk++. Ce travail a été effectué en collaboration avec Jean-Baptiste Priez
et Jean Fromentin.
|
10h |
Joël Falcou |
|
Squelettes algorithmiques asynchrones : application aux langages orientés domaine
La bibliothèque NT2 transcrit des codes de calculs scientifiques
de Matlab vers C++ en utilisant des techniques de génération de codes
à la compilation. Notoirement efficace pour du code scalaire ou vectorielle, cette approche est limitée sur les systèmes SMP par le coût des barrières.
Cette présentation montre comment l'utilisation du mécanisme des Futures et Promesses de C++11 simplifie et augmente les performances de ce types de bibliothèques.
|
10h30-11h |
Pause |
|
|
11h |
Sylvain Jubertie |
|
Retour vers le futur des approches de haut-niveau pour la programmation parallèle: squelettes + DSL.
De nombreuses bibliothèques de haut-niveau basées sur des squelettes algorithmiques et DSL sont développées indépendamment dans de nombreux laboratoires.
Même si les mécanismes utilisés par ces bibliothèques sont très similaires, leurs implantations sont souvent réalisées de manière ad-hoc ce qui limite leur extensibilité et leur évolutivité. Cette présentation reviendra sur quelques bibliothèques de squelettes algorithmiques afin d'identifier les facteurs qui limitent ces approches et proposera quelques pistes pour les résoudre.
|
11h30 |
Gaétan Hains |
|
BSP Automata
We adapt the
theory of finite automata to bulk-synchronous parallel (BSP)
computing. BSP automata are built from vectors of finite
automata, one per computational unit. In their simplest
definition, the vector is enumerated hence the adjective
"enumerated". They preserve all elementary properties of finite
automata except minimization. We also show a novel intensional
parallel programming notation.
|
12h-14h |
Repas |
|
|
14h |
Lionel Lacassagne |
|
High Level Transforms for SIMD and low-level computer vision algorithms
Le parallélisme est maintenant partout dans les processeurs, et il
existe un grand nombre de façon de l'exploiter: parallélisme de
tâche via OpenMP, parallélisme d'instruction via le SIMD (Single
Instruction, Multiple Data). Mais programmer en OpenMP et en SIMD
peut ne pas être suffisant. Nous présentons dans cet exposé un
ensemble de transformations de haut niveau, au delà des capacités
des compilateurs moderne, pour transformer le code et le rendre
vraiment efficace.
|
14h30 |
Ludovic Henrio, Justine Rochas |
|
A Vizualization and debugging tool for multi-active objects
In this talk we will present briefly the multi-active object
model, insisting on its particularities and what makes it easy or
difficult to program. Based on those observations, we will show
you a tool that allows the programmer to vizualize an execution of
a multi-active object program, and allows him to better find bugs,
unplanned interleaving of requests, or deadlocks. The tool relies
on a logging mechanism and graphical components allowing the user
to explore the execution that happened. The particularity of the
tool is that it is dedicated to mullti-active objects, and only
show to the programmer only the abstractions related to this
programming model.
|
15h-15h30 |
Pause |
|
|
15h30 |
Frédéric Gava |
|
Sémantiques Méchanisées d'un langage algorithmique BSP avec sous-synchronisations
Le modèle de parallélisme quasi-synchrone BSP est un modèle structuré de parallélisme qui permet la portabilité des programmes tout en offrant une prévision réaliste de leurs performances sur une grande variété d'architectures. Nous présentons un mini-langage impératif pour la preuve d'algorithmes BSP avec sous-synchronisation ainsi que des sémantiques opérationnelles dans l'assistant de preuve Coq. Nous donnerons quelques lemmes et tenterons de mesurer les difficultés sous-jacentes d'effectuer ces preuves ainsi que les conséquences pour un passage à l'échelle (c'est-à-dire pour un langage de programmation concret)
|
16h |
Hélène Coullon |
|
From DSL to Component-Based Runtime: A Multi-Stencil DSL Case Study
High performance architectures evolve continuously to be more
powerful. Such architectures also usually become more difficult to
use efficiently. As a scientist is not a low level and high
performance programming expert, Domain Specific Languages (DSLs)
are a promising solution to automatically and efficiently write
high performance codes. However, if DSLs ease programming for
scientists, maintainability and portability issues are transferred
from scientists to DSL designers. This presentation deals with an
approach to improve maintainability and programming productivity
of DSLs through the generation of a component-based parallel
runtime. To study it, a DSL for multi-stencil programs will be
presented.
|
16h30 |
Vincent Botbol
reporté |
|
Vérification de systèmes distribués par transducteurs symboliques
Performing static analysis on distributed systems is often a
challenging task. To achieve this goal, we present a concurrency
model based on symbolic transducers. In order to prove safety
properties on such a model, one needs to solve a reachability
problem, which is undecidable. We use the abstract interpretation
framework to compute an over-approximation of the reachability
set, so we can either prove the safety property or raise an alarm
flag.
reporté à la prochaine journée LaMHA (fin mars 2016).
|
17h-17h30 |
Discussions |
|
|