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
- 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.:
-
USDOEPrimary Award/Contract Number:AC02-05CH11231
- Code ID:
- 17132
- Site Accession Number:
- 1879
- Research Org.:
- Lawrence Berkeley National Laboratory (LBNL), Berkeley, CA (United States)
- Country of Origin:
- United States
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}
}