Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

Implementing the OpenACC Data Model

Conference ·

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 transfers 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.

Research Organization:
Oak Ridge National Laboratory (ORNL), Oak Ridge, TN (United States)
Sponsoring Organization:
USDOE
DOE Contract Number:
AC05-00OR22725
OSTI ID:
1399548
Country of Publication:
United States
Language:
English

Similar Records

The OpenACC data model: Preliminary study on its major challenges and implementations
Journal Article · Thu Jul 19 00:00:00 EDT 2018 · Parallel Computing · OSTI ID:1474544

OpenARC: Extensible OpenACC Compiler Framework for Directive-Based Accelerator Programming Study
Conference · Tue Dec 31 23:00:00 EST 2013 · OSTI ID:1286784

OpenACC to FPGA: A Framework for Directive-based High-Performance Reconfigurable Computing
Conference · Sun May 01 00:00:00 EDT 2016 · OSTI ID:1261388

Related Subjects