A novel parallelisation paradigm of medium-fidelity modules in ASTRA
POSTER
Abstract
The ASTRA suite of codes [1] is a convenient framework for heat and transport mod-
elling of tokamak plasma. Despite being around for almost 50 years, the ASTRA code is
increasingly used in the tokamak community due to its interactive nature, the successful
coupling of several physics modules and equilibrium solvers, and its remarkable speed,
especially when it’s about stiff mdoels like TGLF [2] or QuaLiKiZ [3], thanks to the
Pereverzev-Corrigan algorithm [4].
The ASTRA code has been recently fully refurbished, moving to f90 and modules, and
a python pre-processor instead of the old fortran-based one [5]. A certain degree of
parallelisation has always been available in ASTRA, but a very low-level one, based on
Inter-Process Communication (IPC) and semaphores, involving a complicated sharing of
memory segments and several calls from Fortran to C and back, making this parallelisa-
tion very error prone, difficult to extend and not scalable.
The transport coefficients computed using theory-based models offer great margins of
parallelisation, because they can be calculated independently in each radial location.
In this paper we describe a novel MPI-based approach for parallelising the quasi-linear
models TGLF and QuaLiKiZ and the neoclassical code NEO [6]. We discuss the verifica-
tion of the MPI implementation by benchmarking the modelling of a reference case with
the prediction of the serial version of the codes and the IPC approach. A new scheme with
better separation of gradients calculation allows to parallelise the computation down to
single radial points, therefore allowing favourable scaling on clusters with several tenths
of CPU nodes. Depending on the amount of radial points and the number of CPU nodes,
this can lead to a gain in computing time by a factor ∼10, without any loss in accuracy
nor stability.
[1] G. V. Pereverzev, P. N. Yushmanov, An Automated System of TRansoprt Analysus, IPP
Report 5/42 (1991)
[2] G. M. Staebler et al., Plasma Phys. Control. Fusion 63 (2021) 01501
[3] C. Bourdelle et al., Phys. of Plasmas 14.11 (2007) 112501
[4] G. V. Pereverzev, G. Corrigan, Comput. Phys. Commun. 179(8) (2008) 579
[5] G. Tardini et al., in preparation for Nuclear Fusion
[6] E. Belli, J. Candy, Plasma Phys. Control. Fusion 50 (2008) 095010
elling of tokamak plasma. Despite being around for almost 50 years, the ASTRA code is
increasingly used in the tokamak community due to its interactive nature, the successful
coupling of several physics modules and equilibrium solvers, and its remarkable speed,
especially when it’s about stiff mdoels like TGLF [2] or QuaLiKiZ [3], thanks to the
Pereverzev-Corrigan algorithm [4].
The ASTRA code has been recently fully refurbished, moving to f90 and modules, and
a python pre-processor instead of the old fortran-based one [5]. A certain degree of
parallelisation has always been available in ASTRA, but a very low-level one, based on
Inter-Process Communication (IPC) and semaphores, involving a complicated sharing of
memory segments and several calls from Fortran to C and back, making this parallelisa-
tion very error prone, difficult to extend and not scalable.
The transport coefficients computed using theory-based models offer great margins of
parallelisation, because they can be calculated independently in each radial location.
In this paper we describe a novel MPI-based approach for parallelising the quasi-linear
models TGLF and QuaLiKiZ and the neoclassical code NEO [6]. We discuss the verifica-
tion of the MPI implementation by benchmarking the modelling of a reference case with
the prediction of the serial version of the codes and the IPC approach. A new scheme with
better separation of gradients calculation allows to parallelise the computation down to
single radial points, therefore allowing favourable scaling on clusters with several tenths
of CPU nodes. Depending on the amount of radial points and the number of CPU nodes,
this can lead to a gain in computing time by a factor ∼10, without any loss in accuracy
nor stability.
[1] G. V. Pereverzev, P. N. Yushmanov, An Automated System of TRansoprt Analysus, IPP
Report 5/42 (1991)
[2] G. M. Staebler et al., Plasma Phys. Control. Fusion 63 (2021) 01501
[3] C. Bourdelle et al., Phys. of Plasmas 14.11 (2007) 112501
[4] G. V. Pereverzev, G. Corrigan, Comput. Phys. Commun. 179(8) (2008) 579
[5] G. Tardini et al., in preparation for Nuclear Fusion
[6] E. Belli, J. Candy, Plasma Phys. Control. Fusion 50 (2008) 095010
Presenters
-
Giovanni Tardini
Max-Planck-Institut fuer Plasmaphysik
Authors
-
Giovanni Tardini
Max-Planck-Institut fuer Plasmaphysik
-
Emiliano Fable
Max-Planck-Institut fuer Plasmaphysik