Chapter 1: XcalableMP programming model and language.- Chapter 2: Design and Performance Evaluation of the Omni XcalableMP Compiler.- Chapter 3: Coarrays in the Context of XcalableMP.- Chapter 4: XcalableACC: an Integration of XcalableMP and OpenACC.- Chapter 5: Mixed-language programming with XMP and Python.- Chapter 6: Three-dimensional Fluid Code with XcalableMP.- Chapter 7: Hybrid-View Data Model Programming of Nuclear Fusion Simulation Code in XcalableMP.- Chapter 8: Parallelization of Atomic Image Reconstruction from X-ray Fluorescence Holograms by XcalableMP.- Chapter 9: Multi-SPMD programming model with YML and XcalableMP.- Chapter 10: XcalableMP 2.0 and Future Directions.
Mitsuhisa Sato is a deputy director of the RIKEN Center for Computational Science (R-CCS). He was a professor at the Graduate School of Systems and Information Engineering, University of Tsukuba from 2001. He has been working as a director of the Center for Computational Sciences, University of Tsukuba from 2007 to 2013. Since October 2010, he is appointed to the research team leader of programming environment research team in the Advanced Institute of Computational Science (AICS), former R-CCS, which was the organization to run Japanese petaflops facility "K computer". Since 2014, he is working as a team leader of architecture development team in the Japanese FLAGSHIP2020 project to develop the next system of the K computer in R-CCS. He is a professor (Cooperative Graduate School Program) and professor emeritus of University of Tsukuba.
XcalableMP is a directive-based parallel programming language based on Fortran and C, supporting a Partitioned Global Address Space (PGAS) model for distributed memory parallel systems. This open access book presents XcalableMP language from its programming model and basic concept to the experience and performance of applications described in XcalableMP.
XcalableMP was taken as a parallel programming language project in the FLAGSHIP 2020 project, which was to develop the Japanese flagship supercomputer, Fugaku, for improving the productivity of parallel programing. XcalableMP is now available on Fugaku and its performance is enhanced by the Fugaku interconnect, Tofu-D.
The global-view programming model of XcalableMP, inherited from High-Performance Fortran (HPF), provides an easy and useful solution to parallelize data-parallel programs with directives for distributed global array and work distribution and shadow communication. The local-view programming adopts coarray notation from Coarray Fortran (CAF) to describe explicit communication in a PGAS model. The language specification was designed and proposed by the XcalableMP Specification Working Group organized in the PC Consortium, Japan.
The Omni XcalableMP compiler is a production-level reference implementation of XcalableMP compiler for C and Fortran 2008, developed by RIKEN CCS and the University of Tsukuba. The performance of the XcalableMP program was used in the Fugaku as well as the K computer. A performance study showed that XcalableMP enables a scalable performance comparable to the message passing interface (MPI) version with a clean and easy-to-understand programming style requiring little effort.