2014 IEEE 28th International Parallel and Distributed Processing Symposium 2014
DOI: 10.1109/ipdps.2014.115
|View full text |Cite
|
Sign up to set email alerts
|

UPC++: A PGAS Extension for C++

Abstract: Partitioned Global Address Space (PGAS) languages are convenient for expressing algorithms with large, randomaccess data, and they have proven to provide high performance and scalability through lightweight one-sided communication and locality control. While very convenient for moving data around the system, PGAS languages have taken different views on the model of computation, with the static Single Program Multiple Data (SPMD) model providing the best scalability. In this paper we present UPC++, a PGAS exten… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
87
0

Year Published

2014
2014
2023
2023

Publication Types

Select...
4
3
1

Relationship

2
6

Authors

Journals

citations
Cited by 151 publications
(112 citation statements)
references
References 17 publications
(16 reference statements)
0
87
0
Order By: Relevance
“…There are a number of different HPC languages [23,14,3,1]. The goal of these languages is to provide appropriate programming idioms specifically for HPC computing to simplify the expression of HPC applications with regard to parallelism and data placement across a cluster of machines or a supercomputer.…”
Section: Hpc Languagesmentioning
confidence: 99%
See 1 more Smart Citation
“…There are a number of different HPC languages [23,14,3,1]. The goal of these languages is to provide appropriate programming idioms specifically for HPC computing to simplify the expression of HPC applications with regard to parallelism and data placement across a cluster of machines or a supercomputer.…”
Section: Hpc Languagesmentioning
confidence: 99%
“…Although there is a strong desire to automatically classify data partitions, most languages leave this task to the developer and provide tools to simplify this process [23]. The extensions by Yan et al [22] build on existing work to support specifying how data should be partitioned between different hardware devices during a computation:…”
Section: Data Partitioningmentioning
confidence: 99%
“…In this section, we give a brief overview of UPC++, focusing on the features used in our miniGMG implementations, including shared objects, dynamic global memory management, communication, and multidimensional arrays. A more complete discussion of UPC++ can be found in [34].…”
Section: Upc++ Overviewmentioning
confidence: 99%
“…Although the tradeoffs could be evaluated in any of the myriad PGAS languages and libraries, we use UPC++ [34] as our vehicle for evaluating different communication paradigms in the context of miniGMG. UPC++ is a librarybased PGAS extension of C++; unlike UPC [5], it does not need special compiler support.…”
Section: Introductionmentioning
confidence: 99%
“…We implement the array library in the context of UPC++ [17], a library for partitioned global address space (PGAS) programs, which allow data to be directly accessed by processors that do not share the physical address space in which the data are located. We also include the ability for the array library to be used separately from UPC++ in standard C++ programs.…”
Section: Introductionmentioning
confidence: 99%