Hybrid-view programming of nuclear fusion simulation code in the PGAS parallel programming language XcalableMP

  • Keisuke Tsugane
  • , Taisuke Boku
  • , Hitoshi Murai
  • , Mitsuhisa Sato
  • , William Tang
  • , Bei Wang

Research output: Contribution to journalArticlepeer-review

3 Scopus citations

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 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.

Original languageEnglish (US)
Pages (from-to)37-51
Number of pages15
JournalParallel Computing
Volume57
DOIs
StatePublished - Sep 1 2016

All Science Journal Classification (ASJC) codes

  • Software
  • Theoretical Computer Science
  • Hardware and Architecture
  • Computer Networks and Communications
  • Computer Graphics and Computer-Aided Design
  • Artificial Intelligence

Keywords

  • GTC-P
  • Gyrokinetic PIC code
  • Nuclear fusion simulation
  • Partitioned global address space
  • XcalableMP

Fingerprint

Dive into the research topics of 'Hybrid-view programming of nuclear fusion simulation code in the PGAS parallel programming language XcalableMP'. Together they form a unique fingerprint.

Cite this