Hybrid-view programming of nuclear fusion simulation code in the PGAS parallel programming language XcalableMP
Abstract
Recently, the Partitioned Global Address Space (PGAS) parallel programming model has emerged as a usable distributed memory programming model. XcalableMP (XMP) is a PGAS parallel programming language that extends base languages such as C and Fortran with directives in OpenMP-like style. 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 local-view 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 programmingmore »
- Authors:
-
- Univ. of Tsukuba, Ibaraki (Japan)
- RIKEN, Hyogo (Japan)
- Univ. of Tsukuba, Ibaraki (Japan); RIKEN, Hyogo (Japan)
- Princeton Univ., Princeton, NJ (United States)
- Publication Date:
- Research Org.:
- Princeton Plasma Physics Lab. (PPPL), Princeton, NJ (United States)
- Sponsoring Org.:
- USDOE
- OSTI Identifier:
- 1332725
- Resource Type:
- Accepted Manuscript
- Journal Name:
- Parallel Computing
- Additional Journal Information:
- Journal Volume: 57; Journal Issue: C; Journal ID: ISSN 0167-8191
- Publisher:
- Elsevier
- Country of Publication:
- United States
- Language:
- English
- Subject:
- 97 MATHEMATICS AND COMPUTING; GTC-P; partitioned global address space; gyrokinetic PIC code; nuclear fusion simulation; XcalableMP
Citation Formats
Tsugane, Keisuke, Boku, Taisuke, Murai, Hitoshi, Sato, Mitsuhisa, Tang, William, and Wang, Bei. Hybrid-view programming of nuclear fusion simulation code in the PGAS parallel programming language XcalableMP. United States: N. p., 2016.
Web. doi:10.1016/j.parco.2016.05.016.
Tsugane, Keisuke, Boku, Taisuke, Murai, Hitoshi, Sato, Mitsuhisa, Tang, William, & Wang, Bei. Hybrid-view programming of nuclear fusion simulation code in the PGAS parallel programming language XcalableMP. United States. https://doi.org/10.1016/j.parco.2016.05.016
Tsugane, Keisuke, Boku, Taisuke, Murai, Hitoshi, Sato, Mitsuhisa, Tang, William, and Wang, Bei. Wed .
"Hybrid-view programming of nuclear fusion simulation code in the PGAS parallel programming language XcalableMP". United States. https://doi.org/10.1016/j.parco.2016.05.016. https://www.osti.gov/servlets/purl/1332725.
@article{osti_1332725,
title = {Hybrid-view programming of nuclear fusion simulation code in the PGAS parallel programming language XcalableMP},
author = {Tsugane, Keisuke and Boku, Taisuke and Murai, Hitoshi and Sato, Mitsuhisa and Tang, William and Wang, Bei},
abstractNote = {Recently, the Partitioned Global Address Space (PGAS) parallel programming model has emerged as a usable distributed memory programming model. XcalableMP (XMP) is a PGAS parallel programming language that extends base languages such as C and Fortran with directives in OpenMP-like style. 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 local-view 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. Finally, 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.},
doi = {10.1016/j.parco.2016.05.016},
journal = {Parallel Computing},
number = C,
volume = 57,
place = {United States},
year = {2016},
month = {6}
}
Web of Science