9h30 10h30 R. Namyst
(Inria)
Titre : Programming modern (accelerator-based)
multicore machines: a
runtime system's
perspective
Résumé : Heterogeneous
accelerator-based parallel
machines, featuring manycore CPUs and with GPU accelerators provide an unprecedented amount of processing power per node. Dealing with such
a large number of heterogeneous
processing units -- providing a highly unbalanced computing power
-- is one of the biggest
challenge that developpers
of HPC applications have to face. To Fully tap into the potential
of these heterogeneous
machines, pure offloading approaches,
that consist in
running an application on regular processors while offloading part of the
code on accelerators, are not sufficient.
In this talk, I will go through the major programming tools that were designed to harness parallel architectures. I
will discuss some of the most critical issues programmers have
to consider to achieve
portability of performance, and I will
show how advanced runtime
techniques can greatly
speed up applications.
Eventually, I will give some insights about the main
challenges designers of program-ming environments
will have to face in upcoming years.
10h30 -11h Café
11h00 -12h00 G. Bosilca
(Inria & UTK)
Titre : Parallel Runtime Scheduling and Execution
Controller (ParSEC)
Design of systems exceeding 1 Pflop/s and inching towards 1 Eflop/s forced a dramatic shift in hardware design. Various
physical and engineering constraints
resulted in introduction of massive parallelism and functional hybridization with the use of accelerator units. This paradigm change brings about a serious challenge for application developers
as the management of multicore proliferation and heterogeneity rests on software.
This presentation will introduce a distributed runtime PaRSEC (Parallel Runtime Scheduling and Execution Controller), a runtime controller designed for massively parallel highly heterogeneous systems. Unlike other runtimes, PaRSEC mark a sharp break in its use of parameterized tasks graphs to provide a complete representation of the entire execution pattern, a symbolic representation allowing for an efficient distributed
scheduling of tasks. Additionally, this representation disconnects the algorithmic expressions from the
data distribution, providing programmers
with a higher-level
abstraction where exploring
different data distributions and load-balancing
can be done
without a rewriting of the algorithm
itself. Based on this runtime, a new dense linear algebra package have been developed, that approach distributed-memory
machines with the use of automatic
dependence analysis and
the Direct Acyclic Graph Engine
to deliver scalable high performance over many thousands of heterogeneous computing resources.
9h30 - 10h30 E. Darve
(Stanford)
Titre : Fast linear algebra for matrices with low-rank hierarchical structures
Résumé : Dense direct solvers
have long had limited
application because of their
relative computational cost
compared to iterative solvers such as multigrid, conjugate gradient,
etc. However there are
many problems in which iterative solvers fail, for various reasons, including the absence of a good and computationally
cheap preconditioner. We
are attempting to address these issues by developing a new
class of direct solvers with
a computational cost of O(N) where N is
the size of the matrix. These solvers
leverage the low-rank
structure of certain off-diagonal blocks in the matrix. They
are based on the Gaussian elimination and therefore do not suffer from convergence
limitations of iterative methods.
We will demonstrate
results both on dense
and sparse matrices.
10h30 -11h Café
11h00 - 12h00 Benoit Lizé
(EADS)
Titre : Parallélisation d'un solveur direct rapide : H-Matrix.
Application aux équations des ondes.
Résumé : La discrétisation d'équations
intégrales par la méthode des éléments finis de frontière (BEM) mène à la
résolution de grands systèmes linéaires pleins, dont le nombre d'inconnues
$n$ dépasse largement $10^6$ dans les problèmes industriels.
Cette résolution est soit directe, avec un coût
en $O(n^3)$, soit itérative, pour un coût de $O(n^2
× n_{iter})$. Dans les deux cas, ce coût devient prohibitif
pour des problèmes de grande taille. La méthode multipile
rapide (FMM) amena des avancées spectaculaires dans les années 2000
(particulièrement dans une implémentation parallèle), réduisant la
complexité d'un solveur itératif à $O(n log^2(n)
n_{iter})$. Elle hérite néanmoins des
inconvénient usuels des solveurs itératifs (convergence, grand nombre de
seconds membres).
Nous présentons ici l'application de la méthode
des H-Matrices, permettant de réaliser un solveur direct avec une complexité $O(n log^α(n))$. Cette méthode, basée sur des principes
similaires à la FMM (approximations hiérarchiques, séparation des variables) se
formalise par des algorithmes naturellement récursifs. Ceux-ci sont très
irréguliers en terme de consommation mémoire et temps de calcul, et possèdent
des dépendances non triviales entre les étapes de calcul, ce qui rend
leur parallélisation délicate. Nous donnerons
une parallélisation efficace de ces algorithmes,
basée sur un formalisme récent de graphe de tâches, au-dessus d'un moteur
d'exécution, ici QUARK et StarPU.
La description plane de ces algorithmes sous la
forme de graphe acyclique orienté (DAG) exprimant les contraintes d'exécution
permet une parallélisation efficace, en
mémoire partagée et distribuée, ainsi que sur architectures hybrides. Nous
présenterons des applications industrielles à des problémes d'électromagnétisme
et acoustique aujourd'hui inaccessibles au calcul par d'autres méthodes.