Copy-hiding array abstraction to automatically migrate data between memory spaces

CHAI v1.0

Build Status

CHAI is a library that handles automatic data migration to different memory spaces behind an array-style interface. It was designed to work with RAJA and integrates with it. CHAI could be used with other C++ abstractions, as well.

CHAI uses CMake and BLT to handle builds. Make sure that you have a modern compiler loaded and the configuration is as simple as:

$ git submodule update --init --recursive
$ mkdir build && cd build
$ cmake -DCUDA_TOOLKIT_ROOT_DIR=/path/to/cuda ../

CMake will provide output about which compiler is being used, and what version of CUDA was detected. Once CMake has completed, CHAI can be built with Make:

$ make

For more advanced configuration you can use standard CMake variables.

More information is available in the CHAI documentation.


The original developers of CHAI are:

Contributors include:


Copyright (c) 2016, Lawrence Livermore National Security, LLC. Produced at the Lawrence Livermore National Laboratory

All rights reserved.

Unlimited Open Source - BSD Distribution

For release details and restrictions, please read the LICENSE file. It is also linked here: LICENSE

  • LLNL-CODE-705877
  • OCEC-16-189