24610

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

Jérémie Lagravière, Johannes Langguth, Martina Prugger, Phuong H. Ha, Xing Cai
Simula Research Laboratory, P.O. Box 134, NO-1325 Lysaker, Norway
arXiv:2102.03614 [cs.DC], (6 Feb 2021)

@misc{lagravière2021newcomer,

   title={A Newcomer In The PGAS World — UPC++ vs UPC: A Comparative Study},

   author={Jérémie Lagravière and Johannes Langguth and Martina Prugger and Phuong H. Ha and Xing Cai},

   year={2021},

   eprint={2102.03614},

   archivePrefix={arXiv},

   primaryClass={cs.DC}

}

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).
Rating: 2.0/5. From 1 vote.
Please wait...

* * *

* * *

HGPU group © 2010-2021 hgpu.org

All rights belong to the respective authors

Contact us: