Matthieu Haefele

I am an engineer in scientific computing and visualization at IPP and member of the HLST team. Specialist in application development, the spectrum of my skills ranges from the efficient implementation of dedicated numerical schemes to visualization of their results including MPI/OpenMP implementations and code optimization.

Curriculum Vitae

Photo de Matthieu Haefele
Boltzmann Strasse 2
D-85748 Garching

Main projects

Porting an HPC application on a Intel Xeon Phi architecture

The new processors family from Intel named Many Integrated Cores (MIC) requires a larger parallelization effort than on standard Intel Xeon processors. That is the price to pay in order to access more computing power. I have realized this project in the context of nuclear fusion research and I have obtained reasonnable results, namely an acceleration factor between x2 and x3 compared to a standard Xeon with Sandy Bridge micro-architecture.

Scaling of the "All-to-All" communication pattern on Petaflop computers

Also in the context of nuclear fusion research, some codes use the so-called "All-to-All" communication pattern to transpose a distributed matrix. Several methods have been implemented and evaluated on different architectures and up to 65536 cores. The best method depends on the architecture but it is worth noting that an application deployment with one MPI task per core makes still sense on this kind of machines even if sometimes the MPI initialization time becomes large. For more informations.

Project-team CALVI : contribution to the design and the implementation of a numerical simulation platform

CALVI is a project-team of French National Institute For Research in Computer Science and Control (INRIA) bi-localized in Nancy and Strasbourg and is a collaboration between three research institutes. In this framework, I have contributed to the design and the implementation of a numerical simulation platform. It consists in a set of softwares which allow to implement, validate and compare quickly numerical methods for the Vlasov-Maxwell system.

The platform principle consists in splitting a numerical method into modules, which can be grouped in three categories: test cases, exports and computations. Test cases modules contain the standard tests descriptions used to validate numerical methods. Exports modules can export on disk the simulation results for visualization purpose. Finally, computation modules contain the real numerical method which solve particular equations. As a consequence, a new method can be easily introduced into the platform by building the appropriate computation module. Then, test cases and export modules can be directly used to validate the new scheme and to compare it with existing ones.

European project EUFORIA: contribution to post-processing and visualization part of software infrastructure

EUFORIA (EU Fusion fOR Iter Applications) is a project funded by European Union under the Seventh Framework Programme (FP7) which will provide a comprehensive framework and infrastructure for core and edge transport and turbulence simulation, linking grid and High Performance Computing, to the fusion modeling community.

My contribution to this project consists in providing a set of unified visualization tools for the codes integrated in the platform. Some of these tools are used to post-process the data generated by the codes, others are integrated into the workflow manager system (Kepler) to allow visualization and monitoring of the results during the execution of the workflow. The visualization tools developed in this framework are based on existing open source software like Python, numpy and matplotlib on the one hand and VTK on VisIt on the other hand.

PhD work

Numerical simulation

The first part of my PhD consists in an adaptive and parallel implementation of a numerical method that solves the one dimensional Vlasov-Poisson system. The starting point is the semi-lagrangian numerical method. Thanks to a wavelet decomposition, computations are performed on an adaptive grid instead of a regular grid. Algorithms complexity is then reduced and the error introduced by the mesh compression is controlled by a user defined compression threshold. Thanks to a dedicated data structure, the parallel implementation shows algorithms complexity and a good speedup until 64 processors on a shared memory architecture.

Distribution function
Structured Mesh
Adaptive computational mesh
Distribution function
(color = f(x, vx))
Structured Mesh
512 x 512 = 256K points
Adaptive computational mesh
43K points (17%)

Scientific visualization

The second part of my PhD consists in the design of a dedicated compression scheme for large multidimensional functions visualization, especially 4D scalar functions coming from codes that solve the 2D Vlasov-Poisson system. The resulting visualization uses an hyperslicing method where the user selects and modifies interactively the visualized 2D slices. The main issue resides in the size of the 4D dataset ( > 2 GB). So dataset is compressed thanks to a hierarchical base of finite elements. Locality of compression algorithms has enabled their integration into different parallel simulation codes, so they can directly export the 4D compressed function. Data reduction (factor between 10 and 100) and dedicated data structures allow the plasmaViz visualization software to build the required slices at interactive frame rates ( > 10 frames/s).

PlasmaViz screen shot