XcalableMP PGAS Programming Language XcalableMP PGAS Programming Language

XcalableMP PGAS Programming Language

From Programming Model to Applications

Publisher Description

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.

GENRE
Computers & Internet
RELEASED
2020
November 19
LANGUAGE
EN
English
LENGTH
271
Pages
PUBLISHER
Springer Nature Singapore
SELLER
Springer Nature B.V.
SIZE
36.6
MB
Languages and Compilers for Parallel Computing Languages and Compilers for Parallel Computing
2008
Scaling OpenMP for Exascale Performance and Portability Scaling OpenMP for Exascale Performance and Portability
2017
Multicore and GPU Programming Multicore and GPU Programming
2014
Evolving OpenMP in an Age of Extreme Parallelism Evolving OpenMP in an Age of Extreme Parallelism
2009
OpenMP in a New Era of Parallelism OpenMP in a New Era of Parallelism
2008
A Practical Programming Model for the Multi-Core Era A Practical Programming Model for the Multi-Core Era
2008
Advanced Software Technologies for Post-Peta Scale Computing Advanced Software Technologies for Post-Peta Scale Computing
2018
A Practical Programming Model for the Multi-Core Era A Practical Programming Model for the Multi-Core Era
2008
Beyond Loop Level Parallelism in OpenMP: Accelerators, Tasking and More Beyond Loop Level Parallelism in OpenMP: Accelerators, Tasking and More
2010