Emmanuel Agullo (CONCACE)

Table of Contents

Isidore Krapo

1. Home

1.1. Position

I'm an Inria research scientist in the concace project team.

1.2. Contact

Emmanuel Agullo
Inria Research Center at the University of Bordeaux
200 Avenue de la Vieille Tour
33405 Talence

+33 5 24 57 41 50

mailto:emmanuel_dot_agullo_at_inria_dot_fr

1.3. Interests

  • Numerical linear algebra
  • Task-based programming
  • Numerical and parallel composability

1.4. Visit us

I'm part of the Bordeaux concace Team, located in the main building of the Inria Research Center at the University of Bordeaux, on Talence campus.

Bordeaux Team building

How to get there

1.5. Internal (private)

2. Research

2.1. Objective

My main research objective is to study whether linear algebra algorithms and software can be written in a high-level fashion while achieving high-performance on modern supercomputers.

2.2. Motivation

My thesis is twofold:

  • most advanced developments in numerical linear algebra do follow neither SoC principles nor even Elementary Algebra concepts.
  • it is possible to revisit (at least some of) them in a more composable fashion.

I illustrate the discussion below with two structuring research axes I am working on.

2.3. Task-based programming as a SoC principle

The main motivation not to follow SoC principles in a HPC context is that tackling modern architectures requires optimizations at many levels. As a consequence, achieving high-performance of a given numerical algorithm on a target platform may be more naturally achieved by optimizing the design at a low-architectural level (MPI, threads, Cuda, …).

In the context of the Matrices Over Runtime Systems (MORSE) Associate Team, we have shown that we can achieve a performance competitive with algorithms and software optimized at a low architectural level. Furthermore, we have shown that this abstraction can leverage . All in all we have developed a robust linear algebra library relying on innovative runtime systems that can fully benefit from the potential of modern supercomputers.

The ANR MN SOLvers for Heterogeneous Architectures over Runtime systems (SOLHAR) and ANR PRCE SOLvers for Heterogeneous Architectures over Runtime systems, Investigating Scalability (SOLHARIS) projects have extended that to the case of irregular sparse direct algorithms. In the context of the Fast and Scalable Hierarchical Algorithms for Computational Linear Algebra (FastLA) Associate Team, we showed that the same abstraction could successfully be employed to design Fast Multipole Method (FMM) and other hierarchically low-ranl algorithms.

2.4. Revisiting mathematical expressions of numerical linear algebra

Maybe more surprisingly for a field that contains "linear algebra" in its name, it may be debatable whether advanced developments in numerical linear algebra follow Elementary Algebra concepts.

In the context of the ANR Algebraic and geometric domain decomposition for subsurface / groundwater flows DEDALES, Louis Poirel's PhD thesis showed that we could more efficiently compose Abstact Schwarz methods by redesigning them at a higher mathematical level. We are currently investigating how to do so for Krylov subspace methods and hierarchically low-rank algorithms.

3. Publications

4. Software

As discussed in Research, according to Wikipedia, Numerical Linear Algebra was developed by computer pioneers in order to apply the earliest computers to problems in continuous mathematics (Wikipedia). It is therefore not surprising that the numerical linear algebra community as its whole devotes a significant amount of his work to software design to assess their investigations. The concace team follows this philosophy. Here is my involvement.

4.1. compose: main current software project

My main current research interest is in the parallel and numerical composability of numerical algorithms, especially linear algebra algorithms. The ultimate goal is to integrate this research into the compose parallel numerical linear algebra software suite. This on-going development extends maphys++ software to handle a larger range of numerical algebra routines. It will be used to assess the numerical and parallel composability of a wide range of linear algebra algorithms.

This project shall be central for both the concace team in general and my personal research perspectives in particular. My personal contribution in this central project is in terms of design. Most of the actual software development is performed by Gilles Marait, sed / concace research engineer.

4.2. Software environment

4.2.1. guix and guix-hpc: GNU Guix for High-Performance Computing

I am strongly involved in the guix-hpc initiative to ensure robust of deployment of scientific sofware on modern supercomputers, an important concern for reproducibility in HPC.

4.2.2. elementaryx: Elementary set up for research and development in scientific computing

I'm developping and maintaining a tentative set up for research and development in scientific computing. This setup consists in an elementary coupling between guix and emacs. This is the elementaryx project.

4.3. Other scientific software projects

4.3.1. maphys++

maphys++ is the successor of maphys. It is a complete redesign based on the mathematical results of Louis Poirel's PhD thessis showing how to design composable Abstact Schwarz methods.

I have co-supervised its design and development. Most of the actual software development was done by Gilles Marait.

4.3.2. chameleon

chameleon was born in the context of the Matrices Over Runtime Systems (MORSE) Associate Team (see The Chameleon solver is born). It proved that we can write dense linear algebra algorithms and software at a high level with respect to the architecture. This abstraction allowed to join the respective expertise of researchers in linear algebra with that of researchers in runtime systems and scheduling. The key abstraction was the design of HPC numerical algorithms as a Directed Acyclic Graph (DAG) of tasks.

I used to be the leader of the project, as well as one of the main developers and maintainers, especially in the first years. This project has since attracted much more attention and most of the maintenance is now ensured by colleagues from topal and sed, especially Mathieu Faverge and Florent Pruvost, respectively.

4.3.3. qrmumps

qrmumps is a software package for the solution of sparse, linear systems on multicore computers. It implements a direct solution method based on the QR factorization of the input matrix. The qrmumps project is led by Alfredo Buttari (IRIT).

After we got success in expressing dense linear algebra algorithms at a high-level of expression through task-based programming, we decided to investigate whether we could do so with more irregular algorithms, such as the factorization of sparse matrices.

My main contribution to the project has been the help to its task-based design. Most of this joint work was done in the context of the ANR MN SOLvers for Heterogeneous Architectures over Runtime systems (SOLHAR) and ANR PRCE SOLvers for Heterogeneous Architectures over Runtime systems, Investigating Scalability (SOLHARIS) projects.

4.3.4. scalfmm

scalfmm is a C++ library that implements a kernel independent Fast Multipole Method (FMM). The scalfmm project is led by Olivier Coulaud.

After the success of the early developments of Matrices Over Runtime Systems (MORSE) Associate Team and of the design of the prototype of what would become chameleon, the Fast and Scalable Hierarchical Algorithms for Computational Linear Algebra (FastLA) Associate Team was started to develop fast and scalable hierarchical algorithms. The research of both associated teams was strongly connected, especially regarding the design of task-based algorithms. It was decided to develop a task-based version of the FMM.

My main contribution to the scalfmm project has been the help to its task-based design. Most of this joint work was done in the context of the Fast and Scalable Hierarchical Algorithms for Computational Linear Algebra (FastLA) Associate Team.

4.4. Educational purpose dense linear algebra solver

I'm also involved in the development and maintenance of the mini-chameleon educational-purpose dense linear algebra solver. As provided, it essentially provides drivers while the actual computational routines remain to be completed. The goal is to implement a dense matrix-matrix product and an LU factorization, first targeting a sequential implementation, followed by an SIMD version, a shared-memory OpenMP one, a distributed-memory MPI one, an MPI+OpenMP one, a runtime-based (starpu) one, and a GPU-accelerated one.

4.5. Past involvement in scientific software projects

5. CV

5.1. Professional history

5.2. Supervision of students and early-stage researchers

5.2.1. Post-doctoral researchers

5.3. Supervision of technological development

5.3.1. Engineers

5.4. Responsabilities

5.4.1. Member of conference scientific committees / Participation à des comités de lecture (conférence)

5.4.3. Participation à des conseils ou commissions

5.4.4. Organisation de conférences

  1. Steering committee
  2. Conference Co-chair
  3. Program Committee Co-Chair
  4. Program Committee Track Co-Chair
  5. Local organizer

5.4.5. Organisation de mini-symposiums

  1. Task-based programming
  2. Resilience
  3. Other themes (Autotuning, Manycore architectures)

5.4.6. Tâches d'intérêt collectif

5.5. Management

5.5.1. As a Project Leader

  1. International Initiative
  2. Region Initiative

5.5.2. As a Project Member, involved in proposal writing

  1. International Initiatives
  2. European Initiatives
  3. National Initiatives
  4. Regional Initiative
  5. Inria Initiative

5.6. Teaching

5.6.1. Vacations

Typical yearly teaching:

  • Operating systems (24h), M1, Bordeaux University;
  • High-performance numerical linear algebra (8h), 3A, Enseirb;
  • Numerical algorithms (20h), 1A, Enseirb.

5.6.2. Summer Schools

  1. Co-Organizer (and Instructor)
  2. Instructor

5.7. Visibility

5.7.1. Exposés pléniers invités

5.7.4. Project Reviewer

  1. International
  2. Regional

Created: 2024-04-17 Wed 09:22

Validate