Skip to content

Commit

Permalink
Merge pull request #113 from LLNL/release/2.1.0
Browse files Browse the repository at this point in the history
Release version 2.1.0
  • Loading branch information
davidbeckingsale authored May 13, 2020
2 parents 63139cf + b7cd2b4 commit fff0276
Show file tree
Hide file tree
Showing 55 changed files with 1,756 additions and 546 deletions.
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
build*/
install*/
.vscode/
*.swp
*.swo
Win32/chai.vcxproj.user
Win32/.vs/
Win32/x64/
*.aps
11 changes: 8 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,24 +1,29 @@
##############################################################################
# Copyright (c) 2016-19, Lawrence Livermore National Security, LLC and CHAI
# Copyright (c) 2016-20, Lawrence Livermore National Security, LLC and CHAI
# project contributors. See the COPYRIGHT file for details.
#
# SPDX-License-Identifier: BSD-3-Clause
##############################################################################
cmake_policy(SET CMP0057 NEW)
cmake_policy(SET CMP0048 NEW)

project(Chai LANGUAGES CXX VERSION 2.0.0)
project(Chai LANGUAGES CXX VERSION 2.1.0)

set(ENABLE_CUDA Off CACHE BOOL "Enable CUDA")
set(ENABLE_HIP Off CACHE BOOL "Enable HIP")
set(ENABLE_OPENMP On CACHE BOOL "Enable OpenMP")
set(ENABLE_GPU_SIMULATION_MODE Off CACHE BOOL "Enable GPU Simulation Mode")
set(ENABLE_OPENMP OFF CACHE BOOL "Enable OpenMP")
set(ENABLE_MPI Off CACHE BOOL "Enable MPI (for umpire replay only)")
set(ENABLE_BENCHMARKS On CACHE BOOL "Enable benchmarks")
option(ENABLE_IMPLICIT_CONVERSIONS "Enable implicit conversions to-from raw pointers" On)
option(DISABLE_RM "Make ManagedArray a thin wrapper" Off)
mark_as_advanced(DISABLE_RM)
option(ENABLE_UM "Use CUDA unified (managed) memory" Off)
option(ENABLE_PINNED "Use pinned host memory" Off)
option(ENABLE_RAJA_PLUGIN "Build plugin to set RAJA execution spaces" Off)
option(CHAI_ENABLE_GPU_ERROR_CHECKING "Enable GPU error checking" On)
option(CHAI_DEBUG "Enable Debug Logging.")
set(ENABLE_RAJA_NESTED_TEST ON CACHE BOOL "Enable raja-chai-nested-tests, which fails to build on Debug CUDA builds.")

set(ENABLE_TESTS On CACHE BOOL "")
set(ENABLE_EXAMPLES On CACHE BOOL "")
Expand Down
14 changes: 7 additions & 7 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,49 +3,49 @@ COPY --chown=axom:axom . /home/axom/workspace
WORKDIR /home/axom/workspace
RUN mkdir build && cd build && cmake -DCMAKE_CXX_COMPILER=g++ -DENABLE_CUDA=OFF ..
RUN cd build && make -j 16
RUN cd build && ctest -T test
RUN cd build && ctest -T test --output-on-failure

FROM axom/compilers:gcc-6 AS gcc6
COPY --chown=axom:axom . /home/axom/workspace
WORKDIR /home/axom/workspace
RUN mkdir build && cd build && cmake -DCMAKE_CXX_COMPILER=g++ -DENABLE_CUDA=OFF ..
RUN cd build && make -j 16
RUN cd build && ctest -T test
RUN cd build && ctest -T test --output-on-failure

FROM axom/compilers:gcc-7 AS gcc7
COPY --chown=axom:axom . /home/axom/workspace
WORKDIR /home/axom/workspace
RUN mkdir build && cd build && cmake -DCMAKE_CXX_COMPILER=g++ -DENABLE_CUDA=OFF ..
RUN cd build && make -j 16
RUN cd build && ctest -T test
RUN cd build && ctest -T test --output-on-failure

FROM axom/compilers:gcc-8 AS gcc8
COPY --chown=axom:axom . /home/axom/workspace
WORKDIR /home/axom/workspace
RUN mkdir build && cd build && cmake -DCMAKE_CXX_COMPILER=g++ -DENABLE_CUDA=OFF ..
RUN cd build && make -j 16
RUN cd build && ctest -T test
RUN cd build && ctest -T test --output-on-failure

FROM axom/compilers:clang-4 AS clang4
COPY --chown=axom:axom . /home/axom/workspace
WORKDIR /home/axom/workspace
RUN mkdir build && cd build && cmake -DCMAKE_CXX_COMPILER=clang++ -DENABLE_CUDA=OFF ..
RUN cd build && make -j 16
RUN cd build && ctest -T test
RUN cd build && ctest -T test --output-on-failure

FROM axom/compilers:clang-5 AS clang5
COPY --chown=axom:axom . /home/axom/workspace
WORKDIR /home/axom/workspace
RUN mkdir build && cd build && cmake -DCMAKE_CXX_COMPILER=clang++ -DENABLE_CUDA=OFF ..
RUN cd build && make -j 16
RUN cd build && ctest -T test
RUN cd build && ctest -T test --output-on-failure

FROM axom/compilers:clang-6 AS clang6
COPY --chown=axom:axom . /home/axom/workspace
WORKDIR /home/axom/workspace
RUN mkdir build && cd build && cmake -DCMAKE_CXX_COMPILER=clang++ -DENABLE_CUDA=OFF ..
RUN cd build && make -j 16
RUN cd build && ctest -T test
RUN cd build && ctest -T test --output-on-failure


FROM axom/compilers:nvcc-9 AS nvcc
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# CHAI v2.0
# CHAI v2.1

[![Azure Build Status](https://dev.azure.com/davidbeckingsale/CHAI/_apis/build/status/LLNL.CHAI?branchName=develop)](https://dev.azure.com/davidbeckingsale/CHAI/_build/latest?definitionId=2&branchName=develop)
[![Build Status](https://travis-ci.org/LLNL/CHAI.svg?branch=develop)](https://travis-ci.org/LLNL/CHAI)
Expand Down
2 changes: 1 addition & 1 deletion benchmarks/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
##############################################################################
# Copyright (c) 2016-19, Lawrence Livermore National Security, LLC and CHAI
# Copyright (c) 2016-20, Lawrence Livermore National Security, LLC and CHAI
# project contributors. See the COPYRIGHT file for details.
#
# SPDX-License-Identifier: BSD-3-Clause
Expand Down
2 changes: 1 addition & 1 deletion benchmarks/chai_arraymanager_benchmarks.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2016-19, Lawrence Livermore National Security, LLC and CHAI
// Copyright (c) 2016-20, Lawrence Livermore National Security, LLC and CHAI
// project contributors. See the COPYRIGHT file for details.
//
// SPDX-License-Identifier: BSD-3-Clause
Expand Down
2 changes: 1 addition & 1 deletion benchmarks/chai_benchmark_utils.hpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2016-19, Lawrence Livermore National Security, LLC and CHAI
// Copyright (c) 2016-20, Lawrence Livermore National Security, LLC and CHAI
// project contributors. See the COPYRIGHT file for details.
//
// SPDX-License-Identifier: BSD-3-Clause
Expand Down
2 changes: 1 addition & 1 deletion benchmarks/chai_managedarray_benchmarks.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2016-19, Lawrence Livermore National Security, LLC and CHAI
// Copyright (c) 2016-20, Lawrence Livermore National Security, LLC and CHAI
// project contributors. See the COPYRIGHT file for details.
//
// SPDX-License-Identifier: BSD-3-Clause
Expand Down
2 changes: 1 addition & 1 deletion cmake/ChaiBasics.cmake
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
##############################################################################
# Copyright (c) 2016-19, Lawrence Livermore National Security, LLC and CHAI
# Copyright (c) 2016-20, Lawrence Livermore National Security, LLC and CHAI
# project contributors. See the COPYRIGHT file for details.
#
# SPDX-License-Identifier: BSD-3-Clause
Expand Down
23 changes: 19 additions & 4 deletions cmake/thirdparty/SetupChaiThirdparty.cmake
Original file line number Diff line number Diff line change
@@ -1,17 +1,25 @@
##############################################################################
# Copyright (c) 2016-19, Lawrence Livermore National Security, LLC and CHAI
# Copyright (c) 2016-20, Lawrence Livermore National Security, LLC and CHAI
# project contributors. See the COPYRIGHT file for details.
#
# SPDX-License-Identifier: BSD-3-Clause
##############################################################################
if (NOT TARGET umpire)
if (DEFINED umpire_DIR)
# this allows umpire_DIR to be the install prefix if we are relying on umpire's
# installed umpire-config.cmake
list(APPEND CMAKE_PREFIX_PATH ${umpire_DIR})
find_package(umpire REQUIRED)

if (ENABLE_MPI)
set(UMPIRE_DEPENDS mpi)
else()
set(UMPIRE_DEPENDS)
endif()
blt_register_library(
NAME umpire
INCLUDES ${UMPIRE_INCLUDE_DIRS}
LIBRARIES umpire)
LIBRARIES umpire
DEPENDS_ON ${UMPIRE_DEPENDS})
else ()
set(OLD_ENABLE_FORTRAN ${ENABLE_FORTRAN})
set(ENABLE_FORTRAN Off CACHE BOOL "Enable Fortran in Umpire")
Expand All @@ -23,8 +31,15 @@ endif()
if (ENABLE_RAJA_PLUGIN)
if (NOT TARGET RAJA)
if (DEFINED RAJA_DIR)
message(STATUS "CHAI: using external RAJA via find_package")
# this allows RAJA_DIR to be the install prefix if we are relying on RAJA's
# installed RAJA-config.cmake
list(APPEND CMAKE_PREFIX_PATH ${RAJA_DIR})
message(STATUS "CHAI: using external RAJA via find_package ${RAJA_DIR}")
find_package(RAJA REQUIRED)
blt_register_library(
NAME RAJA
INCLUDES ${RAJA_INCLUDE_DIRS}
LIBRARIES RAJA)
else()
message(STATUS "CHAI: using builtin RAJA submodule")
add_subdirectory(${PROJECT_SOURCE_DIR}/src/tpl/raja)
Expand Down
2 changes: 1 addition & 1 deletion docs/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
##############################################################################
# Copyright (c) 2016-19, Lawrence Livermore National Security, LLC and CHAI
# Copyright (c) 2016-20, Lawrence Livermore National Security, LLC and CHAI
# project contributors. See the COPYRIGHT file for details.
#
# SPDX-License-Identifier: BSD-3-Clause
Expand Down
2 changes: 1 addition & 1 deletion docs/doxygen/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
##############################################################################
# Copyright (c) 2016-19, Lawrence Livermore National Security, LLC and CHAI
# Copyright (c) 2016-20, Lawrence Livermore National Security, LLC and CHAI
# project contributors. See the COPYRIGHT file for details.
#
# SPDX-License-Identifier: BSD-3-Clause
Expand Down
2 changes: 1 addition & 1 deletion docs/doxygen/Doxyfile.in
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
##############################################################################
# Copyright (c) 2016-19, Lawrence Livermore National Security, LLC and CHAI
# Copyright (c) 2016-20, Lawrence Livermore National Security, LLC and CHAI
# project contributors. See the COPYRIGHT file for details.
#
# SPDX-License-Identifier: BSD-3-Clause
Expand Down
2 changes: 1 addition & 1 deletion docs/sphinx/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
##############################################################################
# Copyright (c) 2016-19, Lawrence Livermore National Security, LLC and CHAI
# Copyright (c) 2016-20, Lawrence Livermore National Security, LLC and CHAI
# project contributors. See the COPYRIGHT file for details.
#
# SPDX-License-Identifier: BSD-3-Clause
Expand Down
19 changes: 15 additions & 4 deletions docs/sphinx/advanced_configuration.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,19 +15,30 @@ Here is a summary of the configuration options, their default value, and meaning
=========================== ======== ===============================================================================
Variable Default Meaning
=========================== ======== ===============================================================================
ENABLE_CUDA On Enable CUDA support
ENABLE_CUDA Off Enable CUDA support.
ENABLE_HIP Off Enable HIP support.
ENABLE_GPU_SIMULATION_MODE Off Simulates GPU execution.
ENABLE_UM Off Enable support for CUDA Unified Memory.
ENABLE_CNEM Off Enable cnmem for GPU allocations
ENABLE_IMPLICIT_CONVERSIONS On Enable implicit conversions between ManagedArray and raw pointers
DISABLE_RM Off Disable the ArrayManager and make ManagedArray a thin wrapper around a pointer.
ENABLE_TESTING On Build test executables
ENABLE_BENCHMARKS On Build benchmark programs
ENABLE_TESTING On Build test executables.
ENABLE_BENCHMARKS On Build benchmark programs.
=========================== ======== ===============================================================================

These arguments are explained in more detail below:

* ENABLE_CUDA
This option enables support for GPUs. If CHAI is built without CUDA support,
This option enables support for GPUs using CUDA. If CHAI is built without CUDA, HIP, or
GPU_SIMULATION_MODE support, then only the ``CPU`` execution space is available for use.

* ENABLE_HIP
This option enables support for GPUs using HIP. If CHAI is built without CUDA, HIP, or
GPU_SIMULATION_MODE support, then only the ``CPU`` execution space is available for use.

* ENABLE_GPU_SIMULATION_MODE
This option simulates GPU support by enabling the GPU execution space, backed by a HOST
umpire allocator. If CHAI is built without CUDA, HIP, or GPU_SIMULATION_MODE support,
then only the ``CPU`` execution space is available for use.

* ENABLE_UM
Expand Down
6 changes: 3 additions & 3 deletions docs/sphinx/conf.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
##############################################################################
# Copyright (c) 2016-19, Lawrence Livermore National Security, LLC and CHAI
# Copyright (c) 2016-20, Lawrence Livermore National Security, LLC and CHAI
# project contributors. See the COPYRIGHT file for details.
#
# SPDX-License-Identifier: BSD-3-Clause
Expand Down Expand Up @@ -61,9 +61,9 @@
# built documents.
#
# The short X.Y version.
version = u'2.0'
version = u'2.1'
# The full version, including alpha/beta/rc tags.
release = u'2.0.0'
release = u'2.1.0'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
6 changes: 3 additions & 3 deletions docs/sphinx/conf.py.in
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
##############################################################################
# Copyright (c) 2016-19, Lawrence Livermore National Security, LLC and CHAI
# Copyright (c) 2016-20, Lawrence Livermore National Security, LLC and CHAI
# project contributors. See the COPYRIGHT file for details.
#
# SPDX-License-Identifier: BSD-3-Clause
Expand Down Expand Up @@ -60,9 +60,9 @@ author = u''
# built documents.
#
# The short X.Y version.
version = u'2.0'
version = u'2.1'
# The full version, including alpha/beta/rc tags.
release = u'2.0.0'
release = u'2.1.0'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
14 changes: 6 additions & 8 deletions examples/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
##############################################################################
# Copyright (c) 2016-19, Lawrence Livermore National Security, LLC and CHAI
# Copyright (c) 2016-20, Lawrence Livermore National Security, LLC and CHAI
# project contributors. See the COPYRIGHT file for details.
#
# SPDX-License-Identifier: BSD-3-Clause
Expand All @@ -23,17 +23,15 @@ blt_add_executable(
SOURCES chai-umpire-allocators.cpp
DEPENDS_ON ${chai_umpire_example_depends})

blt_add_test(
NAME managed_array_test
COMMAND managed_array_tests)

if (ENABLE_CUDA OR ENABLE_HIP)
blt_add_executable(
NAME chai-example.exe
SOURCES example.cpp
DEPENDS_ON ${chai_umpire_example_depends})

blt_add_executable(
NAME pinned.exe
SOURCES pinned.cpp
DEPENDS_ON ${chai_umpire_example_depends})
endif ()

# if (ENABLE_RAJA_PLUGIN)
# add_subdirectory(integration)
# endif ()
2 changes: 1 addition & 1 deletion examples/chai-umpire-allocators.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2016-19, Lawrence Livermore National Security, LLC and CHAI
// Copyright (c) 2016-20, Lawrence Livermore National Security, LLC and CHAI
// project contributors. See the COPYRIGHT file for details.
//
// SPDX-License-Identifier: BSD-3-Clause
Expand Down
2 changes: 1 addition & 1 deletion examples/ex1.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2016-19, Lawrence Livermore National Security, LLC and CHAI
// Copyright (c) 2016-20, Lawrence Livermore National Security, LLC and CHAI
// project contributors. See the COPYRIGHT file for details.
//
// SPDX-License-Identifier: BSD-3-Clause
Expand Down
2 changes: 1 addition & 1 deletion examples/example.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2016-19, Lawrence Livermore National Security, LLC and CHAI
// Copyright (c) 2016-20, Lawrence Livermore National Security, LLC and CHAI
// project contributors. See the COPYRIGHT file for details.
//
// SPDX-License-Identifier: BSD-3-Clause
Expand Down
Loading

0 comments on commit fff0276

Please sign in to comment.