Abstract
Programming accelerators today usually requires managing separate virtual and physical memories, such as allocating space in and copying data between host and device memories. The OpenACC API provides data directives and clauses to control this behavior where it is required. This paper describes how the data model is supported in current OpenACC implementations, ranging from research compilers (OpenUH and OpenARC) to a commercial compiler (the PGI OpenACC compiler). This includes implementation of the data directives and clauses, testing whether the data is already present on the device, OpenCL support, managing asynchronous data trans- fers and memory allocations, handling aliased data, reusing device memory, managing partially present data, and support for shared memory between host and device. Lastly, it also discusses on-going work to manage large, complex dynamic data structures.
Original language | English |
---|---|
Title of host publication | Proceedings - 2017 IEEE 31st International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2017 |
Publisher | Institute of Electrical and Electronics Engineers Inc. |
Pages | 662-672 |
Number of pages | 11 |
ISBN (Electronic) | 9781538634080 |
DOIs | |
State | Published - Jun 30 2017 |
Event | 31st IEEE International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2017 - Orlando, United States Duration: May 29 2017 → Jun 2 2017 |
Publication series
Name | Proceedings - 2017 IEEE 31st International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2017 |
---|
Conference
Conference | 31st IEEE International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2017 |
---|---|
Country/Territory | United States |
City | Orlando |
Period | 05/29/17 → 06/2/17 |
Funding
ACKNOWLEDGMENT This material is based upon work supported by the U.S. Department of Energy, Office of Science, Office of Advanced Scientific Computing Research. This manuscript has been authored by UT-Battelle, LLC under Contract No. DE-AC05-00OR22725 with the U.S. Department of Energy.
Keywords
- Accelerator
- GPGPU