Julien Bigot

Julien Bigot
Atomic Energy and Alternative Energies Commission | CEA · Maison de la Simulation

About

34
Publications
3,005
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
210
Citations

Publications

Publications (34)
Chapter
Performance portability is considered to be an inevitable requirement in the exascale era. We explore a performance portable approach for fusion plasma turbulence simulation code employing kinetic model, namely the GYSELA code. For this purpose, we extract the key features of GYSELA such as the high dimensionality and the semi-Lagrangian scheme, an...
Article
Full-text available
Existing programming models tend to tightly interleave algorithm and optimization in HPC simulation codes. This requires scientists to become experts in both the simulated domain and the optimization process and makes the code difficult to maintain or port to new architectures. In this paper, we propose the \({\textsc {InKS}}\) programming model th...
Article
Full-text available
As the computation power of modern high performance architectures increases, their heterogeneity and complexity also become more important. One of the big challenges of exascale is to reach programming models that give access to high performance computing (HPC) to many scientists and not only to a few HPC specialists. One relevant solution to ease...
Article
Full-text available
Communication and computation overlapping techniques have been introduced in the five‐dimensional gyrokinetic codes GYSELA and GKV. In order to anticipate some of the exa‐scale requirements, these codes were ported to the modern accelerators, Xeon Phi KNL and Tesla P 100 GPU. On accelerators, a serial version of GYSELA on KNL and GKV on GPU are res...
Chapter
Full-text available
This paper demonstrates how OpenMP 4.5 tasks can be used to efficiently overlap computations and MPI communications based on a case-study conducted on multi-core and many-core architectures. It focuses on task granularity, dependencies and priorities, and also identifies some limitations of OpenMP. Results on 64 Skylake nodes show that while 64% of...
Chapter
Full-text available
Existing programming models tend to tightly interleave algorithm and optimization in HPC simulation codes. This requires scientists to become experts in both the simulated domain and the optimization process and makes the code difficult to maintain and port to new architectures. This paper proposes the \(\textsc {InKS}_{\textsf {}}\) programming mo...
Article
Full-text available
Modeling turbulent transport is a major goal in order to predict confinement performance in a tokamak plasma. The gyrokinetic framework considers a computational domain in five dimensions to look at kinetic issues in a plasma; this leads to huge computational needs. Therefore, optimization of the code is an especially important aspect, especially s...
Conference Paper
Exascale implies a major pre-requisite in terms of energy efficiency, as an improvement of an order of magnitude must be reached in order to stay within an acceptable envelope of 20 MW. To address this objective and to continue to sustain performance, HPC architectures have to become denser, embedding many-core processors (to several hundreds of co...
Article
Multistate protein design explores sidechain mutations with the backbone allowed to sample a small, predetermined library of conformations. To achieve Boltzmann sampling of sequences and conformations, we use a hybrid Monte Carlo (MC) scheme: a trial hop between backbone models is followed by a short MC segment where sidechain rotamers adjust to th...
Conference Paper
This article describes how we manage to increase performance and to extend features of a large parallel application through the use of simultaneous multithreading (SMT) and by designing a robust parallel transpose algorithm. The semi-Lagrangian code Gysela typically performs large physics simulations using a few thousands of cores, between 1k cores...
Article
Full-text available
Reproducibility of results is a strong requirement in most fields of research for experimental results to be called science. For results obtained through simulation software using high performance computing (HPC) this translates as code quality requirements. While there are many works focusing on software quality, these typically do not take the sp...
Article
Full-text available
Gyrokinetic modeling is appropriate for describing Tokamak plasma turbulence, and the gyroaverage operator is a cornerstone of this approach. In a gyrokinetic code, the gyroaveraging scheme needs to be accurate enough to avoid spoiling the data but also requires a low computation cost because it is applied often on the main unknown, the 5D guiding-...
Article
High performance architectures evolve continuously to be more powerful. Such architectures also usually become more difficult to use efficiently. As a scientist is not a low level and high performance programming expert, Domain Specific Languages (DSLs) are a promising solution to automatically and efficiently write high performance codes. However,...
Article
This paper addresses non-linear gyrokinetic simulations of ion temperature gradient (ITG) turbulence in tokamak plasmas. The electrostatic Gysela code is one of the few international 5D gyrokinetic codes able to perform global, full-f and flux-driven simulations. Its has also the numerical originality of being based on a semi-Lagrangian (SL) method...
Article
Full-text available
This work describes the challenges presented by porting parts ofthe Gysela code to the Intel Xeon Phi coprocessor, as well as techniques used for optimization, vectorization and tuning that can be applied to other applications. We evaluate the performance of somegeneric micro-benchmark on Phi versus Intel Sandy Bridge. Several interpolation kernels...
Book
Full-text available
Gyrokinetic modeling is appropriate for describing Tokamak plasma turbulence, and the gyroaverage operator is a cornerstone of this approach. In a gyrokinetic code, the gyroaveraging scheme needs to be accurate enough to avoid spoiling the data but also requires a low computation cost because it is applied often on the main unknown, the 5D guiding-...
Article
Full-text available
Gyrokinetic simulations lead to huge computational needs. Up to now, the semi- Lagrangian code Gysela performed large simulations using a few thousands cores (8k cores typically). Simulation with finer resolutions and with kinetic electrons are expected to increase those needs by a huge factor, providing a good example of applications requiring Exa...
Article
Full-text available
As map-reduce emerges as a leading programming paradigm for data-intensive computing, today's frameworks which support it still have substantial shortcomings that limit its potential scalability. In this paper, we discuss several directions where there is room for such progress: they concern storage efficiency under massive data access concurrency,...
Conference Paper
Full-text available
Scientific applications are increasingly getting complex, e.g. to improve their accuracy by taking into account more phenomena. Meanwhile, computing infrastructures are continuing their fast evolution. Thus, software engineering is becoming a major issue to achieve easiness of development, portability, maintenance, while achieving high performance....
Conference Paper
Full-text available
The present work deals with an optimization procedure developed in the full-f global GYrokinetic SEmi-LAgrangian code (GYSELA). Optimizing the writing of the restart files is neces- sary to reduce the computing impact of crashes. These files require a very large memory space, and particularly so for very large mesh sizes. The limited bandwidth of t...
Article
Full-text available
Scientific applications are still getting more complex, e.g. to improve their accuracy by taking into account more phenomena. Moreover, computing infrastructures are continuing their fast evolution. Therefore, software engineering is becoming a major issue to achieve easiness of development, portability, simple maintenance, while achieving high per...
Article
Full-text available
High performance scientific applications provide very interesting challenges from the software engineering point of view. In addition to their high performance requirement, their codes exhibit a long life cycle that includes reuse as part of code-coupling applications. Dedi-cated programming models are required to ease the adaptation of these codes...
Article
Full-text available
Scientific numerical applications are always expecting more computing and storage capabilities to compute at finer grain and/or to integrate more phenom-ena in their computations. Even though, they are getting more complex to develop. However, the continual growth of computing and storage capabilities is achieved with an increase complexity of infr...
Article
Full-text available
Scientific applications are a real challenge for programmers due to their complexity and the amount of data they manipulate. Their execution requires the use of complex and varied hardware resources such as supercomputers, computing clusters and grids. Software component models and specifically those that offer composition schemas dedicated to high...
Article
Full-text available
The continual growth of computing and storage capabilities nable numerical applications to integrate more and more phenomena in their computations at the price of increased complexity. Hierarchical component models appear as an interesting approach to handle such complexity. However defining and implementing efficient interactions between hierarchi...
Conference Paper
Full-text available
A current limitation to component reusability is that component models target to describe a deployed assembly and thus bind the behavior of a component to the data-types it manipulates. This paper studies the feasibility of supporting genericity within component models, including component and port types. The proposed approach works by extending th...
Article
Full-text available
Software components have interesting properties for the development of scientific applications such as easing code reuse and code coupling. In classical component models, component assemblies are however still tightly coupled with the execution resources they are targeted to. Dedicated concepts to abstract assemblies from resources and to enable hi...
Conference Paper
In the seek of more computing power, two sources of complexity are to face. On one hand, it is possible to aggregate a large amount of computing power (and storage) at the price of very complex resources such as grids. On the other hand, such available computing power allows to imagine more complex applications such as code coupling applications to...
Article
Full-text available
Existing high performance component models mainly fo-cus on the efficiency of the composition of two components, tackling also the special case of parallel components that en-able N × M communications. The implementation of paral-lel components is usually assumed to be done thanks to some external communication paradigms like MPI. However, as of to...