Skip to content

Commit

Permalink
Merge pull request #271 from LLNL/v2024.07.0-RC
Browse files Browse the repository at this point in the history
  • Loading branch information
adayton1 authored Jul 26, 2024
2 parents 5ba0944 + f91b002 commit df7741f
Show file tree
Hide file tree
Showing 15 changed files with 61 additions and 93 deletions.
12 changes: 6 additions & 6 deletions .gitlab/custom-jobs-and-variables.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ variables:
# Project specific variants for ruby
PROJECT_RUBY_VARIANTS: "~shared +raja tests=basic "
# Project specific deps for ruby
PROJECT_RUBY_DEPS: ""
PROJECT_RUBY_DEPS: "^raja~examples~exercises "

# Poodle
# Arguments for top level allocation
Expand All @@ -32,7 +32,7 @@ variables:
# Project specific variants for poodle
PROJECT_POODLE_VARIANTS: "~shared +raja tests=basic "
# Project specific deps for poodle
PROJECT_POODLE_DEPS: ""
PROJECT_POODLE_DEPS: "^raja~examples~exercises "

# Corona
# Arguments for top level allocation
Expand All @@ -42,7 +42,7 @@ variables:
# Project specific variants for corona
PROJECT_CORONA_VARIANTS: "~shared +raja tests=basic "
# Project specific deps for corona
PROJECT_CORONA_DEPS: ""
PROJECT_CORONA_DEPS: "^raja~examples~exercises "

# Tioga
# Arguments for top level allocation
Expand All @@ -52,16 +52,16 @@ variables:
# Project specific variants for tioga
PROJECT_TIOGA_VARIANTS: "~shared +raja tests=basic "
# Project specific deps for tioga
PROJECT_TIOGA_DEPS: ""
PROJECT_TIOGA_DEPS: "^raja~examples~exercises "

# Lassen and Butte use a different job scheduler (spectrum lsf) that does not
# allow pre-allocation the same way slurm does.
# Arguments for job level allocation
LASSEN_JOB_ALLOC: "1 -W 10 -q pci"
# Project specific variants for lassen
PROJECT_LASSEN_VARIANTS: "~shared +raja cuda_arch=70 tests=basic"
PROJECT_LASSEN_VARIANTS: "~shared +raja cuda_arch=70 tests=basic "
# Project specific deps for lassen
PROJECT_LASSEN_DEPS: ""
PROJECT_LASSEN_DEPS: "^raja~examples~exercises "

# Configuration shared by build and test jobs specific to this project.
# Not all configuration can be shared. Here projects can fine tune the
Expand Down
2 changes: 1 addition & 1 deletion .uberenv_config.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"package_final_phase" : "initconfig",
"package_source_dir" : "../..",
"spack_url": "https://github.com/spack/spack.git",
"spack_branch": "develop-2024-05-26",
"spack_branch": "develop-2024-07-07",
"spack_activate" : {},
"spack_configs_path": "scripts/radiuss-spack-configs",
"spack_packages_path": "scripts/radiuss-spack-configs/packages",
Expand Down
4 changes: 2 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ cmake_policy(SET CMP0025 NEW)
include(CMakeDependentOption)
include(CMakePackageConfigHelpers)

project(Chai LANGUAGES C CXX VERSION 2024.02.2)
cmake_minimum_required(VERSION 3.14)
project(Chai LANGUAGES C CXX VERSION 2024.07.0)
cmake_minimum_required(VERSION 3.23)

include(cmake/SetupChaiOptions.cmake)

Expand Down
76 changes: 18 additions & 58 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,88 +1,48 @@
FROM ghcr.io/rse-ops/gcc-ubuntu-20.04:gcc-7.3.0 AS gcc7
FROM ghcr.io/llnl/radiuss:ubuntu-22.04-gcc-13 AS gcc
ENV GTEST_COLOR=1
COPY . /home/chai/workspace
WORKDIR /home/chai/workspace/build
RUN cmake -DENABLE_COVERAGE=On -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_COMPILER=g++ .. && \
RUN cmake -DENABLE_COVERAGE=On -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_COMPILER=g++ -DCMAKE_C_COMPILER=gcc .. && \
make -j 16 && \
ctest -T test --output-on-failure

FROM ghcr.io/rse-ops/gcc-ubuntu-20.04:gcc-8.1.0 AS gcc8
FROM ghcr.io/llnl/radiuss:clang-15-ubuntu-22.04 AS clang
ENV GTEST_COLOR=1
COPY . /home/chai/workspace
WORKDIR /home/chai/workspace/build
RUN cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_COMPILER=g++ .. && \
RUN cmake -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang .. && \
make -j 16 && \
ctest -T test --output-on-failure

FROM ghcr.io/rse-ops/gcc-ubuntu-18.04:gcc-9.4.0 AS gcc9
FROM ghcr.io/llnl/radiuss:intel-2024.0-ubuntu-20.04 AS intel
ENV GTEST_COLOR=1
COPY . /home/chai/workspace
WORKDIR /home/chai/workspace/build
RUN cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_COMPILER=g++ .. && \
RUN /bin/bash -c "source /opt/intel/oneapi/setvars.sh 2>&1 > /dev/null && \
cmake -DCMAKE_CXX_COMPILER=icpx -DCMAKE_C_COMPILER=icx -DENABLE_WARNINGS_AS_ERRORS=Off .. && \
make -j 16 && \
ctest -T test --output-on-failure
ctest -T test --output-on-failure"

FROM ghcr.io/rse-ops/gcc-ubuntu-18.04:gcc-11.2.0 AS gcc11
FROM ghcr.io/llnl/radiuss:ubuntu-22.04-cuda-12-3 AS cuda
ENV GTEST_COLOR=1
COPY . /home/chai/workspace
WORKDIR /home/chai/workspace/build
RUN cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_COMPILER=g++ .. && \
make -j 16 && \
ctest -T test --output-on-failure

FROM ghcr.io/rse-ops/clang-ubuntu-20.04:llvm-10.0.0 AS clang10
ENV GTEST_COLOR=1
COPY . /home/chai/workspace
WORKDIR /home/chai/workspace/build
RUN cmake -DCMAKE_CXX_COMPILER=clang++ .. && \
make -j 16 && \
ctest -T test --output-on-failure

FROM ghcr.io/rse-ops/clang-ubuntu-22.04:llvm-11.0.0 AS clang11
ENV GTEST_COLOR=1
COPY . /home/chai/workspace
WORKDIR /home/chai/workspace/build
RUN cmake -DCMAKE_CXX_COMPILER=clang++ .. && \
make -j 16 && \
ctest -T test --output-on-failure

FROM ghcr.io/rse-ops/clang-ubuntu-22.04:llvm-12.0.0 AS clang12
ENV GTEST_COLOR=1
COPY . /home/chai/workspace
WORKDIR /home/chai/workspace/build
RUN cmake -DCMAKE_CXX_COMPILER=clang++ .. && \
make -j 16 && \
ctest -T test --output-on-failure

FROM ghcr.io/rse-ops/clang-ubuntu-22.04:llvm-13.0.0 AS clang13
ENV GTEST_COLOR=1
COPY . /home/chai/workspace
WORKDIR /home/chai/workspace/build
RUN cmake -DCMAKE_CXX_COMPILER=clang++ .. && \
make -j 16 && \
ctest -T test --output-on-failure

FROM ghcr.io/rse-ops/cuda:cuda-10.1.243-ubuntu-18.04 AS nvcc10
ENV GTEST_COLOR=1
COPY . /home/chai/workspace
WORKDIR /home/chai/workspace/build
RUN . /opt/spack/share/spack/setup-env.sh && spack load cuda && \
cmake -DCMAKE_CXX_COMPILER=g++ -DENABLE_CUDA=On .. && \
RUN cmake -DCMAKE_CXX_COMPILER=g++ -DCMAKE_C_COMPILER=gcc -DENABLE_CUDA=On -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc -DCMAKE_CUDA_ARCHITECTURES=70 .. && \
make -j 16

FROM ghcr.io/rse-ops/cuda-ubuntu-20.04:cuda-11.1.1 AS nvcc11
# TODO: switch to ROCM 6
FROM ghcr.io/llnl/radiuss:hip-5.6.1-ubuntu-20.04 AS hip
ENV GTEST_COLOR=1
ENV HCC_AMDGPU_TARGET=gfx900
COPY . /home/chai/workspace
WORKDIR /home/chai/workspace/build
RUN . /opt/spack/share/spack/setup-env.sh && spack load cuda && \
cmake -DCMAKE_CXX_COMPILER=g++ -DENABLE_CUDA=On .. && \
RUN cmake -DCMAKE_CXX_COMPILER=amdclang++ -DCMAKE_C_COMPILER=amdclang -DENABLE_HIP=On -DENABLE_WARNINGS_AS_ERRORS=Off .. && \
make -j 16

FROM ghcr.io/rse-ops/hip-ubuntu-22.04:hip-5.1.3 AS hip
FROM ghcr.io/llnl/radiuss:intel-2024.0-ubuntu-20.04 AS sycl
ENV GTEST_COLOR=1
ENV HCC_AMDGPU_TARGET=gfx900
COPY . /home/chai/workspace
WORKDIR /home/chai/workspace/build
RUN . /opt/spack/share/spack/setup-env.sh && spack load hip llvm-amdgpu && \
cmake -DENABLE_WARNINGS_AS_ERRORS=Off -DCHAI_ENABLE_MANAGED_PTR=Off -DCMAKE_CXX_COMPILER=amdclang++ -DCMAKE_C_COMPILER=amdclang -DENABLE_HIP=On .. && \
make -j 16 VERBOSE=1
RUN /bin/bash -c "source /opt/intel/oneapi/setvars.sh 2>&1 > /dev/null && \
cmake -DCMAKE_CXX_COMPILER=dpcpp -DCMAKE_C_COMPILER=icx -DENABLE_WARNINGS_AS_ERRORS=Off .. && \
make -j 16"
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
[comment]: # (# SPDX-License-Identifier: BSD-3-Clause)
[comment]: # (#################################################################)

# CHAI v2024.02.2
# CHAI v2024.07.0

[![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
8 changes: 8 additions & 0 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,14 @@ in this file.

The format of this file is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).

## [Version 2024.07.0] - Release date 2024-07-26

### Changed
- Updated to Umpire v2024.07.0 and RAJA v2024.07.0
- Increased minimum CMake version required to 3.23
- Turns off benchmarks and examples by default
- Enable RAJA plugin by default

## [Version 2024.02.2] - Release date 2024-06-26

### Changed
Expand Down
26 changes: 12 additions & 14 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,18 @@ jobs:
timeoutInMinutes: 360
strategy:
matrix:
gcc7:
docker_target: gcc7
gcc8:
docker_target: gcc8
gcc9:
docker_target: gcc9
clang10:
docker_target: clang10
clang11:
docker_target: clang11
clang12:
docker_target: clang12
clang13:
docker_target: clang13
gcc:
docker_target: gcc
clang:
docker_target: clang
#intel:
#docker_target: intel
#cuda:
#docker_target: cuda
#hip:
#docker_target: hip
#sycl:
#docker_target: sycl
pool:
vmImage: 'ubuntu-latest'
variables:
Expand Down
6 changes: 3 additions & 3 deletions cmake/SetupChaiOptions.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,16 @@ mark_as_advanced(CHAI_DISABLE_RM)
option(CHAI_ENABLE_UM "Use CUDA unified (managed) memory" Off)
option(CHAI_THIN_GPU_ALLOCATE "Single memory space model" Off)
option(CHAI_ENABLE_PINNED "Use pinned host memory" Off)
option(CHAI_ENABLE_RAJA_PLUGIN "Build plugin to set RAJA execution spaces" Off)
option(CHAI_ENABLE_RAJA_PLUGIN "Build plugin to set RAJA execution spaces" On)
option(CHAI_ENABLE_GPU_ERROR_CHECKING "Enable GPU error checking" On)
option(CHAI_ENABLE_MANAGED_PTR "Enable managed_ptr" On)
option(CHAI_DEBUG "Enable Debug Logging." Off)
option(CHAI_ENABLE_RAJA_NESTED_TEST "Enable raja-chai-nested-tests, which fails to build on Debug CUDA builds." On)
option(CHAI_ENABLE_MANAGED_PTR_ON_GPU "Enable managed_ptr on GPU" On)

option(CHAI_ENABLE_TESTS "Enable CHAI tests" On)
option(CHAI_ENABLE_BENCHMARKS "Enable benchmarks" On)
option(CHAI_ENABLE_EXAMPLES "Enable CHAI examples" On)
option(CHAI_ENABLE_BENCHMARKS "Enable benchmarks" Off)
option(CHAI_ENABLE_EXAMPLES "Enable CHAI examples" Off)
option(CHAI_ENABLE_REPRODUCERS "Enable CHAI reproducers" Off)
option(CHAI_ENABLE_DOCS "Enable CHAI documentation" Off)

Expand Down
2 changes: 2 additions & 0 deletions cmake/thirdparty/SetupChaiThirdparty.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ if (CHAI_ENABLE_RAJA_PLUGIN)
message(FATAL_ERROR "[CHAI] RAJA not found! Set raja_DIR to the install location of RAJA or run 'git submodule update --init --recursive' in the CHAI repository, then try building again.")
else ()
message(STATUS "[CHAI] Using internal RAJA")
set(RAJA_ENABLE_EXAMPLES Off CACHE BOOL "Enable examples in RAJA")
set(RAJA_ENABLE_EXERCISES Off CACHE BOOL "Enable exercises in RAJA")
add_subdirectory(${PROJECT_SOURCE_DIR}/src/tpl/raja)
endif ()
endif ()
Expand Down
4 changes: 2 additions & 2 deletions docs/sphinx/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,9 +61,9 @@
# built documents.
#
# The short X.Y version.
version = u'2024.02'
version = u'2024.07'
# The full version, including alpha/beta/rc tags.
release = u'2024.02.2'
release = u'2024.07.0'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
4 changes: 2 additions & 2 deletions docs/sphinx/conf.py.in
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,9 @@ author = u''
# built documents.
#
# The short X.Y version.
version = u'2024.02'
version = u'2024.07'
# The full version, including alpha/beta/rc tags.
release = u'2024.02.2'
release = u'2024.07.0'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
2 changes: 1 addition & 1 deletion scripts/make_release_tarball.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
##############################################################################

TAR_CMD=gtar
VERSION=2024.02.2
VERSION=2024.07.0

git archive --prefix=chai-${VERSION}/ -o chai-${VERSION}.tar HEAD 2> /dev/null

Expand Down
2 changes: 1 addition & 1 deletion src/tpl/raja
Submodule raja updated 143 files
2 changes: 1 addition & 1 deletion src/tpl/umpire
Submodule umpire updated 51 files
+68 −0 .github/workflows/build.yml
+5 −2 .gitlab-ci.yml
+15 −3 .gitlab/custom-jobs-and-variables.yml
+1 −3 .gitlab/jobs/corona.yml
+2 −3 .gitlab/jobs/lassen.yml
+1 −3 .gitlab/jobs/poodle.yml
+1 −3 .gitlab/jobs/ruby.yml
+4 −7 .gitlab/jobs/tioga.yml
+1 −1 .uberenv_config.json
+2 −2 CMakeLists.txt
+17 −71 Dockerfile
+1 −1 README.md
+1 −1 RELEASE
+16 −0 RELEASE_NOTES.md
+0 −116 azure-pipelines.yml
+36 −0 cmake/SetupCompilerFlags.cmake
+1 −1 docs/conf.py
+2 −2 docs/sphinx/conf.py.in
+10 −2 examples/cookbook/CMakeLists.txt
+74 −0 examples/cookbook/recipe_control_granularity.cpp
+104 −64 scripts/gitlab/build_and_test.sh
+1 −1 scripts/make_release_tarball.sh
+1 −1 scripts/radiuss-spack-configs
+1 −1 scripts/uberenv
+1 −1 src/tpl/umpire/camp
+9 −0 src/umpire/ResourceManager.cpp
+1 −0 src/umpire/alloc/CMakeLists.txt
+32 −0 src/umpire/alloc/HipAllocator.hpp
+38 −7 src/umpire/alloc/HipMallocAllocator.hpp
+23 −1 src/umpire/alloc/HipMallocManagedAllocator.hpp
+33 −2 src/umpire/alloc/HipPinnedAllocator.hpp
+1 −0 src/umpire/config.hpp.in
+1 −1 src/umpire/interface/c_fortran/CMakeLists.txt
+0 −2 src/umpire/op/HipAdviseOperation.hpp
+0 −2 src/umpire/op/HipCopyOperation.hpp
+0 −2 src/umpire/op/MemoryOperationRegistry.cpp
+4 −0 src/umpire/resource/CMakeLists.txt
+0 −2 src/umpire/resource/HipConstantMemoryResource.hpp
+1 −1 src/umpire/resource/HipDeviceMemoryResource.cpp
+54 −0 src/umpire/resource/HipPinnedMemoryResource.cpp
+41 −0 src/umpire/resource/HipPinnedMemoryResource.hpp
+1 −3 src/umpire/resource/HipPinnedMemoryResourceFactory.cpp
+1 −0 src/umpire/resource/HipPinnedMemoryResourceFactory.hpp
+54 −0 src/umpire/resource/HipUnifiedMemoryResource.cpp
+41 −0 src/umpire/resource/HipUnifiedMemoryResource.hpp
+2 −4 src/umpire/resource/HipUnifiedMemoryResourceFactory.cpp
+28 −1 src/umpire/resource/MemoryResourceRegistry.cpp
+6 −2 src/umpire/resource/MemoryResourceTypes.hpp
+4 −0 src/umpire/util/MemoryResourceTraits.hpp
+1 −1 tests/install/using-with-cmake/CMakeLists.txt
+27 −0 tests/integration/allocator_integration_tests.cpp

0 comments on commit df7741f

Please sign in to comment.