Abstract
HAMR is a library defining an accelerator technology agnostic memory model that bridges between accelerator technologies (CUDA, HIP, ROCm, OpenMP, Sycl, OpenCL, Kokos, etc) and traditional CPUs in heterogeneous computing environments. HAMR is light weight and implemented in modern C++. HAMR can be used to manage memory with in a single code or as a data model for coupling codes in a technologically agnostic way. HAMR provides a Python module for coupling C++ and Python codes which implements zero-copy data transfers to and from Python using the Numpy array interface and Numba CUDA array interface protocols.
- Developers:
-
Loring, Burlen [1]
- Lawrence Berkeley National Laboratory (LBNL), Berkeley, CA (United States)
- Release Date:
- 2022-04-12
- 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:
- 110812
- Site Accession Number:
- 2022-046
- Research Org.:
- Lawrence Berkeley National Laboratory (LBNL), Berkeley, CA (United States)
- Country of Origin:
- United States
Citation Formats
Loring, Burlen.
HAMR - Heterogeneous Accelerator Memory Resource (HAMR) v1.0.
Computer Software.
https://github.com/LBL-EESA/HAMR.
USDOE.
12 Apr. 2022.
Web.
doi:10.5281/zenodo.6471012.
Loring, Burlen.
(2022, April 12).
HAMR - Heterogeneous Accelerator Memory Resource (HAMR) v1.0.
[Computer software].
https://github.com/LBL-EESA/HAMR.
https://doi.org/10.5281/zenodo.6471012.
Loring, Burlen.
"HAMR - Heterogeneous Accelerator Memory Resource (HAMR) v1.0." Computer software.
April 12, 2022.
https://github.com/LBL-EESA/HAMR.
https://doi.org/10.5281/zenodo.6471012.
@misc{
doecode_110812,
title = {HAMR - Heterogeneous Accelerator Memory Resource (HAMR) v1.0},
author = {Loring, Burlen},
abstractNote = {HAMR is a library defining an accelerator technology agnostic memory model that bridges between accelerator technologies (CUDA, HIP, ROCm, OpenMP, Sycl, OpenCL, Kokos, etc) and traditional CPUs in heterogeneous computing environments. HAMR is light weight and implemented in modern C++. HAMR can be used to manage memory with in a single code or as a data model for coupling codes in a technologically agnostic way. HAMR provides a Python module for coupling C++ and Python codes which implements zero-copy data transfers to and from Python using the Numpy array interface and Numba CUDA array interface protocols.},
doi = {10.5281/zenodo.6471012},
url = {https://doi.org/10.5281/zenodo.6471012},
howpublished = {[Computer Software] \url{https://doi.org/10.5281/zenodo.6471012}},
year = {2022},
month = {apr}
}