Denis Barthou

INRIA Bordeaux Sud-Ouest,
Office B235
200 avenue de la Vieille Tour
33405 Talence Cedex, France

Office S214
1 avenue du Dr A. Schweitzer
B.P. 99
33402 Talence Cedex, France

Email: firstname.lastname  at

Phone: +33/0 524 574 116

I'm professor in Computer Science at Bordeaux INP. My fields of interest in research are optimization, compilation for high performance computing applications and interactions with runtime systems. In particular, I am interested in algorithm recognition applied to optimization, high level languages for HPC, compilation/optimization for parallel machines and performance analysis. The word cloud is made of the words used in the title of my publications.
My fields of interest in teaching are, among others, architecture, programming languages, compilation and parallelism.
I'm teaching at the the ENSEIRB/MATMECA engineer school and I'm the head of the Computer Science department at ENSEIRB-MATMECA.
I am working on Supports and Algorithms for High Performance Numerical Applications in LaBRI (Computer Science Department), and managing the Inria STORM team.


My teaching pages can be found at ENSEIRB-MATMECA moodle web site. My teaching schedule is available on-line. Both web sites require an account at ENSEIRB-MATMECA and are in French.

Software Developments

All software of STORM team can be found in its page. I'm particularly involved in the development of:

AFF3CT: A Fast Forward Error Correction Toolbox. AFF3CT is an Open-source software (MIT license) dedicated to the Forward Error Correction (FEC or channel coding) simulations. It is written in C++11 and it supports a large range of codes: from the well-spread Turbo codes to the very new Polar codes including the Low-Density Parity-Check (LDPC) codes. A particular emphasis is given to the simulation throughput performance (hundreds of Mb/s on today's CPUs) and the portability of the code.

PARCOACH: Supercomputing plays an important role in several innovative fields, speeding up prototyping or validating scientific theories. However, supercomputers are evolving rapidly with now millions of processing units, posing the questions of their programmability. Despite the emergence of more widespread and functional parallel programming models, developing correct and effective parallel applications still remains a complex task. As current scientific applications mainly rely on the Message Passing Interface (MPI) parallel programming model, new hardwares designed for Exascale with higher node-level parallelism clearly advocate for an MPI+X solutions with X a thread-based model such as OpenMP. But integrating two different programming models inside the same application can be error-prone leading to complex bugs – mostly detected unfortunately at runtime. The PARallel COntrol flow Anomaly CHecker, aims at helping developers in their debugging phase. It combines static and dynamic analyses to detect misuse of collectives in parallel applications.

I was previously involved in the development of the following softwares:

Current PhD students

A. Cassagne (with IMS) Parallelization and Code Generation for Error Correcting Codes from Factor Graphs.
H. Brunie (with CEA). Characterizing and Using Hierarchical Heterogeneous Memories.
P. Huchant. Static/Dynamic Parallelism Adaptation.

Past PhD students

C. Haine. Kernel Optimization by Layout Restructuring, 2017, U. Bordeaux PhD thesis.
G. Vaumourin. Hybrid Memory Hierarchy and Dynamic Data Handling in Embedded Parallel Architectures., 2016, U. Bordeaux PhD thesis. Now postdoc at U. Uppsala.
E. Saillard. Static/dynamic/iterative analyses for validation and improvement of multi-models HPC applications, 2015, U. Bordeaux PhD thesis. Now Inria Researcher.
B. Putigny. Benchmark-driven Approaches to Performance Modeling of Multi-core architectures, 2014, U. Bordeaux PhD thesis. Now Research engineer at IRAP.
S. Henry. Programming Models and Runtime Systems for Heterogeneous Architectures, 2013, U. Bordeaux PhD thesis. Now Postdoc at Intel Exascale lab., Versailles.
A. Duchateau.Automatic Algorithm Derivation and Exploration in Linear Algebra for Parallelism and Locality, 2013, UIUC PhD thesis, co-directed with Pr. D. Padua. Now software engineer at Pure Storage, Mountain View.
A. Mazouz. Une Etude Empirique des Performances des Applications OpenMP sur les Plateformes Multi-coeurs, 2012, UVSQ PhD thesis, co-directed with Pr. S.-A. Touati. Now software engineer at ATOS/Bull, Paris.
A. Charif-Rubial. On code performance analysis and optimization for multicore architectures, 2012, UVSQ PhD thesis, co-directed with Pr. W. Jalby. Now Research engineer at Intel Exascale lab., Versailles.
J. Jaeger. Source-to-source transformations for irregular and multithreaded code optimization, 2012, UVSQ PhD thesis. Now Research engineer at CEA.
P. Oliveira. Expression and optimization of data reorganizations on data flow parallelism , 2010, UVSQ PhD thesis. Now Assistant Professor at University of Versailles St Quentin en Yvelines (UVSQ).
S. Donadio. Iterative optimization of performance libraries by hierarchical division of codes, 2007, UVSQ PhD thesis, directed by and co-advised with W. Jalby. Now Financial engineer, New York.
C. Alias. Program Optimization by Template Recognition and Replacement, 2005, UVSQ PhD thesis, directed by and co-advised with P. Feautrier. Now Inria Researcher.