DOE PAGES title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: 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 » 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.« less

Authors:
 [1];  [1];  [2];  [3];  [4];  [4]
  1. Univ. of Tsukuba, Ibaraki (Japan)
  2. RIKEN, Hyogo (Japan)
  3. Univ. of Tsukuba, Ibaraki (Japan); RIKEN, Hyogo (Japan)
  4. 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 = {Wed Jun 01 00:00:00 EDT 2016},
month = {Wed Jun 01 00:00:00 EDT 2016}
}

Journal Article:
Free Publicly Available Full Text
Publisher's Version of Record

Citation Metrics:
Cited by: 2 works
Citation information provided by
Web of Science

Save / Share: