diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index edf567f301..969b8ee2c9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -30,7 +30,7 @@ jobs: with: build-dir: build options: - CMAKE_CXX_STANDARD=17 + CMAKE_CXX_STANDARD=20 ENABLE_OPENMP=Off CMAKE_BUILD_TYPE=Release run-build: true diff --git a/.travis.yml b/.travis.yml index 331f3dba8c..450ef02073 100644 --- a/.travis.yml +++ b/.travis.yml @@ -34,7 +34,7 @@ matrix: env: - COMPILER=/opt/intel/bin/icpc - IMG=icc18 - - CMAKE_EXTRA_FLAGS="-DRAJA_ENABLE_FORCEINLINE_RECURSIVE=Off -DRAJA_ENABLE_TBB=On -DBLT_CXX_STD=c++17" + - CMAKE_EXTRA_FLAGS="-DRAJA_ENABLE_FORCEINLINE_RECURSIVE=Off -DRAJA_ENABLE_TBB=On -DBLT_CXX_STD=c++20" - compiler: nvcc10.2 env: - COMPILER=g++ diff --git a/CMakeLists.txt b/CMakeLists.txt index 6a2d862ab0..6f0206025a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -54,14 +54,11 @@ if(NOT DEFINED BLT_CXX_STD) if("cxx_std_20" IN_LIST CMAKE_CXX_KNOWN_FEATURES) set(BLT_CXX_STD c++20 CACHE STRING "Version of C++ standard") message("Using C++ standard: ${BLT_CXX_STD}") - elseif("cxx_std_17" IN_LIST CMAKE_CXX_KNOWN_FEATURES) - set(BLT_CXX_STD c++17 CACHE STRING "Version of C++ standard") - message("Using C++ standard: ${BLT_CXX_STD}") elseif("${CMAKE_CXX_COMPILER_ID}" IN_LIST COMPILERS_KNOWN_TO_CMAKE33) - set(BLT_CXX_STD c++17 CACHE STRING "Version of C++ standard") + set(BLT_CXX_STD c++20 CACHE STRING "Version of C++ standard") message("Using C++ standard: ${BLT_CXX_STD}") else() #cmake has no idea what to do, do it ourselves... - set(flag_var "c++17") + set(flag_var "c++20") CHECK_CXX_COMPILER_FLAG("-std=${flag_var}" COMPILER_SUPPORTS_${flag_var}) if(COMPILER_SUPPORTS_${flag_var}) set(BLT_CXX_STD ${flag_var} CACHE STRING "Version of C++ standard") @@ -72,8 +69,9 @@ if(NOT DEFINED BLT_CXX_STD) else() #check BLT_CXX_STD is high enough by disallowing the only invalid option if(("${BLT_CXX_STD}" STREQUAL "c++98") OR ("${BLT_CXX_STD}" STREQUAL "c++11") OR - ("${BLT_CXX_STD}" STREQUAL "c++14")) - message(FATAL_ERROR "RAJA requires minimum C++ standard of c++17") + ("${BLT_CXX_STD}" STREQUAL "c++14") OR + ("${BLT_CXX_STD}" STREQUAL "c++17")) + message(FATAL_ERROR "RAJA requires minimum C++ standard of c++20") endif() endif(NOT DEFINED BLT_CXX_STD) diff --git a/Dockerfile b/Dockerfile index b605df6fda..91446dc263 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,7 +15,7 @@ FROM ghcr.io/llnl/radiuss:gcc-12-ubuntu-24.04 AS gcc12 ENV GTEST_COLOR=1 COPY . /home/raja/workspace WORKDIR /home/raja/workspace/build -RUN cmake -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=Release -DRAJA_ENABLE_WARNINGS=On -DRAJA_ENABLE_WARNINGS_AS_ERRORS=On -DENABLE_OPENMP=On -DBLT_CXX_STD=c++17 .. && \ +RUN cmake -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=Release -DRAJA_ENABLE_WARNINGS=On -DRAJA_ENABLE_WARNINGS_AS_ERRORS=On -DENABLE_OPENMP=On -DBLT_CXX_STD=c++20 .. && \ make -j 16 &&\ ctest -T test --output-on-failure && \ make clean @@ -24,7 +24,7 @@ FROM ghcr.io/llnl/radiuss:gcc-12-ubuntu-24.04 AS gcc12_debug ENV GTEST_COLOR=1 COPY . /home/raja/workspace WORKDIR /home/raja/workspace/build -RUN cmake -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=Debug -DRAJA_ENABLE_WARNINGS=On -DRAJA_ENABLE_WARNINGS_AS_ERRORS=On -DENABLE_OPENMP=On -DBLT_CXX_STD=c++17 .. && \ +RUN cmake -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=Debug -DRAJA_ENABLE_WARNINGS=On -DRAJA_ENABLE_WARNINGS_AS_ERRORS=On -DENABLE_OPENMP=On -DBLT_CXX_STD=c++20 .. && \ make -j 16 &&\ ctest -T test --output-on-failure && \ make clean @@ -33,7 +33,7 @@ FROM ghcr.io/llnl/radiuss:gcc-13-ubuntu-24.04 AS gcc13 ENV GTEST_COLOR=1 COPY . /home/raja/workspace WORKDIR /home/raja/workspace/build -RUN cmake -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=Release -DRAJA_ENABLE_WARNINGS=On -DRAJA_ENABLE_WARNINGS_AS_ERRORS=On -DENABLE_OPENMP=On -DBLT_CXX_STD=c++17 .. && \ +RUN cmake -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=Release -DRAJA_ENABLE_WARNINGS=On -DRAJA_ENABLE_WARNINGS_AS_ERRORS=On -DENABLE_OPENMP=On -DBLT_CXX_STD=c++20 .. && \ make -j 16 &&\ ctest -T test --output-on-failure && \ make clean @@ -42,7 +42,7 @@ FROM ghcr.io/llnl/radiuss:gcc-13-ubuntu-24.04 AS gcc13_desul ENV GTEST_COLOR=1 COPY . /home/raja/workspace WORKDIR /home/raja/workspace/build -RUN cmake -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=Release -DRAJA_ENABLE_WARNINGS=On -DRAJA_ENABLE_WARNINGS_AS_ERRORS=On -DENABLE_OPENMP=On -DRAJA_ENABLE_DESUL_ATOMICS=On -DBLT_CXX_STD=c++17 .. && \ +RUN cmake -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=Release -DRAJA_ENABLE_WARNINGS=On -DRAJA_ENABLE_WARNINGS_AS_ERRORS=On -DENABLE_OPENMP=On -DRAJA_ENABLE_DESUL_ATOMICS=On -DBLT_CXX_STD=c++20 .. && \ make -j 16 &&\ ctest -T test --output-on-failure && \ make clean @@ -51,7 +51,7 @@ FROM ghcr.io/llnl/radiuss:clang-14-ubuntu-22.04 AS clang14_debug ENV GTEST_COLOR=1 COPY . /home/raja/workspace WORKDIR /home/raja/workspace/build -RUN cmake -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=Debug -DENABLE_OPENMP=On -DBLT_CXX_STD=c++17 .. && \ +RUN cmake -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=Debug -DENABLE_OPENMP=On -DBLT_CXX_STD=c++20 .. && \ make -j 16 &&\ ctest -T test --output-on-failure && \ make clean @@ -69,7 +69,7 @@ FROM ghcr.io/llnl/radiuss:clang-14-ubuntu-22.04 AS clang14_desul ENV GTEST_COLOR=1 COPY . /home/raja/workspace WORKDIR /home/raja/workspace/build -RUN cmake -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=Release -DENABLE_OPENMP=On -DRAJA_ENABLE_DESUL_ATOMICS=On -DBLT_CXX_STD=c++17 .. && \ +RUN cmake -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=Release -DENABLE_OPENMP=On -DRAJA_ENABLE_DESUL_ATOMICS=On -DBLT_CXX_STD=c++20 .. && \ make -j 16 &&\ ctest -T test --output-on-failure && \ make clean @@ -80,7 +80,7 @@ ENV GTEST_COLOR=1 COPY . /home/raja/workspace WORKDIR /home/raja/workspace/build RUN /bin/bash -c "source /opt/intel/oneapi/setvars.sh 2>&1 > /dev/null && \ - cmake -DCMAKE_CXX_COMPILER=icpx -DCMAKE_BUILD_TYPE=Release -DENABLE_OPENMP=On -DBLT_CXX_STD=c++17 .. && \ + cmake -DCMAKE_CXX_COMPILER=icpx -DCMAKE_BUILD_TYPE=Release -DENABLE_OPENMP=On -DBLT_CXX_STD=c++20 .. && \ make -j 16 &&\ make clean" @@ -90,7 +90,7 @@ ENV GTEST_COLOR=1 COPY . /home/raja/workspace WORKDIR /home/raja/workspace/build RUN /bin/bash -c "source /opt/intel/oneapi/setvars.sh 2>&1 > /dev/null && \ - cmake -DCMAKE_CXX_COMPILER=icpx -DCMAKE_BUILD_TYPE=Debug -DENABLE_OPENMP=On -DBLT_CXX_STD=c++17 .. && \ + cmake -DCMAKE_CXX_COMPILER=icpx -DCMAKE_BUILD_TYPE=Debug -DENABLE_OPENMP=On -DBLT_CXX_STD=c++20 .. && \ make -j 16 &&\ make clean" @@ -99,7 +99,7 @@ ENV GTEST_COLOR=1 COPY . /home/raja/workspace WORKDIR /home/raja/workspace/build RUN /bin/bash -c "source /opt/intel/oneapi/setvars.sh 2>&1 > /dev/null && \ - cmake -DCMAKE_CXX_COMPILER=dpcpp -DCMAKE_BUILD_TYPE=Release -DENABLE_OPENMP=Off -DRAJA_ENABLE_SYCL=On -DRAJA_ENABLE_DESUL_ATOMICS=On -DBLT_CXX_STD=c++17 .. && \ + cmake -DCMAKE_CXX_COMPILER=dpcpp -DCMAKE_BUILD_TYPE=Release -DENABLE_OPENMP=Off -DRAJA_ENABLE_SYCL=On -DRAJA_ENABLE_DESUL_ATOMICS=On -DBLT_CXX_STD=c++20 .. && \ make -j 16 &&\ make clean" @@ -108,6 +108,6 @@ ENV GTEST_COLOR=1 ENV HCC_AMDGPU_TARGET=gfx900 COPY . /home/raja/workspace WORKDIR /home/raja/workspace/build -RUN cmake -DCMAKE_CXX_COMPILER=/opt/rocm-6.4.3/bin/amdclang++ -DROCM_PATH=/opt/rocm-6.4.3 -DCMAKE_BUILD_TYPE=Release -DENABLE_HIP=On -DRAJA_ENABLE_DESUL_ATOMICS=On -DRAJA_ENABLE_WARNINGS_AS_ERRORS=Off -DBLT_CXX_STD=c++17 .. && \ +RUN cmake -DCMAKE_CXX_COMPILER=/opt/rocm-6.4.3/bin/amdclang++ -DROCM_PATH=/opt/rocm-6.4.3 -DCMAKE_BUILD_TYPE=Release -DENABLE_HIP=On -DRAJA_ENABLE_DESUL_ATOMICS=On -DRAJA_ENABLE_WARNINGS_AS_ERRORS=Off -DBLT_CXX_STD=c++20 .. && \ make -j 16 &&\ make clean diff --git a/README.md b/README.md index 1e2097d408..b43321bf57 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ and programming model portability for HPC applications. RAJA has two main goals: RAJA offers portable, parallel loop execution by providing building blocks that extend the generally-accepted parallel for idiom. RAJA relies on standard -C++17 features. +C++20 features. RAJA's design is rooted in decades of experience working on production mesh-based multiphysics applications. Based on the diversity of @@ -55,7 +55,7 @@ To clone the repo, use the command: git clone --recursive https://github.com/llnl/raja.git Then, you can build RAJA like any other CMake project, provided you have a C++ -compiler that supports the C++17 standard. The simplest way to build the code, +compiler that supports the C++20 standard. The simplest way to build the code, using your system default compiler, is to run the following sequence of commands in the top-level RAJA directory (in-source builds are not allowed!): diff --git a/cmake/SetupCompilers.cmake b/cmake/SetupCompilers.cmake index b964173c4e..4c0a6571e6 100644 --- a/cmake/SetupCompilers.cmake +++ b/cmake/SetupCompilers.cmake @@ -59,7 +59,7 @@ endif() # end RAJA_ENABLE_CUDA section if (RAJA_ENABLE_HIP) - set(RAJA_HIPCC_STD_FLAG -std=c++17) + set(RAJA_HIPCC_STD_FLAG -std=c++20) if (NOT RAJA_HOST_CONFIG_LOADED) #list(APPEND RAJA_EXTRA_HIPCC_FLAGS) diff --git a/docs/index.rst b/docs/index.rst index 25f4a67847..952ac71659 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -47,7 +47,7 @@ reductions, scans, atomic operations, sorts, data layouts, views, and loop iteration spaces, as well as compile-time loop transformations. Features are continually growing as new use cases arise due to expanding user adoption. -RAJA uses standard C++17 -- C++ is the programming language model of choice +RAJA uses standard C++20 -- C++ is the programming language model of choice for many HPC applications. RAJA requirements and design are rooted in a decades of developer experience working on production mesh-based multiphysics applications. An important RAJA requirement is that diff --git a/docs/sphinx/user_guide/feature/policies.rst b/docs/sphinx/user_guide/feature/policies.rst index 7d5cb92741..1050a6ed72 100644 --- a/docs/sphinx/user_guide/feature/policies.rst +++ b/docs/sphinx/user_guide/feature/policies.rst @@ -1156,7 +1156,7 @@ RAJA Kernel Execution Policies RAJA kernel execution policy constructs form a simple domain specific language for composing and transforming complex loops that relies -**solely on standard C++17 template support**. +**solely on standard C++20 template support**. RAJA kernel policies are constructed using a combination of *Statements* and *Statement Lists*. A RAJA Statement is an action, such as execute a loop, invoke a lambda, set a thread barrier, etc. A StatementList is an ordered list diff --git a/docs/sphinx/user_guide/getting_started.rst b/docs/sphinx/user_guide/getting_started.rst index b59e6354d4..ce1e8d3bee 100644 --- a/docs/sphinx/user_guide/getting_started.rst +++ b/docs/sphinx/user_guide/getting_started.rst @@ -19,7 +19,7 @@ This section should help get you up and running with RAJA quickly. Requirements ============ -The primary requirement for using RAJA is a C++17 standard compliant compiler. +The primary requirement for using RAJA is a C++20 standard compliant compiler. Certain features, such as programming model back-ends like CUDA or HIP, must be supported by the compiler you chose to use them. Available RAJA configuration options and how to enable or disable features are described @@ -27,7 +27,7 @@ in :ref:`configopt-label`. To build RAJA and use its most basic features, you will need: -- C++ compiler with C++17 support +- C++ compiler with C++20 support - `CMake `_ version 3.23 or greater. diff --git a/host-configs/alcf-builds/cooley_nvcc_clang4_0.cmake b/host-configs/alcf-builds/cooley_nvcc_clang4_0.cmake index e015260fec..0b29ed299e 100644 --- a/host-configs/alcf-builds/cooley_nvcc_clang4_0.cmake +++ b/host-configs/alcf-builds/cooley_nvcc_clang4_0.cmake @@ -14,8 +14,8 @@ set(CMAKE_CXX_FLAGS_RELEASE "-O3" CACHE STRING "") set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3" CACHE STRING "") set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g" CACHE STRING "") -set(CUDA_COMMON_OPT_FLAGS -restrict; -arch sm_35; -std c++17; --expt-extended-lambda) -set(CUDA_COMMON_DEBUG_FLAGS -restrict; -arch compute_30; -std c++17; --expt-extended-lambda) +set(CUDA_COMMON_OPT_FLAGS -restrict; -arch sm_35; -std c++20; --expt-extended-lambda) +set(CUDA_COMMON_DEBUG_FLAGS -restrict; -arch compute_30; -std c++20; --expt-extended-lambda) set(HOST_OPT_FLAGS -Xcompiler -O3 -Xcompiler -fopenmp) diff --git a/host-configs/alcf-builds/sycl.cmake b/host-configs/alcf-builds/sycl.cmake index f3efb32477..bcd9040dc9 100755 --- a/host-configs/alcf-builds/sycl.cmake +++ b/host-configs/alcf-builds/sycl.cmake @@ -14,16 +14,11 @@ set(RAJA_COMPILER "RAJA_COMPILER_CLANG" CACHE STRING "") -#set(CMAKE_CXX_COMPILER "clang++" CACHE PATH "") -#set(CMAKE_CXX_COMPILER "g++" CACHE PATH "") set(CMAKE_CXX_COMPILER "dpcpp" CACHE PATH "") -#set(CMAKE_CXX_FLAGS_RELEASE "-O3 -fsycl -fsycl-unnamed-lambda -fsycl-targets=spir64_gen-unknown-unknown-sycldevice -Xsycl-target-backend '-device skl' " CACHE STRING "") -#set(CMAKE_CXX_FLAGS_RELWITHDEBINFO " -O3 -g -fsycl -fsycl-unnamed-lambda -fsycl-targets=spir64_gen-unknown-unknown-sycldevice -Xsycl-target-backend '-device skl'" CACHE STRING "") -#set(CMAKE_CXX_FLAGS_DEBUG " -O0 -g -fsycl -fsycl-unnamed-lambda -fsycl-targets=spir64_gen-unknown-unknown-sycldevice -Xsycl-target-backend '-device skl'" CACHE STRING "") -set(CMAKE_CXX_FLAGS_RELEASE "-O3 -std=c++17 -fsycl -fsycl-unnamed-lambda" CACHE STRING "") -set(CMAKE_CXX_FLAGS_RELWITHDEBINFO " -O3 -g -std=c++17 -fsycl -fsycl-unnamed-lambda" CACHE STRING "") -set(CMAKE_CXX_FLAGS_DEBUG " -O0 -g -std=c++17 -fsycl -fsycl-unnamed-lambda" CACHE STRING "") +set(CMAKE_CXX_FLAGS_RELEASE "-O3 -std=c++20 -fsycl -fsycl-unnamed-lambda" CACHE STRING "") +set(CMAKE_CXX_FLAGS_RELWITHDEBINFO " -O3 -g -std=c++20 -fsycl -fsycl-unnamed-lambda" CACHE STRING "") +set(CMAKE_CXX_FLAGS_DEBUG " -O0 -g -std=c++20 -fsycl -fsycl-unnamed-lambda" CACHE STRING "") set(CMAKE_CXX_LINK_FLAGS "-fsycl -Wl,-rpath,/usr/tce/packages/oneapi/oneapi-2021.2/compiler/2021.2.0/linux/compiler/lib/intel64_lin/" CACHE STRING "") set(RAJA_RANGE_ALIGN 4 CACHE INT "") diff --git a/host-configs/lc-builds/toss4/corona_sycl.cmake b/host-configs/lc-builds/toss4/corona_sycl.cmake index 72f4d00234..e91ab5a556 100755 --- a/host-configs/lc-builds/toss4/corona_sycl.cmake +++ b/host-configs/lc-builds/toss4/corona_sycl.cmake @@ -10,12 +10,8 @@ set(RAJA_COMPILER "RAJA_COMPILER_CLANG" CACHE STRING "") set(CMAKE_CXX_COMPILER "clang++" CACHE PATH "") #set(CMAKE_CXX_COMPILER "dpcpp" CACHE PATH "") -set(CMAKE_CXX_FLAGS_RELEASE "-O3 -L${SYCL_LIB_PATH} -fsycl -fsycl-unnamed-lambda -fsycl-targets=amdgcn-amd-amdhsa -Xsycl-target-backend --offload-arch=gfx906" CACHE STRING "") -set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 -g -L${SYCL_LIB_PATH} -fsycl -fsycl-unnamed-lambda -fsycl-targets=amdgcn-amd-amdhsa -Xsycl-target-backend --offload-arch=gfx906" CACHE STRING "") -set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -L${SYCL_LIB_PATH} -fsycl -fsycl-unnamed-lambda -fsycl-targets=amdgcn-amd-amdhsa -Xsycl-target-backend --offload-arch=gfx906" CACHE STRING "") -#set(CMAKE_CXX_FLAGS_RELEASE "-O3 -std=c++17 -fsycl -fsycl-unnamed-lambda --gcc-toolchain=/usr/tce/packages/gcc/gcc-7.1.0" CACHE STRING "") -#set(CMAKE_CXX_FLAGS_RELWITHDEBINFO " -O3 -g -std=c++17 -fsycl -fsycl-unnamed-lambda --gcc-toolchain=/usr/tce/packages/gcc/gcc-7.1.0" CACHE STRING "") -#set(CMAKE_CXX_FLAGS_DEBUG " -O0 -g -std=c++17 -fsycl -fsycl-unnamed-lambda --gcc-toolchain=/usr/tce/packages/gcc/gcc-7.1.0" CACHE STRING "") -#set(CMAKE_CXX_LINK_FLAGS "-fsycl -Wl,-rpath,/usr/tce/packages/oneapi/oneapi-2021.2/compiler/2021.2.0/linux/compiler/lib/intel64_lin/" CACHE STRING "") +set(CMAKE_CXX_FLAGS_RELEASE "-O3 -std=c++20 -L${SYCL_LIB_PATH} -fsycl -fsycl-unnamed-lambda -fsycl-targets=amdgcn-amd-amdhsa -Xsycl-target-backend --offload-arch=gfx906" CACHE STRING "") +set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 -std=c++20 -g -L${SYCL_LIB_PATH} -fsycl -fsycl-unnamed-lambda -fsycl-targets=amdgcn-amd-amdhsa -Xsycl-target-backend --offload-arch=gfx906" CACHE STRING "") +set(CMAKE_CXX_FLAGS_DEBUG "-O0 -std=c++20 -g -L${SYCL_LIB_PATH} -fsycl -fsycl-unnamed-lambda -fsycl-targets=amdgcn-amd-amdhsa -Xsycl-target-backend --offload-arch=gfx906" CACHE STRING "") set(RAJA_HOST_CONFIG_LOADED On CACHE BOOL "") diff --git a/scripts/alcf-builds/sycl.sh b/scripts/alcf-builds/sycl.sh index e6020f44b1..0c1dd2e87a 100755 --- a/scripts/alcf-builds/sycl.sh +++ b/scripts/alcf-builds/sycl.sh @@ -35,7 +35,7 @@ cmake \ -DRAJA_ENABLE_SYCL=On \ -DCMAKE_LINKER=clang++ \ -DCMAKE_CXX_STANDARD=17 \ - -DBLT_CXX_STD=c++17 \ + -DBLT_CXX_STD=c++20 \ -DENABLE_TESTS=On \ -DENABLE_EXAMPLES=On \ "$@" \ diff --git a/scripts/lc-builds/corona_sycl.sh b/scripts/lc-builds/corona_sycl.sh index b375b7ef45..a1969cec87 100755 --- a/scripts/lc-builds/corona_sycl.sh +++ b/scripts/lc-builds/corona_sycl.sh @@ -54,7 +54,7 @@ cmake \ -DCMAKE_C_COMPILER=clang \ -DCMAKE_CXX_COMPILER=clang++ \ -DCMAKE_LINKER=clang++ \ - -DBLT_CXX_STD=c++17 \ + -DBLT_CXX_STD=c++20 \ -DENABLE_TESTS=On \ -DENABLE_EXAMPLES=On \ "$@" \ diff --git a/scripts/lc-builds/toss4_amdclang.sh b/scripts/lc-builds/toss4_amdclang.sh index a4415040ac..33ae5fb11e 100755 --- a/scripts/lc-builds/toss4_amdclang.sh +++ b/scripts/lc-builds/toss4_amdclang.sh @@ -70,7 +70,7 @@ cmake \ -DCMAKE_HIP_ARCHITECTURES="${COMP_ARCH}" \ -DGPU_TARGETS="${COMP_ARCH}" \ -DAMDGPU_TARGETS="${COMP_ARCH}" \ - -DBLT_CXX_STD=c++17 \ + -DBLT_CXX_STD=c++20 \ -C "../host-configs/lc-builds/toss4/${HOSTCONFIG}.cmake" \ -DENABLE_HIP=ON \ -DENABLE_OPENMP=ON \ diff --git a/scripts/lc-builds/toss4_amdclang_asan.sh b/scripts/lc-builds/toss4_amdclang_asan.sh index f02d00cc70..2caaf296f8 100755 --- a/scripts/lc-builds/toss4_amdclang_asan.sh +++ b/scripts/lc-builds/toss4_amdclang_asan.sh @@ -80,7 +80,7 @@ cmake \ -DCMAKE_CXX_FLAGS="-fsanitize=address -shared-libsan" \ -DENABLE_CLANGFORMAT=On \ -DCLANGFORMAT_EXECUTABLE=/opt/rocm-5.2.3/llvm/bin/clang-format \ - -DBLT_CXX_STD=c++17 \ + -DBLT_CXX_STD=c++20 \ -C "../host-configs/lc-builds/toss4/${HOSTCONFIG}.cmake" \ -DENABLE_HIP=ON \ -DENABLE_OPENMP=ON \ diff --git a/scripts/lc-builds/toss4_cce_hip.sh b/scripts/lc-builds/toss4_cce_hip.sh index dd7ca13556..f3a8d4284d 100755 --- a/scripts/lc-builds/toss4_cce_hip.sh +++ b/scripts/lc-builds/toss4_cce_hip.sh @@ -52,7 +52,7 @@ cmake \ -DCMAKE_HIP_ARCHITECTURES=${HIP_ARCH} \ -DGPU_TARGETS=${HIP_ARCH} \ -DAMDGPU_TARGETS=${HIP_ARCH} \ - -DBLT_CXX_STD=c++17 \ + -DBLT_CXX_STD=c++20 \ -DENABLE_CLANGFORMAT=On \ -DCLANGFORMAT_EXECUTABLE=/opt/rocm-5.2.3/llvm/bin/clang-format \ -C "../host-configs/lc-builds/toss4/${HOSTCONFIG}.cmake" \ diff --git a/scripts/lc-builds/toss4_cce_omptarget.sh b/scripts/lc-builds/toss4_cce_omptarget.sh index 96a9712f85..16681721c2 100755 --- a/scripts/lc-builds/toss4_cce_omptarget.sh +++ b/scripts/lc-builds/toss4_cce_omptarget.sh @@ -44,7 +44,7 @@ cmake \ -DHIP_ARCH=${HIP_ARCH} \ -DCMAKE_C_COMPILER="/usr/tce/packages/cce/cce-${COMP_VER}/bin/craycc" \ -DCMAKE_CXX_COMPILER="/usr/tce/packages/cce/cce-${COMP_VER}/bin/crayCC" \ - -DBLT_CXX_STD=c++17 \ + -DBLT_CXX_STD=c++20 \ -DENABLE_CLANGFORMAT=Off \ -C "../host-configs/lc-builds/toss4/${HOSTCONFIG}.cmake" \ -DENABLE_HIP=OFF \ diff --git a/scripts/lc-builds/toss4_clang-format.sh b/scripts/lc-builds/toss4_clang-format.sh index d14b07996e..03bda50081 100755 --- a/scripts/lc-builds/toss4_clang-format.sh +++ b/scripts/lc-builds/toss4_clang-format.sh @@ -36,7 +36,7 @@ module load cmake/3.23.1 cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_COMPILER=/usr/tce/packages/clang/clang-${COMP_VER}/bin/clang++ \ - -DBLT_CXX_STD=c++17 \ + -DBLT_CXX_STD=c++20 \ -C ../host-configs/lc-builds/toss4/clang_X.cmake \ -DENABLE_CLANGFORMAT=On \ -DCLANGFORMAT_EXECUTABLE=/usr/tce/packages/clang/clang-${COMP_VER}/bin/clang-format \ diff --git a/scripts/lc-builds/toss4_clang.sh b/scripts/lc-builds/toss4_clang.sh index 3900b1c33b..9d477c2327 100755 --- a/scripts/lc-builds/toss4_clang.sh +++ b/scripts/lc-builds/toss4_clang.sh @@ -33,7 +33,7 @@ module load cmake/3.23.1 cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_COMPILER=/usr/tce/packages/clang/clang-${COMP_VER}/bin/clang++ \ - -DBLT_CXX_STD=c++17 \ + -DBLT_CXX_STD=c++20 \ -DENABLE_CLANGFORMAT=On \ -DCLANGFORMAT_EXECUTABLE=/usr/tce/packages/clang/clang-14.0.6/bin/clang-format \ -C ../host-configs/lc-builds/toss4/clang_X.cmake \ diff --git a/scripts/lc-builds/toss4_clang_san.sh b/scripts/lc-builds/toss4_clang_san.sh index 4eb9cc469b..39f2997711 100755 --- a/scripts/lc-builds/toss4_clang_san.sh +++ b/scripts/lc-builds/toss4_clang_san.sh @@ -42,7 +42,7 @@ module load cmake/3.23.1 cmake \ -DCMAKE_BUILD_TYPE=Debug \ -DCMAKE_CXX_COMPILER=/usr/tce/packages/clang/clang-${COMP_VER}/bin/clang++ \ - -DBLT_CXX_STD=c++17 \ + -DBLT_CXX_STD=c++20 \ -DENABLE_CLANGFORMAT=On \ -DCLANGFORMAT_EXECUTABLE=/usr/tce/packages/clang/clang-14.0.6/bin/clang-format \ -C ../host-configs/lc-builds/toss4/clang_X_${SAN_VER}.cmake \ diff --git a/scripts/lc-builds/toss4_gcc.sh b/scripts/lc-builds/toss4_gcc.sh index 7a111a78e8..fd51671f7b 100755 --- a/scripts/lc-builds/toss4_gcc.sh +++ b/scripts/lc-builds/toss4_gcc.sh @@ -33,7 +33,7 @@ module load cmake/3.23.1 cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_COMPILER=/usr/tce/packages/gcc/gcc-${COMP_VER}/bin/g++ \ - -DBLT_CXX_STD=c++17 \ + -DBLT_CXX_STD=c++20 \ -DENABLE_CLANGFORMAT=On \ -DCLANGFORMAT_EXECUTABLE=/usr/tce/packages/clang/clang-14.0.6/bin/clang-format \ -C ../host-configs/lc-builds/toss4/gcc_X.cmake \ diff --git a/scripts/lc-builds/toss4_hipcc.sh b/scripts/lc-builds/toss4_hipcc.sh index b20b4829e3..64d537e4c1 100755 --- a/scripts/lc-builds/toss4_hipcc.sh +++ b/scripts/lc-builds/toss4_hipcc.sh @@ -69,7 +69,7 @@ cmake \ -DCMAKE_HIP_ARCHITECTURES="${COMP_ARCH}" \ -DGPU_TARGETS="${COMP_ARCH}" \ -DAMDGPU_TARGETS="${COMP_ARCH}" \ - -DBLT_CXX_STD=c++17 \ + -DBLT_CXX_STD=c++20 \ -DENABLE_CLANGFORMAT=On \ -DCLANGFORMAT_EXECUTABLE=/opt/rocm-5.2.3/llvm/bin/clang-format \ -C "../host-configs/lc-builds/toss4/${HOSTCONFIG}.cmake" \ diff --git a/scripts/lc-builds/toss4_icpc-classic.sh b/scripts/lc-builds/toss4_icpc-classic.sh index 715ab0ce8c..559fe6874e 100755 --- a/scripts/lc-builds/toss4_icpc-classic.sh +++ b/scripts/lc-builds/toss4_icpc-classic.sh @@ -41,7 +41,7 @@ cmake \ -DCMAKE_C_COMPILER=/usr/tce/packages/intel-classic/intel-classic-${COMP_VER}/bin/icc \ -DENABLE_CLANGFORMAT=On \ -DCLANGFORMAT_EXECUTABLE=/usr/tce/packages/clang/clang-14.0.6/bin/clang-format \ - -DBLT_CXX_STD=c++17 \ + -DBLT_CXX_STD=c++20 \ -C ../host-configs/lc-builds/toss4/icpc-classic_X.cmake \ -DRAJA_ENABLE_FORCEINLINE_RECURSIVE=Off \ -DENABLE_OPENMP=On \ diff --git a/scripts/lc-builds/toss4_icpc.sh b/scripts/lc-builds/toss4_icpc.sh index 52d3551136..9ddbff2c2d 100755 --- a/scripts/lc-builds/toss4_icpc.sh +++ b/scripts/lc-builds/toss4_icpc.sh @@ -41,7 +41,7 @@ cmake \ -DCMAKE_C_COMPILER=/usr/tce/packages/intel/intel-${COMP_VER}/bin/icc \ -DENABLE_CLANGFORMAT=On \ -DCLANGFORMAT_EXECUTABLE=/usr/tce/packages/clang/clang-14.0.6/bin/clang-format \ - -DBLT_CXX_STD=c++17 \ + -DBLT_CXX_STD=c++20 \ -C ../host-configs/lc-builds/toss4/icpc_X.cmake \ -DRAJA_ENABLE_FORCEINLINE_RECURSIVE=Off \ -DENABLE_OPENMP=On \ diff --git a/scripts/lc-builds/toss4_icpx.sh b/scripts/lc-builds/toss4_icpx.sh index 493a1ca176..460e8901d9 100755 --- a/scripts/lc-builds/toss4_icpx.sh +++ b/scripts/lc-builds/toss4_icpx.sh @@ -46,7 +46,7 @@ cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_COMPILER=icpx \ -DCMAKE_C_COMPILER=icx \ - -DBLT_CXX_STD=c++17 \ + -DBLT_CXX_STD=c++20 \ -C ../host-configs/lc-builds/toss4/icpx_X.cmake \ -DRAJA_ENABLE_FORCEINLINE_RECURSIVE=Off \ -DENABLE_CLANGFORMAT=On \ diff --git a/scripts/lc-builds/toss4_nvcc_clang.sh b/scripts/lc-builds/toss4_nvcc_clang.sh index dac9fef11b..e9e6889d38 100755 --- a/scripts/lc-builds/toss4_nvcc_clang.sh +++ b/scripts/lc-builds/toss4_nvcc_clang.sh @@ -43,7 +43,7 @@ module load cmake/3.25.2 cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_COMPILER=/usr/tce/packages/clang/clang-${COMP_CLANG_VER}/bin/clang++ \ - -DBLT_CXX_STD=c++17 \ + -DBLT_CXX_STD=c++20 \ -C ../host-configs/lc-builds/toss4/nvcc_clang_X.cmake \ -DENABLE_CLANGFORMAT=Off \ -DCLANGFORMAT_EXECUTABLE=/usr/tce/packages/clang/clang-14.0.6/bin/clang-format \ diff --git a/scripts/lc-builds/toss4_nvcc_gcc.sh b/scripts/lc-builds/toss4_nvcc_gcc.sh index d5b78b5da3..a67436280f 100755 --- a/scripts/lc-builds/toss4_nvcc_gcc.sh +++ b/scripts/lc-builds/toss4_nvcc_gcc.sh @@ -43,7 +43,7 @@ module load cmake/3.25.2 cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_COMPILER=/usr/tce/packages/gcc/gcc-${COMP_GCC_VER}/bin/g++ \ - -DBLT_CXX_STD=c++17 \ + -DBLT_CXX_STD=c++20 \ -C ../host-configs/lc-builds/toss4/nvcc_gcc_X.cmake \ -DENABLE_CLANGFORMAT=Off \ -DENABLE_OPENMP=On \ diff --git a/scripts/ubuntu-builds/ubuntu_clang.sh b/scripts/ubuntu-builds/ubuntu_clang.sh index 6de82b4cdc..a15908d9b6 100755 --- a/scripts/ubuntu-builds/ubuntu_clang.sh +++ b/scripts/ubuntu-builds/ubuntu_clang.sh @@ -30,7 +30,7 @@ cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_C_COMPILER=/usr/bin/clang-${COMP_VER} \ -DCMAKE_CXX_COMPILER=/usr/bin/clang++-${COMP_VER} \ - -DBLT_CXX_STD=c++17 \ + -DBLT_CXX_STD=c++20 \ -C ../host-configs/ubuntu-builds/clang_X.cmake \ -DENABLE_OPENMP=On \ -DCMAKE_INSTALL_PREFIX=../install_${BUILD_SUFFIX} \ diff --git a/scripts/ubuntu-builds/ubuntu_gcc.sh b/scripts/ubuntu-builds/ubuntu_gcc.sh index 064f48d7fa..57dd4de04c 100755 --- a/scripts/ubuntu-builds/ubuntu_gcc.sh +++ b/scripts/ubuntu-builds/ubuntu_gcc.sh @@ -30,7 +30,7 @@ cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_C_COMPILER=/usr/bin/gcc-${COMP_VER} \ -DCMAKE_CXX_COMPILER=/usr/bin/g++-${COMP_VER} \ - -DBLT_CXX_STD=c++17 \ + -DBLT_CXX_STD=c++20 \ -C ../host-configs/ubuntu-builds/gcc_X.cmake \ -DENABLE_OPENMP=On \ -DCMAKE_INSTALL_PREFIX=../install_${BUILD_SUFFIX} \ diff --git a/scripts/ubuntu-builds/ubuntu_hipcc.sh b/scripts/ubuntu-builds/ubuntu_hipcc.sh index 9171f7b89e..720defc06f 100755 --- a/scripts/ubuntu-builds/ubuntu_hipcc.sh +++ b/scripts/ubuntu-builds/ubuntu_hipcc.sh @@ -14,6 +14,6 @@ mkdir build_${BUILD_SUFFIX} && cd build_${BUILD_SUFFIX} cmake \ -DCMAKE_BUILD_TYPE=Debug \ - -DBLT_CXX_STD=c++17 \ + -DBLT_CXX_STD=c++20 \ -C ../host-configs/ubuntu-builds/hip.cmake \ .. diff --git a/scripts/ubuntu-builds/ubuntu_nvcc10_gcc8.sh b/scripts/ubuntu-builds/ubuntu_nvcc10_gcc8.sh index 1e4ec44eb3..e9fbd54506 100755 --- a/scripts/ubuntu-builds/ubuntu_nvcc10_gcc8.sh +++ b/scripts/ubuntu-builds/ubuntu_nvcc10_gcc8.sh @@ -16,7 +16,7 @@ cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_C_COMPILER=/usr/bin/gcc-8 \ -DCMAKE_CXX_COMPILER=/usr/bin/g++-8 \ - -DBLT_CXX_STD=c++17 \ + -DBLT_CXX_STD=c++20 \ -C ../host-configs/ubuntu-builds/nvcc_gcc_X.cmake \ -DENABLE_OPENMP=On \ -DENABLE_CUDA=On \