Berkeley Unified Parallel C (UPC) runtime library

RESOURCE

Abstract

This software comprises a portable, open-source implementation of a runtime library to support applications written in the Unified Parallel C (UPC) language. This library implements the UPC-specific functionality, including shared-memory allocation and distributed locks. The network-dependent functionality is implemented as a thin wrapper around the separate GASNet (Global-Address Space Networking) library, which is required for operation. This software implements the "Berkeley UPC Runtime Specification", which is targeted by at least four separate UPC compiler front-ends. The implementation is highly portable and runs over hardware ranging from laptops to custom supercomputers. An external library is required for certain local memory allocation operations; a well-defined interface allows for multiple implementations of this library, but at present the "umalloc" library from LBNL is the only compatible implementation.
Developers:
Bonachea, Dan [1] Hargrove, Paul [1] Duell, Jason [1] Chen, Wei-Yu [1] Welcome, Michael [1] Iancu, Costin [1] Bell, Christian [1] Park, Chang-Seo [1] Husbands, Parry [1] Funck, Gary Vukicevic, Nenad
  1. Lawrence Berkeley National Lab. (LBNL), Berkeley, CA (United States)
Release Date:
2018-07-20
Project Type:
Open Source, Publicly Available Repository
Software Type:
Scientific
Licenses:
BSD 3-clause "New" or "Revised" License
Sponsoring Org.:
Code ID:
17132
Site Accession Number:
1879
Research Org.:
Lawrence Berkeley National Laboratory (LBNL), Berkeley, CA (United States)
Country of Origin:
United States

RESOURCE

Citation Formats

Bonachea, Dan, Hargrove, Paul, Duell, Jason, Chen, Wei-Yu, Welcome, Michael, Iancu, Costin, Bell, Christian, Park, Chang-Seo, Husbands, Parry, Funck, Gary, and Vukicevic, Nenad. Berkeley Unified Parallel C (UPC) runtime library. Computer Software. https://bitbucket.org/berkeleylab/upc-runtime. USDOE. 20 Jul. 2018. Web. doi:10.11578/dc.20180904.1.
Bonachea, Dan, Hargrove, Paul, Duell, Jason, Chen, Wei-Yu, Welcome, Michael, Iancu, Costin, Bell, Christian, Park, Chang-Seo, Husbands, Parry, Funck, Gary, & Vukicevic, Nenad. (2018, July 20). Berkeley Unified Parallel C (UPC) runtime library. [Computer software]. https://bitbucket.org/berkeleylab/upc-runtime. https://doi.org/10.11578/dc.20180904.1.
Bonachea, Dan, Hargrove, Paul, Duell, Jason, Chen, Wei-Yu, Welcome, Michael, Iancu, Costin, Bell, Christian, Park, Chang-Seo, Husbands, Parry, Funck, Gary, and Vukicevic, Nenad. "Berkeley Unified Parallel C (UPC) runtime library." Computer software. July 20, 2018. https://bitbucket.org/berkeleylab/upc-runtime. https://doi.org/10.11578/dc.20180904.1.
@misc{ doecode_17132,
title = {Berkeley Unified Parallel C (UPC) runtime library},
author = {Bonachea, Dan and Hargrove, Paul and Duell, Jason and Chen, Wei-Yu and Welcome, Michael and Iancu, Costin and Bell, Christian and Park, Chang-Seo and Husbands, Parry and Funck, Gary and Vukicevic, Nenad},
abstractNote = {This software comprises a portable, open-source implementation of a runtime library to support applications written in the Unified Parallel C (UPC) language. This library implements the UPC-specific functionality, including shared-memory allocation and distributed locks. The network-dependent functionality is implemented as a thin wrapper around the separate GASNet (Global-Address Space Networking) library, which is required for operation. This software implements the "Berkeley UPC Runtime Specification", which is targeted by at least four separate UPC compiler front-ends. The implementation is highly portable and runs over hardware ranging from laptops to custom supercomputers. An external library is required for certain local memory allocation operations; a well-defined interface allows for multiple implementations of this library, but at present the "umalloc" library from LBNL is the only compatible implementation.},
doi = {10.11578/dc.20180904.1},
url = {https://doi.org/10.11578/dc.20180904.1},
howpublished = {[Computer Software] \url{https://doi.org/10.11578/dc.20180904.1}},
year = {2018},
month = {jul}
}