Abstract

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

Highlights

  • XMP employs the coarray concept from Coarray Fortran as a local-view programming model

  • In the XMP-hybridview implementation, all of the space grid data are denoted by a global-view model with compile-time mapping and the sleeve data are exchanged by XMP directives, whereas the particle data movements are denoted by a localview model with the coarray notation, as shown Fig. 6

  • We explored the number of send calls and each communication size because the performance of communication on XMP and Message Passing Interface (MPI) are reversed at about 65,536 Bytes according to Fig. 11

Read more

Summary

Introduction

In XMP, the global-view model allows programmers to define global arrays, which are distributed to processors by adding the directives. In contrast to the global-view model, the localview model describes remote memory access using the node (processor) index This operation is implemented as one-sided communication. We consider a hybrid-view programming approach, which combines the global-view and local-view models in XMP according to the characteristics of the distributed data structure of the target application. The number of computations becomes extremely large for next-generation and largescale reactors such as ITER We consider both types of data models in XMP, i.e., global-view and localview models, which are suitable for representing grid space data and particle data, respectively, because of their data distribution and communication pattern. We implement the GTC-P code in two ways: using XMP with a localview only model, and with a combination of local-view and global-view models, where we evaluate the performance and productivity of these approaches.

Nuclear Fusion Simulation Code
Gyrokinetic PIC Simulation
Hybrid-View Programming Model
Implementation Based on the XMP-Localview Model
Implementation Based on the XMP-Hybridview Model
Results
Productivity and Performance
Related Research
Conclusion
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call