Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
0fb8137
Update RADIUSS packages w.r.t. spack@develop-2024-06-16
adrienbernede Jun 24, 2024
7963a71
Merge pull request #269 from LLNL/main
adayton1 Jun 27, 2024
c24af2f
Merge branch 'develop' into woptim/add-latest-releases
adayton1 Jun 27, 2024
9139602
From RSC: Update CHAI package
adrienbernede Jun 27, 2024
231d7e5
Prep 2024.07.0 release candidate branch
adayton1 Jun 27, 2024
197c025
Change minimum CMake to 3.20
adayton1 Jun 27, 2024
3f4557d
Update defaults for options
adayton1 Jun 27, 2024
02b7320
Turn RAJA plugin back off by default
adayton1 Jun 27, 2024
e71f1a5
Update to develop in raja and umpire
adayton1 Jun 28, 2024
2c10916
Update w.r.t. spack@develop-2024-07-07
adrienbernede Jul 10, 2024
1b1ae9e
Add changes related to camp
adrienbernede Jul 10, 2024
009c28a
Update Umpire fmt support
adrienbernede Jul 11, 2024
5495361
Update Spack version
adrienbernede Jul 11, 2024
2ef8c66
Prevent spack from using fmt 11
adrienbernede Jul 11, 2024
32f0469
From RSC: apply patch to fmt@11.0.0
adrienbernede Jul 11, 2024
07cdc74
Depend on umpire~fmt_header_only with CUDA
davidbeckingsale Jul 11, 2024
c78246e
Bump radiuss-spack-configs to fix syntax error
davidbeckingsale Jul 11, 2024
c4afec5
From RSC: fmt fix and merge latest main
adrienbernede Jul 11, 2024
8e24bf9
Bump radiuss-spack-configs
davidbeckingsale Jul 15, 2024
a937afd
Update RSC
adrienbernede Jul 16, 2024
6e2ca4b
Point at RSC@main
adrienbernede Jul 16, 2024
997dea6
Move RAJA back to v2024.02.2
adayton1 Jul 16, 2024
390d640
Merge pull request #264 from LLNL/woptim/add-latest-releases
adayton1 Jul 16, 2024
31ac367
Merge branch 'develop' into v2024.07.0-RC
adayton1 Jul 24, 2024
d9980f6
Bump minimum CMake version up to 3.23
adayton1 Jul 24, 2024
1d09ed4
Update to v2024.07.0 releases of raja and umpire
adayton1 Jul 24, 2024
3dfa54d
Update docker images (#273)
adayton1 Jul 25, 2024
5c77c95
Fix merge conflicts
adayton1 Jul 25, 2024
6707a0e
Update release date
adayton1 Jul 25, 2024
8009ae5
Turn off RAJA examples and exercises
adayton1 Jul 25, 2024
1b41719
Update to new umpire
adayton1 Jul 25, 2024
3c009c5
Add missing includes to RAJA
adayton1 Jul 26, 2024
9256288
Disable cuda job
adayton1 Jul 26, 2024
685dcda
Update release date
adayton1 Jul 26, 2024
f405632
Disable RAJA examples and exercises in all GitLab CI jobs
adayton1 Jul 26, 2024
127c93e
Try to fix gitlab jobs
adayton1 Jul 26, 2024
603ed3b
Update raja missing includes branch
adayton1 Jul 26, 2024
f91b002
Disable examples and exercises in RAJA
adayton1 Jul 26, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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