skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: A local-view array library for partitioned global address space C++programs

Conference ·

Multidimensional arrays are an important data structure in many scientific applications. Unfortunately, built-in support for such arrays is inadequate in C++, particularly in the distributed setting where bulk communication operations are required for good performance. In this paper, we present a multidimensional library for partitioned global address space (PGAS) programs, supporting the one-sided remote access and bulk operations of the PGAS model. The library is based on Titanium arrays, which have proven to provide good productivity and performance. These arrays provide a local view of data, where each rank constructs its own portion of a global data structure, matching the local view of execution common to PGAS programs and providing maximum flexibility in structuring global data. Unlike Titanium, which has its own compiler with array-specific analyses, optimizations, and code generation, we implement multidimensional arrays solely through a C++library. The main goal of this effort is to provide a library-based implementation that can match the productivity and performance of a compiler-based approach. We implement the array library as an extension to UPC++, a C++library for PGAS programs, and we extend Titanium arrays with specializations to improve performance. We evaluate the array library by porting four Titanium benchmarks to UPC++, demonstrating that it can achieve up to 25% better performance than Titanium without a significant increase in programmer effort..

Research Organization:
Lawrence Berkeley National Lab. (LBNL), Berkeley, CA (United States)
Sponsoring Organization:
USDOE Office of Science (SC)
DOE Contract Number:
AC02-05CH11231
OSTI ID:
1523890
Resource Relation:
Conference: Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)
Country of Publication:
United States
Language:
English

Similar Records

UPC++
Software · Thu May 01 00:00:00 EDT 2014 · OSTI ID:1523890

UPC++: A PGAS extension for C++
Conference · Wed Jan 01 00:00:00 EST 2014 · OSTI ID:1523890

Global-Address Space Networking for Exascale
Software · Wed Sep 05 00:00:00 EDT 2018 · OSTI ID:1523890

Related Subjects