From f0b809de1ac194376866b3ac0f5933d4146ec09e Mon Sep 17 00:00:00 2001 From: David Beckingsale Date: Tue, 29 Mar 2022 14:19:04 -0700 Subject: [PATCH] Release v2022.03.0 (#208) --- CMakeLists.txt | 6 +- Dockerfile | 143 +++++++++++++-------- README.md | 2 +- azure-pipelines.yml | 32 +++-- benchmarks/CMakeLists.txt | 2 +- blt | 2 +- cmake/ChaiBasics.cmake | 5 - cmake/SetupChaiOptions.cmake | 1 - cmake/thirdparty/SetupChaiThirdparty.cmake | 7 +- docs/sphinx/conf.py | 4 +- docs/sphinx/conf.py.in | 4 +- examples/CMakeLists.txt | 2 +- reproducers/CMakeLists.txt | 2 +- scripts/make_release_tarball.sh | 2 +- src/chai/CMakeLists.txt | 2 +- src/tpl/raja | 2 +- src/tpl/umpire | 2 +- tests/integration/CMakeLists.txt | 2 +- tests/unit/CMakeLists.txt | 2 +- 19 files changed, 128 insertions(+), 96 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c4775043..52e844b1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,12 +11,12 @@ cmake_policy(SET CMP0025 NEW) include(CMakeDependentOption) include(CMakePackageConfigHelpers) -project(Chai LANGUAGES CXX VERSION 2.4.0) -cmake_minimum_required(VERSION 3.9) +project(Chai LANGUAGES C CXX VERSION 2022.03.0) +cmake_minimum_required(VERSION 3.14) include(cmake/SetupChaiOptions.cmake) -set(BLT_CXX_STD c++11 CACHE STRING "") +set(BLT_CXX_STD c++14 CACHE STRING "") if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "PGI") message(STATUS "Setting CMAKE_CXX_EXTENSIONS to ON for PGI Compiler") diff --git a/Dockerfile b/Dockerfile index e690720a..ff38aa53 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,55 +1,88 @@ -FROM axom/compilers:gcc-5 AS gcc5 -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 --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 --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 --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 --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 --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 --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 --output-on-failure - - -FROM axom/compilers:nvcc-10 AS nvcc -COPY --chown=axom:axom . /home/axom/workspace -WORKDIR /home/axom/workspace -RUN mkdir build && cd build && cmake -DCMAKE_CXX_COMPILER=g++ -DENABLE_CUDA=On .. -RUN cd build && make -j 16 +FROM ghcr.io/rse-ops/gcc-ubuntu-20.04:gcc-7.3.0 AS gcc7 +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++ .. && \ + make -j 16 && \ + ctest -T test --output-on-failure + +FROM ghcr.io/rse-ops/gcc-ubuntu-20.04:gcc-8.1.0 AS gcc8 +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/gcc-ubuntu-18.04:gcc-9.4.0 AS gcc9 +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/gcc-ubuntu-18.04:gcc-11.2.0 AS gcc11 +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 .. && \ + make -j 16 + +FROM ghcr.io/rse-ops/cuda-ubuntu-20.04:cuda-11.1.1 AS nvcc11 +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 .. && \ + make -j 16 + +FROM ghcr.io/rse-ops/hip-ubuntu-22.04:hip-4.3.1 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 hip llvm-amdgpu && \ + cmake -DBLT_EXPORT_THIRDPARTY=On -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 \ No newline at end of file diff --git a/README.md b/README.md index e69aee09..145630ca 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# CHAI v2.4 +# CHAI v2022.03.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) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 03e4f854..7dcd1b1a 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -3,22 +3,26 @@ jobs: timeoutInMinutes: 360 strategy: matrix: - gcc5: - docker_target: gcc5 - gcc6: - docker_target: gcc6 - gcc7: + gcc7: docker_target: gcc7 - gcc8: + gcc8: docker_target: gcc8 - clang4: - docker_target: clang4 - clang5: - docker_target: clang5 - clang7: - docker_target: clang6 - nvcc: - docker_target: nvcc + gcc9: + docker_target: gcc9 + clang10: + docker_target: clang10 + clang11: + docker_target: clang11 + clang12: + docker_target: clang12 + clang13: + docker_target: clang13 + nvcc10: + docker_target: nvcc10 + nvcc11: + docker_target: nvcc11 + hip: + docker_target: hip pool: vmImage: 'ubuntu-latest' variables: diff --git a/benchmarks/CMakeLists.txt b/benchmarks/CMakeLists.txt index a021095c..86a5190b 100644 --- a/benchmarks/CMakeLists.txt +++ b/benchmarks/CMakeLists.txt @@ -17,7 +17,7 @@ endif () if (CHAI_ENABLE_HIP) set (chai_benchmark_depends ${chai_benchmark_depends} - hip) + blt::hip) endif () blt_add_executable( diff --git a/blt b/blt index ddd5a0ca..296bf64e 160000 --- a/blt +++ b/blt @@ -1 +1 @@ -Subproject commit ddd5a0ca7c566d0ae14270b66625c8a363630ddb +Subproject commit 296bf64e64edfcfcce6a53e3b396d6529e76b986 diff --git a/cmake/ChaiBasics.cmake b/cmake/ChaiBasics.cmake index 3ff7c73d..5fcf246a 100644 --- a/cmake/ChaiBasics.cmake +++ b/cmake/ChaiBasics.cmake @@ -6,9 +6,4 @@ ############################################################################## set (CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} --expt-extended-lambda") -if (CHAI_ENABLE_HIP) - #bug in ROCm 2.4 is incorrectly warning about missing overrides - set(HIP_HIPCC_FLAGS "${HIP_HIPCC_FLAGS} -Wno-inconsistent-missing-override") -endif() - include(${PROJECT_SOURCE_DIR}/cmake/thirdparty/SetupChaiThirdparty.cmake) diff --git a/cmake/SetupChaiOptions.cmake b/cmake/SetupChaiOptions.cmake index e4390faf..e2d65fa0 100644 --- a/cmake/SetupChaiOptions.cmake +++ b/cmake/SetupChaiOptions.cmake @@ -4,7 +4,6 @@ # # SPDX-License-Identifier: BSD-3-Clause ############################################################################ -option(CHAI_ENABLE_HIP "Enable HIP" Off) option(CHAI_ENABLE_GPU_SIMULATION_MODE "Enable GPU Simulation Mode" Off) option(CHAI_ENABLE_OPENMP "Enable OpenMP" Off) option(CHAI_ENABLE_MPI "Enable MPI (for umpire replay only)" Off) diff --git a/cmake/thirdparty/SetupChaiThirdparty.cmake b/cmake/thirdparty/SetupChaiThirdparty.cmake index 6310e17e..d0be864a 100644 --- a/cmake/thirdparty/SetupChaiThirdparty.cmake +++ b/cmake/thirdparty/SetupChaiThirdparty.cmake @@ -23,10 +23,11 @@ if (NOT TARGET umpire) LIBRARIES umpire DEPENDS_ON ${UMPIRE_DEPENDS}) else () - set(OLD_ENABLE_FORTRAN ${ENABLE_FORTRAN}) - set(ENABLE_FORTRAN Off CACHE BOOL "Enable Fortran in Umpire") + set(UMPIRE_ENABLE_FORTRAN Off CACHE BOOL "Enable Fortran in Umpire") + set(UMPIRE_ENABLE_C Off CACHE BOOL "Enable Fortran in Umpire") + set(UMPIRE_ENABLE_TESTS Off CACHE BOOL "") + set(UMPIRE_ENABLE_TOOLS Off CACHE BOOL "") add_subdirectory(${PROJECT_SOURCE_DIR}/src/tpl/umpire) - set(ENABLE_FORTRAN ${OLD_ENABLE_FORTRAN}) endif() # Umpire depends on camp diff --git a/docs/sphinx/conf.py b/docs/sphinx/conf.py index 8c3bb894..f6f3755b 100644 --- a/docs/sphinx/conf.py +++ b/docs/sphinx/conf.py @@ -61,9 +61,9 @@ # built documents. # # The short X.Y version. -version = u'2.4' +version = u'2022.03' # The full version, including alpha/beta/rc tags. -release = u'2.4.0' +release = u'2022.03.0' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/docs/sphinx/conf.py.in b/docs/sphinx/conf.py.in index 9b08a122..84fa5a62 100644 --- a/docs/sphinx/conf.py.in +++ b/docs/sphinx/conf.py.in @@ -60,9 +60,9 @@ author = u'' # built documents. # # The short X.Y version. -version = u'2.4' +version = u'2022.03' # The full version, including alpha/beta/rc tags. -release = u'2.4.0' +release = u'2022.03.0' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index fa0e9952..4518baf5 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -15,7 +15,7 @@ endif() if (CHAI_ENABLE_HIP) set (chai_umpire_example_depends ${chai_umpire_example_depends} - hip) + blt::hip) endif() blt_add_executable( diff --git a/reproducers/CMakeLists.txt b/reproducers/CMakeLists.txt index f2a52e7f..74d738d2 100644 --- a/reproducers/CMakeLists.txt +++ b/reproducers/CMakeLists.txt @@ -11,7 +11,7 @@ if (CHAI_ENABLE_CUDA) endif () if (CHAI_ENABLE_HIP) - list(APPEND chai_reproducer_depends hip) + list(APPEND chai_reproducer_depends blt::hip) endif () if (CHAI_ENABLE_MANAGED_PTR AND CHAI_ENABLE_HIP) diff --git a/scripts/make_release_tarball.sh b/scripts/make_release_tarball.sh index cce285fe..f755a49d 100755 --- a/scripts/make_release_tarball.sh +++ b/scripts/make_release_tarball.sh @@ -7,7 +7,7 @@ ############################################################################## TAR_CMD=gtar -VERSION=2.4.0 +VERSION=2022.03.0 git archive --prefix=chai-${VERSION}/ -o chai-${VERSION}.tar HEAD 2> /dev/null diff --git a/src/chai/CMakeLists.txt b/src/chai/CMakeLists.txt index 6293ad97..27520b68 100644 --- a/src/chai/CMakeLists.txt +++ b/src/chai/CMakeLists.txt @@ -39,7 +39,7 @@ endif () if (CHAI_ENABLE_HIP) set (chai_depends ${chai_depends} - hip_runtime) + blt::hip_runtime) endif () if (CHAI_ENABLE_RAJA_PLUGIN) diff --git a/src/tpl/raja b/src/tpl/raja index 357933a4..4351fe6a 160000 --- a/src/tpl/raja +++ b/src/tpl/raja @@ -1 +1 @@ -Subproject commit 357933a42842dd91de5c1034204d937fce0a2a44 +Subproject commit 4351fe6a50bd579511a625b017c9e054885e7fd2 diff --git a/src/tpl/umpire b/src/tpl/umpire index 5f886b42..2db6224a 160000 --- a/src/tpl/umpire +++ b/src/tpl/umpire @@ -1 +1 @@ -Subproject commit 5f886b4299496b7cb6f9d62dc1372ce6d3832fbc +Subproject commit 2db6224ae0c3f3e0bbd6722e95c1167b7f79be7b diff --git a/tests/integration/CMakeLists.txt b/tests/integration/CMakeLists.txt index 6d1b428a..b29a5046 100644 --- a/tests/integration/CMakeLists.txt +++ b/tests/integration/CMakeLists.txt @@ -8,7 +8,7 @@ set (chai_integration_test_depends chai umpire gtest) blt_list_append(TO chai_integration_test_depends ELEMENTS cuda IF ${CHAI_ENABLE_CUDA}) -blt_list_append(TO chai_integration_test_depends ELEMENTS hip IF ${CHAI_ENABLE_HIP}) +blt_list_append(TO chai_integration_test_depends ELEMENTS blt::hip IF ${CHAI_ENABLE_HIP}) blt_list_append(TO chai_integration_test_depends ELEMENTS openmp IF ${CHAI_ENABLE_OPENMP}) # ManagedArray tests diff --git a/tests/unit/CMakeLists.txt b/tests/unit/CMakeLists.txt index a7989621..62e65f4f 100644 --- a/tests/unit/CMakeLists.txt +++ b/tests/unit/CMakeLists.txt @@ -8,7 +8,7 @@ set (chai_unit_test_depends chai umpire gtest) blt_list_append(TO chai_unit_test_depends ELEMENTS cuda IF ${CHAI_ENABLE_CUDA}) -blt_list_append(TO chai_unit_test_depends ELEMENTS hip IF ${CHAI_ENABLE_HIP}) +blt_list_append(TO chai_unit_test_depends ELEMENTS blt::hip IF ${CHAI_ENABLE_HIP}) blt_add_executable( NAME managed_array_unit_tests