A Newcomer In The PGAS World – UPC++ vs UPC: A Comparative Study

02/06/2021
by   Jérémie Lagravière, et al.
0

A newcomer in the Partitioned Global Address Space (PGAS) 'world' has arrived in its version 1.0: Unified Parallel C++ (UPC++). UPC++ targets distributed data structures where communication is irregular or fine-grained. The key abstractions are global pointers, asynchronous programming via RPC, futures and promises. UPC++ API for moving non-contiguous data and handling memories with different optimal access methods resemble those used in modern C++. In this study we provide two kernels implemented in UPC++: a sparse-matrix vector multiplication (SpMV) as part of a Partial-Differential Equation solver, and an implementation of the Heat Equation on a 2D-domain. Code listings of these two kernels are available in the article in order to show the differences in programming style between UPC and UPC++. We provide a performance comparison between UPC and UPC++ using single-node, multi-node hardware and many-core hardware (Intel Xeon Phi Knight's Landing).

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/29/2019

On the Performance and Energy Efficiency of the PGAS Programming Model on Multicore Architectures

Using large-scale multicore systems to get the maximum performance and e...
research
12/29/2019

Performance optimization and modeling of fine-grained irregular communication in UPC

The UPC programming language offers parallelism via logically partitione...
research
03/27/2018

Extreme Scale FMM-Accelerated Boundary Integral Equation Solver for Wave Scattering

Algorithmic and architecture-oriented optimizations are essential for ac...
research
02/01/2019

ParaSail: A Pointer-Free Pervasively-Parallel Language for Irregular Computations

ParaSail is a language specifically designed to simplify the constructio...
research
07/11/2022

FSHMEM: Supporting Partitioned Global Address Space on FPGAs for Large-Scale Hardware Acceleration Infrastructure

By providing highly efficient one-sided communication with globally shar...
research
01/27/2023

Enabling Multi-threading in Heterogeneous Quantum-Classical Programming Models

In this paper, we address some of the key limitations to realizing a gen...
research
02/07/2021

Load balancing for distributed nonlocal models within asynchronous many-task systems

In this work, we consider the challenges of developing a distributed sol...

Please sign up or login with your details

Forgot password? Click here to reset