Hybrid-View Programming of Nuclear
Fusion Simulation Code in XcalableMP
Keisuke Tsugane, Taisuke Boku, Hitoshi Murai, Mitsuhisa Sato,
William Tang, and Bei Wang
Abstract XcalableMP(XMP) supports a global-view model that allows programmers to define global data and to map them to a set of processors, which execute
the distributed global data as a single thread. In XMP, the concept of a coarray
is also employed for local-view programming. In this study, we port Gyrokinetic
Toroidal Code - Princeton (GTC-P), which is a three-dimensional gyrokinetic PIC
code developed at Princeton University to study the microturbulence phenomenon
in magnetically confined fusion plasmas, to XMP as an example of hybrid memory
model coding with the global-view and local-view programming models. In localview programming, the coarray notation is simple and intuitive compared with
Message Passing Interface (MPI) programming, while the performance is comparable to that of the MPI version. Thus, because the global-view programming
model is suitable for expressing the data parallelism for a field of grid space data,
we implement a hybrid-view version using a global-view programming model to
compute the field and a local-view programming model to compute the movement
of particles. The performance is degraded by 20% compared with the original MPI
version, but the hybrid-view version facilitates more natural data expression for
static grid space data (in the global-view model) and dynamic particle data (in
the local-view model), and it also increases the readability of the code for higher
productivity.
K. Tsugane
Fujitsu Laboratories Ltd., Kawasaki, Kanagawa, Japan
e-mail: tsugane.keisuke@fujitsu.com
T. Boku
Center for Computational Sciences, University of Tsukuba, Tsukuba, Ibaraki, Japan
e-mail: taisuke@ccs.tsukuba.ac.jp
H. Murai · M. Sato ()
RIKEN Center for Computational Science, Kobe, Hyogo, Japan
e-mail: h-murai@riken.jp; msato@riken.jp
W. Tang · B. Wang
Princeton Institute for Computational Science and Engineering, Princeton University, Princeton,
NJ, USA
© The Author(s) 2021
M. Sato (ed.), XcalableMP PGAS Programming Language,
https://doi.org/10.1007/978-981-15-7683-6_7
181
Précédent

- 186/265

Suivant