Science of Computing
The Team
The “Science of Computing” team focuses on sciences underlying HPC: computer science and applied mathematics. The team conducts research, builds expertise and engineers tools in the five main themes:
- programming models for HPC and accelerated processing (distributed, multi-core, GPU, FPGA, QPU, etc.),
- system runtime for HPC data handling (in situ processing, IO, etc.),
- high-performance data analytics and visualization (including ML- and AI-based analytics),
- linear algebra and AI algorithms,
- HPC software packaging, deployment and continuous integration.
Please see the list of software, tools and libraries we develop to support these themes.
Our Themes
Programming Models
Contact point: Mathieu Lobet
We possess expertise in novel programming models designed for exascale computing systems that allow for performance portability. This includes models such as SYCL and Kokkos. Furthermore, we conduct research on upcoming heterogeneous computing technologies, including new GPU accelerators, FPGA technology from Maxeler and Intel, as well as ARM-based systems. We develop middleware that simplifies the implementation of high-performance and portable scientific applications across different supercomputers. Additionally, we are interested in addressing the challenges of green computing. Finally, we are exploring new avenues in quantum computing.
Related activities at MdlS:
We develop the DDC library, a key building block of the new C++ Gysela-X application dedicated to Tokamak fusion plasma simulation. We explore different APIs (e.g. Maxeler and OneAPI) for the FPGA implementation of different application kernels (e.g. from molecular dynamics and hydrodynamics applications). We collaborate on the YML research project with the Li-Parad laboratory.
Projects & Collaborations
We participate in the Exa-Soft project of NumPEx, where we lead Task 1.1: “C++ complexity disambiguation for advanced optimizing and parallelizing code transformations”.
We co-lead the CExA Moonshot project, dedicated to the development of a middle-ware for GPU computation.
We participate in the application work package of the French Hybrid HPC-Quantum Initiative project HQI.
Related Software
Runtime for Data Handling
Contact point: Yushan Wang
The runtime for data handling has always been an important topic in high performance computing, especially because of the large amounts of data generated during numerical simulations. In Maison de la Simulation, we have gained expertise in this domain while developing PDI and its variety of plugins. Our activities around this topic include efficient data I/O management and in-situ data analysis. We can provide service on using PDI in scientific simulation models. We can also offer expertise in using Deisa, a Dask based PDI plugin, for efficient in-situ data analysis. We have also strong interests in event detection during simulation, leading us closely connected with the HPDA & Visualization theme group.
Related activities at MdlS:
We contributed to the data management and analysis in ARK-MHD and NOVA++, both applications arise from astrophysics simulations with different emphases.
Projects & Collaborations
We co-lead the Exa-DoST project of NumPEx that focuses on data-oriented software and tools for Exascale, as well as its work-package 3 specifically dedicated to .
Related Software
HPDA & Visualization
Contact point: Martial Mancip
The aim of this group is to develop tools for the data analysis of numerical simulations either in-situ while running on a super-computer or with data written on disks. We use computer vision technics (supervized deep learning with labeled and oversampled data) to detects events/patterns and build global metrics of the simulation evolution. We also work on the visualisation of ensemble of simulations through the TiledViz tool and work with standard computer science frameworks like Visit, Paraview ,and VMD to build efficient analysis and visualisations of the results of massively-parallel simulations.
We are also working with AI and machine learning technics to analyse complex data as produced in medicine/biology applications.
Related Software
Packaging, Deployment & CI
Contact point: Julien Bigot
MdlS has a unique experience related to deployment due to its multiple points of view, be it as end-users, library developers, or super-computer administrators.
Our joint activity with IDRIS ensures we have engineers in charge of the user-facing software stack deployment on both the Jean-Zay national supercomputer as well as regional clusters such as Mesocentre Moulon that participate to the activity.
Our activity of production grade library development has lead us to build a strong expertise in deployment, packaging and continuous integration in order to offers tools that cal actually be used in practice.
Our support to end-users in the Science by Computing team enables us to identify use-cases are required features from a user point of view. We for example have a strong experience with Containers such as Singularity on super-computers like Adastra.
In 2023, MdlS is launching a dedicated activity on this subject. We build on our experience with Spack, in collaboration with its US developers, and explore Guix-HPC in close link with its founder at Inria. This takes place in the framework of the NumPEx program.
Projects & Collaborations
We co-lead work-package 3 of the Exa-DI project of NumPEx, dedicated to HPC software packaging, deployment & continuous integration.
Software
DDC
DDC (a Discrete Domain Computation library) is a header-only C++ library that implements tools for multi-dimensional meshes. It provides a multi-dimensional container (based on C++23 mdspan), iterators over geometric elements, and type-safe array indexing. Giving a mesh semantic to algorithms allows writing either mesh-generic algorithms or, on the contrary, optimized algorithms for specific types of meshes. Find out more…
Related theme: programming models
Deisa
Deisa (Dask-enabled in situ analytics) is a tool to couple MPI simulation codes with Dask analytics. Find out more…
Related theme: runtime for data handling
PDI
PDI (the PDI Data Interface) supports loose coupling of simulation codes with libraries: the simulation code is annotated in a library-agnostic way and used from the specification tree. This approach works well for several concerns, including parameters reading, data initialization, post-processing, result storage to disk, visualization, fault tolerance, logging, inclusion as part of code-coupling, inclusion as part of an ensemble run, etc. Find out more…
Related theme: runtime for data handling
TiledViz
TiledViz is a web application developed at the Maison de la Simulation. It enables to manage sets of simulation results from a post-processing server and displays them in a predetermined order by analyzing the metadata associated with the images. Find out more…
Related theme: HPDA & visualization
YML
YML is a research project that aims to provide tools for using global computing middleware such as GRID, Peer to Peer, and a metacomputing environment. YML software architecture enables the definition of parallel application independently of the underlying middleware used. Parallel applications are defined using a workflow language called YvetteML. Find out more…
Related theme: programming models