From 0a8f19bc408efea99f44fdc417f82137cfab5aee Mon Sep 17 00:00:00 2001 From: mdavis36 Date: Thu, 27 Oct 2022 11:40:59 -0700 Subject: [PATCH 01/18] Bump desul to latest master commit to try to fix cuda install --- tpl/desul | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tpl/desul b/tpl/desul index e4b65e00a8..2187ff3bf6 160000 --- a/tpl/desul +++ b/tpl/desul @@ -1 +1 @@ -Subproject commit e4b65e00a8f26cfc7b59cf5f2fb75a24f69111ab +Subproject commit 2187ff3bf6bc29ee113b841575332719f9a7ec6b From bf94af7488ad580f29db08882f41d1f98e9cd336 Mon Sep 17 00:00:00 2001 From: Rich Hornung Date: Fri, 28 Oct 2022 16:06:36 -0700 Subject: [PATCH 02/18] Update build configs and docs for specifying cuda architecture --- CMakeLists.txt | 19 +++++++------------ cmake/SetupCompilers.cmake | 2 +- docs/sphinx/user_guide/config_options.rst | 1 - docs/sphinx/user_guide/getting_started.rst | 16 +++++++++------- scripts/lc-builds/blueos_nvcc_clang.sh | 4 ++-- scripts/lc-builds/blueos_nvcc_gcc.sh | 4 ++-- scripts/lc-builds/blueos_nvcc_xl.sh | 4 ++-- .../lc-builds/toss3_clangcuda6.0.0_nvcc8.0.sh | 2 +- scripts/spack_packages/raja/package.py | 1 - 9 files changed, 24 insertions(+), 29 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 77d31fe778..efc20bee33 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -118,21 +118,15 @@ include(cmake/SetupBasics.cmake) include(cmake/SetupPackages.cmake) if (RAJA_ENABLE_CUDA) - if (DEFINED CUDA_ARCH) - if (CUDA_ARCH MATCHES "^sm_*") - if ("${CUDA_ARCH}" STRLESS "sm_35") - message( FATAL_ERROR "RAJA requires minimum CUDA compute architecture of sm_35") - endif() - endif() - if (CUDA_ARCH MATCHES "^compute_*") - if ("${CUDA_ARCH}" STRLESS "compute_35") - message( FATAL_ERROR "RAJA requires minimum CUDA compute architecture of compute_35") - endif() + if (DEFINED CMAKE_CUDA_ARCHITECTURES) + if ("${CMAKE_CUDA_ARCHITECTURES}" STRLESS "35") + message( FATAL_ERROR "RAJA requires minimum CUDA compute architecture of 35") endif() else() - message(STATUS "CUDA compute architecture set to RAJA default sm_35 since it was not specified") - set(CUDA_ARCH "sm_35" CACHE STRING "Set CUDA_ARCH to RAJA minimum supported" FORCE) + message(STATUS "CUDA compute architecture set to RAJA default 35 since it was not specified") + set(CMAKE_CUDA_ARCHITECTURES "35" CACHE STRING "Set CMAKE_CUDA_ARCHITECTURES to RAJA minimum supported" FORCE) endif() + message(STATUS "CMAKE_CUDA_ARCHITECTURES set to ${CMAKE_CUDA_ARCHITECTURES}") if ( (CMAKE_CXX_COMPILER_ID MATCHES GNU) AND (CMAKE_SYSTEM_PROCESSOR MATCHES ppc64le) ) if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 8.0) set (CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -Xcompiler -mno-float128") @@ -140,6 +134,7 @@ if (RAJA_ENABLE_CUDA) endif () endif() + # Setup vendor-specific compiler flags include(cmake/SetupCompilers.cmake) # Macros for building executables and libraries diff --git a/cmake/SetupCompilers.cmake b/cmake/SetupCompilers.cmake index 316375c736..c1ed2a7648 100644 --- a/cmake/SetupCompilers.cmake +++ b/cmake/SetupCompilers.cmake @@ -43,7 +43,7 @@ endif() if (RAJA_ENABLE_CUDA) set(CMAKE_CUDA_STANDARD 14) - set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -restrict -arch ${CUDA_ARCH} --expt-extended-lambda --expt-relaxed-constexpr -Xcudafe \"--display_error_number\"") + set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -restrict --expt-extended-lambda --expt-relaxed-constexpr -Xcudafe \"--display_error_number\"") if (NOT RAJA_HOST_CONFIG_LOADED) set(CMAKE_CUDA_FLAGS_RELEASE "-O2") diff --git a/docs/sphinx/user_guide/config_options.rst b/docs/sphinx/user_guide/config_options.rst index 89487f7874..3e399d1cfe 100644 --- a/docs/sphinx/user_guide/config_options.rst +++ b/docs/sphinx/user_guide/config_options.rst @@ -206,7 +206,6 @@ Other programming model specific compilation options are also available: must be on too!) RAJA_ENABLE_EXTERNAL_CUB Off RAJA_ENABLE_NV_TOOLS_EXT Off - CUDA_ARCH sm_35 (based on hardware support) RAJA_ENABLE_EXTERNAL_ROCPRIM Off RAJA_ENABLE_ROCTX Off ====================================== ================================= diff --git a/docs/sphinx/user_guide/getting_started.rst b/docs/sphinx/user_guide/getting_started.rst index b9f868d10a..e4483d25c3 100644 --- a/docs/sphinx/user_guide/getting_started.rst +++ b/docs/sphinx/user_guide/getting_started.rst @@ -229,8 +229,9 @@ compiler options to nvcc. ``-Xcompiler`` directive to properly propagate. To set the CUDA compute architecture, which should be chosen based on the -NVIDIA GPU hardware you are using, you can use the ``CUDA_ARCH`` CMake -variable. For example, the CMake option ``-DCUDA_ARCH=sm_70`` will tell the +NVIDIA GPU hardware you are using, you can use the ``CMAKE_CUDA_ARCHITECTURES`` +CMake variable. For example, the CMake option +``-DCMAKE_CUDA_ARCHITECTURES=70`` will tell the compiler to use the `sm_70` SASS architecture in its second stage of compilation. The compiler will pick the PTX architecture to use in the first stage of compilation that is suitable for the SASS architecture you specify. @@ -244,12 +245,13 @@ appropriate nvcc options in the ``CMAKE_CUDA_FLAGS_*`` variables. implemented inside RAJA. This is described in :ref:`feat-atomics-label`. - * If you do not specify a value for ``CUDA_ARCH``, it will be set to - `sm_35` by default and CMake will emit a status message - indicating this choice was made. + * If you do not specify a value for ``CMAKE_CUDA_ARCHITECTURES``, + it will be set to `35` by default and CMake will emit a status + message indicating this choice was made. - * If you give a ``CUDA_ARCH`` value less than `sm_35` (e.g., `sm_30`), - CMake will report this as an error and stop processing. + * If you give a ``CMAKE_CUDA_ARCHITECTURES`` value less than `35` + (e.g., `30`), CMake will report this as an error and stop + processing. Also, RAJA relies on the CUB CUDA utilities library, mentioned earlier, for some CUDA back-end functionality. The CUB version included in the CUDA toolkit diff --git a/scripts/lc-builds/blueos_nvcc_clang.sh b/scripts/lc-builds/blueos_nvcc_clang.sh index 89ecaafa5d..0e32dbad1d 100755 --- a/scripts/lc-builds/blueos_nvcc_clang.sh +++ b/scripts/lc-builds/blueos_nvcc_clang.sh @@ -35,7 +35,7 @@ echo rm -rf build_${BUILD_SUFFIX} >/dev/null mkdir build_${BUILD_SUFFIX} && cd build_${BUILD_SUFFIX} -module load cmake/3.20.2 +module load cmake/3.23.1 cmake \ -DCMAKE_BUILD_TYPE=Release \ @@ -45,7 +45,7 @@ cmake \ -DENABLE_CUDA=On \ -DCUDA_TOOLKIT_ROOT_DIR=/usr/tce/packages/cuda/cuda-${COMP_NVCC_VER} \ -DCMAKE_CUDA_COMPILER=/usr/tce/packages/cuda/cuda-${COMP_NVCC_VER}/bin/nvcc \ - -DCUDA_ARCH=${COMP_ARCH} \ + -DCMAKE_CUDA_ARCHITECTURES=${COMP_ARCH} \ -DCMAKE_INSTALL_PREFIX=../install_${BUILD_SUFFIX} \ "$@" \ .. diff --git a/scripts/lc-builds/blueos_nvcc_gcc.sh b/scripts/lc-builds/blueos_nvcc_gcc.sh index 4b1faa9560..4ebf57c6f7 100755 --- a/scripts/lc-builds/blueos_nvcc_gcc.sh +++ b/scripts/lc-builds/blueos_nvcc_gcc.sh @@ -35,7 +35,7 @@ echo rm -rf build_${BUILD_SUFFIX} >/dev/null mkdir build_${BUILD_SUFFIX} && cd build_${BUILD_SUFFIX} -module load cmake/3.20.2 +module load cmake/3.23.1 cmake \ -DCMAKE_BUILD_TYPE=Release \ @@ -45,7 +45,7 @@ cmake \ -DENABLE_CUDA=On \ -DCUDA_TOOLKIT_ROOT_DIR=/usr/tce/packages/cuda/cuda-${COMP_NVCC_VER} \ -DCMAKE_CUDA_COMPILER=/usr/tce/packages/cuda/cuda-${COMP_NVCC_VER}/bin/nvcc \ - -DCUDA_ARCH=${COMP_ARCH} \ + -DCMAKE_CUDA_ARCHITECTURES=${COMP_ARCH} \ -DCMAKE_INSTALL_PREFIX=../install_${BUILD_SUFFIX} \ "$@" \ .. diff --git a/scripts/lc-builds/blueos_nvcc_xl.sh b/scripts/lc-builds/blueos_nvcc_xl.sh index 5a60bd51ec..e5a1525f69 100755 --- a/scripts/lc-builds/blueos_nvcc_xl.sh +++ b/scripts/lc-builds/blueos_nvcc_xl.sh @@ -35,7 +35,7 @@ echo rm -rf build_${BUILD_SUFFIX} >/dev/null mkdir build_${BUILD_SUFFIX} && cd build_${BUILD_SUFFIX} -module load cmake/3.20.2 +module load cmake/3.23.1 cmake \ -DCMAKE_BUILD_TYPE=Release \ @@ -45,7 +45,7 @@ cmake \ -DENABLE_CUDA=On \ -DCUDA_TOOLKIT_ROOT_DIR=/usr/tce/packages/cuda/cuda-${COMP_NVCC_VER} \ -DCMAKE_CUDA_COMPILER=/usr/tce/packages/cuda/cuda-${COMP_NVCC_VER}/bin/nvcc \ - -DCUDA_ARCH=${COMP_ARCH} \ + -DCMAKE_CUDA_ARCHITECTURES=${COMP_ARCH} \ -DCMAKE_INSTALL_PREFIX=../install_${BUILD_SUFFIX} \ "$@" \ .. diff --git a/scripts/lc-builds/toss3_clangcuda6.0.0_nvcc8.0.sh b/scripts/lc-builds/toss3_clangcuda6.0.0_nvcc8.0.sh index abd2813983..60c0526447 100755 --- a/scripts/lc-builds/toss3_clangcuda6.0.0_nvcc8.0.sh +++ b/scripts/lc-builds/toss3_clangcuda6.0.0_nvcc8.0.sh @@ -12,7 +12,7 @@ BUILD_SUFFIX=lc_toss3-clangcuda-6.0.0_nvcc-8.0 rm -rf build_${BUILD_SUFFIX} 2>/dev/null mkdir build_${BUILD_SUFFIX} && cd build_${BUILD_SUFFIX} -module load cmake/3.20.2 +module load cmake/3.23.1 cmake \ -DCMAKE_BUILD_TYPE=Release \ diff --git a/scripts/spack_packages/raja/package.py b/scripts/spack_packages/raja/package.py index 2db852891e..63e0888c1f 100644 --- a/scripts/spack_packages/raja/package.py +++ b/scripts/spack_packages/raja/package.py @@ -295,7 +295,6 @@ def hostconfig(self, spec, prefix, py_site_pkgs_dir=None): if not spec.satisfies('cuda_arch=none'): cuda_arch = spec.variants['cuda_arch'].value cfg.write(cmake_cache_string("CMAKE_CUDA_ARCHITECTURES", '{0}'.format(cuda_arch[0]))) - cfg.write(cmake_cache_string("CUDA_ARCH", 'sm_{0}'.format(cuda_arch[0]))) else: cfg.write(cmake_cache_option("ENABLE_CUDA", False)) From 961cc83db72891162f6fba7c3766336b7aaa7fd0 Mon Sep 17 00:00:00 2001 From: Rich Hornung Date: Mon, 31 Oct 2022 08:56:44 -0700 Subject: [PATCH 03/18] Revert cmake version bump and clarify script usage --- scripts/lc-builds/blueos_nvcc_clang.sh | 8 ++++---- scripts/lc-builds/blueos_nvcc_gcc.sh | 8 ++++---- scripts/lc-builds/blueos_nvcc_xl.sh | 8 ++++---- scripts/lc-builds/toss3_clangcuda6.0.0_nvcc8.0.sh | 4 ++-- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/scripts/lc-builds/blueos_nvcc_clang.sh b/scripts/lc-builds/blueos_nvcc_clang.sh index 0e32dbad1d..eaae750cdd 100755 --- a/scripts/lc-builds/blueos_nvcc_clang.sh +++ b/scripts/lc-builds/blueos_nvcc_clang.sh @@ -11,11 +11,11 @@ if [[ $# -lt 3 ]]; then echo echo "You must pass 3 arguments to the script (in this order): " echo " 1) compiler version number for nvcc" - echo " 2) CUDA compute architecture" - echo " 3) compiler version number for clang. " + echo " 2) CUDA compute architecture (number only, not 'sm_70' for example)" + echo " 3) compiler version number for clang" echo echo "For example: " - echo " blueos_nvcc_clang.sh 10.2.89 sm_70 10.0.1" + echo " blueos_nvcc_clang.sh 10.2.89 70 10.0.1" exit fi @@ -35,7 +35,7 @@ echo rm -rf build_${BUILD_SUFFIX} >/dev/null mkdir build_${BUILD_SUFFIX} && cd build_${BUILD_SUFFIX} -module load cmake/3.23.1 +module load cmake/3.20.2 cmake \ -DCMAKE_BUILD_TYPE=Release \ diff --git a/scripts/lc-builds/blueos_nvcc_gcc.sh b/scripts/lc-builds/blueos_nvcc_gcc.sh index 4ebf57c6f7..61e9680f34 100755 --- a/scripts/lc-builds/blueos_nvcc_gcc.sh +++ b/scripts/lc-builds/blueos_nvcc_gcc.sh @@ -11,11 +11,11 @@ if [[ $# -lt 3 ]]; then echo echo "You must pass 3 arguments to the script (in this order): " echo " 1) compiler version number for nvcc" - echo " 2) CUDA compute architecture" - echo " 3) compiler version number for gcc. " + echo " 2) CUDA compute architecture (number only, not 'sm_70' for example)" + echo " 3) compiler version number for gcc" echo echo "For example: " - echo " blueos_nvcc_gcc.sh 10.2.89 sm_70 8.3.1" + echo " blueos_nvcc_gcc.sh 10.2.89 70 8.3.1" exit fi @@ -35,7 +35,7 @@ echo rm -rf build_${BUILD_SUFFIX} >/dev/null mkdir build_${BUILD_SUFFIX} && cd build_${BUILD_SUFFIX} -module load cmake/3.23.1 +module load cmake/3.20.2 cmake \ -DCMAKE_BUILD_TYPE=Release \ diff --git a/scripts/lc-builds/blueos_nvcc_xl.sh b/scripts/lc-builds/blueos_nvcc_xl.sh index e5a1525f69..4b87a9db5b 100755 --- a/scripts/lc-builds/blueos_nvcc_xl.sh +++ b/scripts/lc-builds/blueos_nvcc_xl.sh @@ -11,11 +11,11 @@ if [[ $# -lt 3 ]]; then echo echo "You must pass 3 arguments to the script (in this order): " echo " 1) compiler version number for nvcc" - echo " 2) CUDA compute architecture" - echo " 3) compiler version number for xl. " + echo " 2) CUDA compute architecture (number only, not 'sm_70' for example)" + echo " 3) compiler version number for xl" echo echo "For example: " - echo " blueos_nvcc_xl.sh 11.1.1 sm_70 2021.03.31" + echo " blueos_nvcc_xl.sh 11.1.1 70 2021.03.31" exit fi @@ -35,7 +35,7 @@ echo rm -rf build_${BUILD_SUFFIX} >/dev/null mkdir build_${BUILD_SUFFIX} && cd build_${BUILD_SUFFIX} -module load cmake/3.23.1 +module load cmake/3.20.2 cmake \ -DCMAKE_BUILD_TYPE=Release \ diff --git a/scripts/lc-builds/toss3_clangcuda6.0.0_nvcc8.0.sh b/scripts/lc-builds/toss3_clangcuda6.0.0_nvcc8.0.sh index 60c0526447..b1f041c343 100755 --- a/scripts/lc-builds/toss3_clangcuda6.0.0_nvcc8.0.sh +++ b/scripts/lc-builds/toss3_clangcuda6.0.0_nvcc8.0.sh @@ -12,7 +12,7 @@ BUILD_SUFFIX=lc_toss3-clangcuda-6.0.0_nvcc-8.0 rm -rf build_${BUILD_SUFFIX} 2>/dev/null mkdir build_${BUILD_SUFFIX} && cd build_${BUILD_SUFFIX} -module load cmake/3.23.1 +module load cmake/3.20.2 cmake \ -DCMAKE_BUILD_TYPE=Release \ @@ -21,7 +21,7 @@ cmake \ -DENABLE_CLANG_CUDA=On \ -DBLT_CLANG_CUDA_ARCH=sm_35 \ -DENABLE_CUDA=On \ - -DCUDA_ARCH=sm_35 \ + -DCMAKE_CUDA_ARCHITECTURES=35 \ -DCUDA_TOOLKIT_ROOT_DIR=/usr/tce/packages/cuda/cuda-8.0 \ -DCMAKE_INSTALL_PREFIX=../install_${BUILD_SUFFIX} \ "$@" \ From e8e9256e671d0a6cb3636211077956e5aa2429fd Mon Sep 17 00:00:00 2001 From: Jason Burmark Date: Mon, 31 Oct 2022 09:31:23 -0700 Subject: [PATCH 04/18] Fix setting hip architecture --- scripts/lc-builds/toss4_amdclang.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/scripts/lc-builds/toss4_amdclang.sh b/scripts/lc-builds/toss4_amdclang.sh index 2041dcc517..f911e7f486 100755 --- a/scripts/lc-builds/toss4_amdclang.sh +++ b/scripts/lc-builds/toss4_amdclang.sh @@ -23,12 +23,11 @@ COMP_VER=$1 COMP_ARCH=$2 shift 2 -MY_HIP_ARCH_FLAGS="--offload-arch=${COMP_ARCH}" HOSTCONFIG="hip_3_X" if [[ ${COMP_VER} == 4.* ]] then -##HIP_CLANG_FLAGS="${MY_HIP_ARCH_FLAGS} -mllvm -amdgpu-fixed-function-abi=1" +##HIP_CLANG_FLAGS="-mllvm -amdgpu-fixed-function-abi=1" HOSTCONFIG="hip_4_link_X" elif [[ ${COMP_VER} == 3.* ]] then @@ -63,7 +62,9 @@ cmake \ -DHIP_PATH=/opt/rocm-${COMP_VER}/llvm/bin \ -DCMAKE_C_COMPILER=/opt/rocm-${COMP_VER}/llvm/bin/amdclang \ -DCMAKE_CXX_COMPILER=/opt/rocm-${COMP_VER}/llvm/bin/amdclang++ \ - -DCMAKE_HIP_ARCHITECTURES="${MY_HIP_ARCH_FLAGS}" \ + -DCMAKE_HIP_ARCHITECTURES="${COMP_ARCH}" \ + -DGPU_TARGETS="${COMP_ARCH}" \ + -DAMDGPU_TARGETS="${COMP_ARCH}" \ -C "../host-configs/lc-builds/toss4/${HOSTCONFIG}.cmake" \ -DENABLE_HIP=ON \ -DENABLE_OPENMP=ON \ From ad1f5ef2ed44ea54a08a91b22a7c498af67b9ba5 Mon Sep 17 00:00:00 2001 From: Jason Burmark Date: Mon, 31 Oct 2022 09:36:00 -0700 Subject: [PATCH 05/18] Fix warning --- include/RAJA/policy/openmp/params/forall.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/RAJA/policy/openmp/params/forall.hpp b/include/RAJA/policy/openmp/params/forall.hpp index 7715ab4d04..268560336f 100644 --- a/include/RAJA/policy/openmp/params/forall.hpp +++ b/include/RAJA/policy/openmp/params/forall.hpp @@ -38,7 +38,7 @@ namespace expt ForallParam&& f_params) { using EXEC_POL = typename std::decay::type; - RAJA::expt::ParamMultiplexer::init(f_params); + RAJA::expt::ParamMultiplexer::init(f_params); RAJA_OMP_DECLARE_REDUCTION_COMBINE; RAJA_EXTRACT_BED_IT(iter); @@ -47,7 +47,7 @@ namespace expt RAJA::expt::invoke_body(f_params, loop_body, begin_it[i]); } - RAJA::expt::ParamMultiplexer::resolve(f_params); + RAJA::expt::ParamMultiplexer::resolve(f_params); } // From 3384849d1282434e53b0fa3466408454014bbcaf Mon Sep 17 00:00:00 2001 From: Jason Burmark Date: Mon, 31 Oct 2022 13:35:23 -0700 Subject: [PATCH 06/18] Update build scripts to use c++14 explicitly --- scripts/lc-builds/blueos_clang.sh | 3 ++- scripts/lc-builds/blueos_clang_omptarget.sh | 3 ++- scripts/lc-builds/blueos_clangcuda.sh | 3 ++- scripts/lc-builds/blueos_gcc.sh | 3 ++- scripts/lc-builds/blueos_nvcc_clang.sh | 3 ++- scripts/lc-builds/blueos_nvcc_gcc.sh | 3 ++- scripts/lc-builds/blueos_nvcc_xl.sh | 3 ++- scripts/lc-builds/blueos_pgi.sh | 3 ++- scripts/lc-builds/blueos_xl.sh | 3 ++- scripts/lc-builds/blueos_xl_omptarget.sh | 3 ++- scripts/lc-builds/corona_sycl.sh | 2 +- scripts/lc-builds/toss3_clang.sh | 3 ++- scripts/lc-builds/toss3_clangcuda6.0.0_nvcc8.0.sh | 1 + scripts/lc-builds/toss3_gcc.sh | 3 ++- scripts/lc-builds/toss3_hipcc.sh | 4 ++-- scripts/lc-builds/toss3_icpc.sh | 3 ++- scripts/lc-builds/toss3_oneapi.sh | 3 ++- scripts/lc-builds/toss3_pgi.sh | 3 ++- scripts/lc-builds/toss4_amdclang.sh | 3 ++- scripts/lc-builds/toss4_cce_hip.sh | 3 ++- scripts/ubuntu-builds/ubuntu_clang.sh | 1 + scripts/ubuntu-builds/ubuntu_gcc.sh | 1 + scripts/ubuntu-builds/ubuntu_hipcc.sh | 1 + scripts/ubuntu-builds/ubuntu_nvcc10_gcc8.sh | 1 + 24 files changed, 42 insertions(+), 20 deletions(-) diff --git a/scripts/lc-builds/blueos_clang.sh b/scripts/lc-builds/blueos_clang.sh index af502762e9..2c6e4f27e3 100755 --- a/scripts/lc-builds/blueos_clang.sh +++ b/scripts/lc-builds/blueos_clang.sh @@ -22,7 +22,7 @@ shift 1 BUILD_SUFFIX=lc_blueos-clang-${COMP_VER} echo -echo "Creating build directory ${BUILD_SUFFIX} and generating configuration in it" +echo "Creating build directory build_${BUILD_SUFFIX} and generating configuration in it" echo "Configuration extra arguments:" echo " $@" echo @@ -35,6 +35,7 @@ module load cmake/3.20.2 cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_COMPILER=/usr/tce/packages/clang/clang-${COMP_VER}/bin/clang++ \ + -DBLT_CXX_STD=c++14 \ -C ../host-configs/lc-builds/blueos/clang_X.cmake \ -DENABLE_OPENMP=On \ -DCMAKE_INSTALL_PREFIX=../install_${BUILD_SUFFIX} \ diff --git a/scripts/lc-builds/blueos_clang_omptarget.sh b/scripts/lc-builds/blueos_clang_omptarget.sh index cc3fb42427..e0aa7104a7 100755 --- a/scripts/lc-builds/blueos_clang_omptarget.sh +++ b/scripts/lc-builds/blueos_clang_omptarget.sh @@ -22,7 +22,7 @@ shift 1 BUILD_SUFFIX=lc_blueos-clang-${COMP_VER}_omptarget echo -echo "Creating build directory ${BUILD_SUFFIX} and generating configuration in it" +echo "Creating build directory build_${BUILD_SUFFIX} and generating configuration in it" echo "Configuration extra arguments:" echo " $@" echo @@ -35,6 +35,7 @@ module load cmake/3.20.2 cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_COMPILER=/usr/tce/packages/clang/clang-${COMP_VER}/bin/clang++ \ + -DBLT_CXX_STD=c++14 \ -C ../host-configs/lc-builds/blueos/clang_X.cmake \ -DENABLE_OPENMP=On \ -DENABLE_CUDA=Off \ diff --git a/scripts/lc-builds/blueos_clangcuda.sh b/scripts/lc-builds/blueos_clangcuda.sh index e69769cce8..876b46d4dd 100755 --- a/scripts/lc-builds/blueos_clangcuda.sh +++ b/scripts/lc-builds/blueos_clangcuda.sh @@ -27,7 +27,7 @@ shift 3 BUILD_SUFFIX=lc_blueos-clangcuda${COMP_CLANG_VER}_cuda${TOOLKIT_CUDA_VER}-${CUDA_ARCH} echo -echo "Creating build directory ${BUILD_SUFFIX} and generating configuration in it" +echo "Creating build directory build_${BUILD_SUFFIX} and generating configuration in it" echo "Configuration extra arguments:" echo " $@" echo @@ -43,6 +43,7 @@ cmake \ -DCMAKE_CXX_COMPILER=/usr/tce/packages/clang/clang-${COMP_CLANG_VER}/bin/clang++ \ -DCMAKE_C_COMPILER=/usr/tce/packages/clang/clang-${COMP_CLANG_VER}/bin/clang \ -DCUDA_TOOLKIT_ROOT_DIR=/usr/tce/packages/cuda/cuda-${TOOLKIT_CUDA_VER} \ + -DBLT_CXX_STD=c++14 \ -C ../host-configs/lc-builds/blueos/clangcuda_X.cmake \ -DENABLE_OPENMP=Off \ -DENABLE_CLANG_CUDA=On \ diff --git a/scripts/lc-builds/blueos_gcc.sh b/scripts/lc-builds/blueos_gcc.sh index cb87907825..94b5d250bf 100755 --- a/scripts/lc-builds/blueos_gcc.sh +++ b/scripts/lc-builds/blueos_gcc.sh @@ -20,7 +20,7 @@ shift 1 BUILD_SUFFIX=lc_blueos-gcc-${COMP_VER} echo -echo "Creating build directory ${BUILD_SUFFIX} and generating configuration in it" +echo "Creating build directory build_${BUILD_SUFFIX} and generating configuration in it" echo "Configuration extra arguments:" echo " $@" echo @@ -33,6 +33,7 @@ module load cmake/3.20.2 cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_COMPILER=/usr/tce/packages/gcc/gcc-${COMP_VER}/bin/g++ \ + -DBLT_CXX_STD=c++14 \ -C ../host-configs/lc-builds/blueos/gcc_X.cmake \ -DENABLE_OPENMP=On \ -DCMAKE_INSTALL_PREFIX=../install_${BUILD_SUFFIX} \ diff --git a/scripts/lc-builds/blueos_nvcc_clang.sh b/scripts/lc-builds/blueos_nvcc_clang.sh index eaae750cdd..22fdbe9364 100755 --- a/scripts/lc-builds/blueos_nvcc_clang.sh +++ b/scripts/lc-builds/blueos_nvcc_clang.sh @@ -27,7 +27,7 @@ shift 3 BUILD_SUFFIX=lc_blueos-nvcc${COMP_NVCC_VER}-${COMP_ARCH}-clang${COMP_CLANG_VER} echo -echo "Creating build directory ${BUILD_SUFFIX} and generating configuration in it" +echo "Creating build directory build_${BUILD_SUFFIX} and generating configuration in it" echo "Configuration extra arguments:" echo " $@" echo @@ -40,6 +40,7 @@ module load cmake/3.20.2 cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_COMPILER=/usr/tce/packages/clang/clang-${COMP_CLANG_VER}/bin/clang++ \ + -DBLT_CXX_STD=c++14 \ -C ../host-configs/lc-builds/blueos/nvcc_clang_X.cmake \ -DENABLE_OPENMP=On \ -DENABLE_CUDA=On \ diff --git a/scripts/lc-builds/blueos_nvcc_gcc.sh b/scripts/lc-builds/blueos_nvcc_gcc.sh index 61e9680f34..bfa3d7bf69 100755 --- a/scripts/lc-builds/blueos_nvcc_gcc.sh +++ b/scripts/lc-builds/blueos_nvcc_gcc.sh @@ -27,7 +27,7 @@ shift 3 BUILD_SUFFIX=lc_blueos-nvcc${COMP_NVCC_VER}-${COMP_ARCH}-gcc${COMP_GCC_VER} echo -echo "Creating build directory ${BUILD_SUFFIX} and generating configuration in it" +echo "Creating build directory build_${BUILD_SUFFIX} and generating configuration in it" echo "Configuration extra arguments:" echo " $@" echo @@ -40,6 +40,7 @@ module load cmake/3.20.2 cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_COMPILER=/usr/tce/packages/gcc/gcc-${COMP_GCC_VER}/bin/g++ \ + -DBLT_CXX_STD=c++14 \ -C ../host-configs/lc-builds/blueos/nvcc_gcc_X.cmake \ -DENABLE_OPENMP=On \ -DENABLE_CUDA=On \ diff --git a/scripts/lc-builds/blueos_nvcc_xl.sh b/scripts/lc-builds/blueos_nvcc_xl.sh index 4b87a9db5b..7403574b6f 100755 --- a/scripts/lc-builds/blueos_nvcc_xl.sh +++ b/scripts/lc-builds/blueos_nvcc_xl.sh @@ -27,7 +27,7 @@ shift 3 BUILD_SUFFIX=lc_blueos-nvcc${COMP_NVCC_VER}-${COMP_ARCH}-xl${COMP_XL_VER} echo -echo "Creating build directory ${BUILD_SUFFIX} and generating configuration in it" +echo "Creating build directory build_${BUILD_SUFFIX} and generating configuration in it" echo "Configuration extra arguments:" echo " $@" echo @@ -40,6 +40,7 @@ module load cmake/3.20.2 cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_COMPILER=/usr/tce/packages/xl/xl-${COMP_XL_VER}/bin/xlc++_r \ + -DBLT_CXX_STD=c++14 \ -C ../host-configs/lc-builds/blueos/nvcc_xl_X.cmake \ -DENABLE_OPENMP=On \ -DENABLE_CUDA=On \ diff --git a/scripts/lc-builds/blueos_pgi.sh b/scripts/lc-builds/blueos_pgi.sh index 46cbec349b..64f0dd65d9 100755 --- a/scripts/lc-builds/blueos_pgi.sh +++ b/scripts/lc-builds/blueos_pgi.sh @@ -20,7 +20,7 @@ shift 1 BUILD_SUFFIX=lc_blueos-pgi-${COMP_VER} echo -echo "Creating build directory ${BUILD_SUFFIX} and generating configuration in it" +echo "Creating build directory build_${BUILD_SUFFIX} and generating configuration in it" echo "Configuration extra arguments:" echo " $@" echo @@ -34,6 +34,7 @@ cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_COMPILER=/usr/tce/packages/pgi/pgi-${COMP_VER}/bin/pgc++ \ -DCMAKE_C_COMPILER=/usr/tce/packages/pgi/pgi-${COMP_VER}/bin/pgcc \ + -DBLT_CXX_STD=c++14 \ -C ../host-configs/lc-builds/blueos/pgi_X.cmake \ -DENABLE_OPENMP=On \ -DCMAKE_INSTALL_PREFIX=../install_${BUILD_SUFFIX} \ diff --git a/scripts/lc-builds/blueos_xl.sh b/scripts/lc-builds/blueos_xl.sh index f9f22de707..561a371517 100755 --- a/scripts/lc-builds/blueos_xl.sh +++ b/scripts/lc-builds/blueos_xl.sh @@ -20,7 +20,7 @@ shift 1 BUILD_SUFFIX=lc_blueos-xl-${COMP_VER} echo -echo "Creating build directory ${BUILD_SUFFIX} and generating configuration in it" +echo "Creating build directory build_${BUILD_SUFFIX} and generating configuration in it" echo "Configuration extra arguments:" echo " $@" echo @@ -33,6 +33,7 @@ module load cmake/3.20.2 cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_COMPILER=/usr/tce/packages/xl/xl-${COMP_VER}/bin/xlc++_r \ + -DBLT_CXX_STD=c++14 \ -C ../host-configs/lc-builds/blueos/xl_X.cmake \ -DENABLE_OPENMP=On \ -DCMAKE_INSTALL_PREFIX=../install_${BUILD_SUFFIX} \ diff --git a/scripts/lc-builds/blueos_xl_omptarget.sh b/scripts/lc-builds/blueos_xl_omptarget.sh index abad7c893d..2b3fadcbb0 100755 --- a/scripts/lc-builds/blueos_xl_omptarget.sh +++ b/scripts/lc-builds/blueos_xl_omptarget.sh @@ -20,7 +20,7 @@ shift 1 BUILD_SUFFIX=lc_blueos-xl_omptarget-${COMP_VER} echo -echo "Creating build directory ${BUILD_SUFFIX} and generating configuration in it" +echo "Creating build directory build_${BUILD_SUFFIX} and generating configuration in it" echo "Configuration extra arguments:" echo " $@" echo @@ -33,6 +33,7 @@ module load cmake/3.20.2 cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_COMPILER=/usr/tce/packages/xl/xl-${COMP_VER}/bin/xlc++_r \ + -DBLT_CXX_STD=c++14 \ -C ../host-configs/lc-builds/blueos/xl_X.cmake \ -DENABLE_OPENMP=On \ -DRAJA_ENABLE_TARGET_OPENMP=On \ diff --git a/scripts/lc-builds/corona_sycl.sh b/scripts/lc-builds/corona_sycl.sh index 0ea7c095ab..269a385ee1 100755 --- a/scripts/lc-builds/corona_sycl.sh +++ b/scripts/lc-builds/corona_sycl.sh @@ -25,7 +25,7 @@ BUILD_SUFFIX=corona-sycl RAJA_HOSTCONFIG=../host-configs/lc-builds/toss4/corona_sycl.cmake echo -echo "Creating build directory ${BUILD_SUFFIX} and generating configuration in it" +echo "Creating build directory build_${BUILD_SUFFIX} and generating configuration in it" echo "Configuration extra arguments:" echo " $@" echo diff --git a/scripts/lc-builds/toss3_clang.sh b/scripts/lc-builds/toss3_clang.sh index 9be93b7ef6..616c82d2ca 100755 --- a/scripts/lc-builds/toss3_clang.sh +++ b/scripts/lc-builds/toss3_clang.sh @@ -20,7 +20,7 @@ shift 1 BUILD_SUFFIX=lc_toss3-clang-${COMP_VER} echo -echo "Creating build directory ${BUILD_SUFFIX} and generating configuration in it" +echo "Creating build directory build_${BUILD_SUFFIX} and generating configuration in it" echo "Configuration extra arguments:" echo " $@" echo @@ -33,6 +33,7 @@ module load cmake/3.20.2 cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_COMPILER=/usr/tce/packages/clang/clang-${COMP_VER}/bin/clang++ \ + -DBLT_CXX_STD=c++14 \ -C ../host-configs/lc-builds/toss3/clang_X.cmake \ -DENABLE_OPENMP=On \ -DCMAKE_INSTALL_PREFIX=../install_${BUILD_SUFFIX} \ diff --git a/scripts/lc-builds/toss3_clangcuda6.0.0_nvcc8.0.sh b/scripts/lc-builds/toss3_clangcuda6.0.0_nvcc8.0.sh index b1f041c343..4e667b79fe 100755 --- a/scripts/lc-builds/toss3_clangcuda6.0.0_nvcc8.0.sh +++ b/scripts/lc-builds/toss3_clangcuda6.0.0_nvcc8.0.sh @@ -16,6 +16,7 @@ module load cmake/3.20.2 cmake \ -DCMAKE_BUILD_TYPE=Release \ + -DBLT_CXX_STD=c++14 \ -C ../host-configs/lc-builds/toss3/clangcuda_6_0_0_nvcc_8_0.cmake \ -DENABLE_OPENMP=Off \ -DENABLE_CLANG_CUDA=On \ diff --git a/scripts/lc-builds/toss3_gcc.sh b/scripts/lc-builds/toss3_gcc.sh index 45b1681db1..7167be7521 100755 --- a/scripts/lc-builds/toss3_gcc.sh +++ b/scripts/lc-builds/toss3_gcc.sh @@ -20,7 +20,7 @@ shift 1 BUILD_SUFFIX=lc_toss3-gcc-${COMP_VER} echo -echo "Creating build directory ${BUILD_SUFFIX} and generating configuration in it" +echo "Creating build directory build_${BUILD_SUFFIX} and generating configuration in it" echo "Configuration extra arguments:" echo " $@" echo @@ -33,6 +33,7 @@ module load cmake/3.20.2 cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_COMPILER=/usr/tce/packages/gcc/gcc-${COMP_VER}/bin/g++ \ + -DBLT_CXX_STD=c++14 \ -C ../host-configs/lc-builds/toss3/gcc_X.cmake \ -DENABLE_OPENMP=On \ -DCMAKE_INSTALL_PREFIX=../install_${BUILD_SUFFIX} \ diff --git a/scripts/lc-builds/toss3_hipcc.sh b/scripts/lc-builds/toss3_hipcc.sh index c5bf546756..9d3e597ab2 100755 --- a/scripts/lc-builds/toss3_hipcc.sh +++ b/scripts/lc-builds/toss3_hipcc.sh @@ -16,7 +16,6 @@ if [[ $# -lt 2 ]]; then echo echo "For example: " echo " toss3_hipcc.sh 4.1.0 gfx906" - echo " toss3_hipcc.sh 4.1.0 gfx906 -DBLT_CXX_STD=c++11" exit fi @@ -44,7 +43,7 @@ fi BUILD_SUFFIX=lc_toss3-hipcc-${COMP_VER}-${COMP_ARCH} echo -echo "Creating build directory ${BUILD_SUFFIX} and generating configuration in it" +echo "Creating build directory build_${BUILD_SUFFIX} and generating configuration in it" echo "Configuration extra arguments:" echo " $@" echo @@ -68,6 +67,7 @@ cmake \ -DCMAKE_C_COMPILER=/opt/rocm-${COMP_VER}/llvm/bin/clang \ -DCMAKE_CXX_COMPILER=/opt/rocm-${COMP_VER}/llvm/bin/clang++ \ -DHIP_CLANG_FLAGS="${HIP_CLANG_FLAGS}" \ + -DBLT_CXX_STD=c++14 \ -C "../host-configs/lc-builds/toss3/${HOSTCONFIG}.cmake" \ -DENABLE_HIP=ON \ -DENABLE_OPENMP=ON \ diff --git a/scripts/lc-builds/toss3_icpc.sh b/scripts/lc-builds/toss3_icpc.sh index 2b10559dc7..5f2474bb44 100755 --- a/scripts/lc-builds/toss3_icpc.sh +++ b/scripts/lc-builds/toss3_icpc.sh @@ -34,7 +34,7 @@ fi BUILD_SUFFIX=lc_toss3-icpc-${COMP_VER} echo -echo "Creating build directory ${BUILD_SUFFIX} and generating configuration in it" +echo "Creating build directory build_${BUILD_SUFFIX} and generating configuration in it" echo "Configuration extra arguments:" echo " $@" echo @@ -54,6 +54,7 @@ cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_COMPILER=/usr/tce/packages/intel/intel-${COMP_VER}/bin/icpc \ -DCMAKE_C_COMPILER=/usr/tce/packages/intel/intel-${COMP_VER}/bin/icc \ + -DBLT_CXX_STD=c++14 \ -C ../host-configs/lc-builds/toss3/icpc_X_gcc${GCC_HEADER_VER}headers.cmake \ -DRAJA_ENABLE_FORCEINLINE_RECURSIVE=Off \ -DENABLE_OPENMP=On \ diff --git a/scripts/lc-builds/toss3_oneapi.sh b/scripts/lc-builds/toss3_oneapi.sh index bf33f44532..3a3a07c3f8 100755 --- a/scripts/lc-builds/toss3_oneapi.sh +++ b/scripts/lc-builds/toss3_oneapi.sh @@ -25,7 +25,7 @@ USE_TBB=Off BUILD_SUFFIX=lc_toss3-oneapi-${COMP_VER} echo -echo "Creating build directory ${BUILD_SUFFIX} and generating configuration in it" +echo "Creating build directory build_${BUILD_SUFFIX} and generating configuration in it" echo "Configuration extra arguments:" echo " $@" echo @@ -46,6 +46,7 @@ cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_COMPILER=/usr/tce/packages/oneapi/oneapi-${COMP_VER}/compiler/2022.1.0/linux/bin/icpx \ -DCMAKE_C_COMPILER=/usr/tce/packages/oneapi/oneapi-${COMP_VER}/compiler/2022.1.0/linux/bin/icx \ + -DBLT_CXX_STD=c++14 \ -C ../host-configs/lc-builds/toss3/oneapi_X.cmake \ -DRAJA_ENABLE_FORCEINLINE_RECURSIVE=Off \ -DENABLE_OPENMP=On \ diff --git a/scripts/lc-builds/toss3_pgi.sh b/scripts/lc-builds/toss3_pgi.sh index c5aa5a1ab2..6f0e752ee4 100755 --- a/scripts/lc-builds/toss3_pgi.sh +++ b/scripts/lc-builds/toss3_pgi.sh @@ -20,7 +20,7 @@ shift 1 BUILD_SUFFIX=lc_toss3-pgi-${COMP_VER} echo -echo "Creating build directory ${BUILD_SUFFIX} and generating configuration in it" +echo "Creating build directory build_${BUILD_SUFFIX} and generating configuration in it" echo "Configuration extra arguments:" echo " $@" echo @@ -34,6 +34,7 @@ cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_CXX_COMPILER=/usr/tce/packages/pgi/pgi-${COMP_VER}/bin/pgc++ \ -DCMAKE_C_COMPILER=/usr/tce/packages/pgi/pgi-${COMP_VER}/bin/pgcc \ + -DBLT_CXX_STD=c++14 \ -C ../host-configs/lc-builds/toss3/pgi_X.cmake \ -DENABLE_OPENMP=On \ -DCMAKE_INSTALL_PREFIX=../install_${BUILD_SUFFIX} \ diff --git a/scripts/lc-builds/toss4_amdclang.sh b/scripts/lc-builds/toss4_amdclang.sh index f911e7f486..615060490e 100755 --- a/scripts/lc-builds/toss4_amdclang.sh +++ b/scripts/lc-builds/toss4_amdclang.sh @@ -39,7 +39,7 @@ fi BUILD_SUFFIX=lc_toss4-amdclang-${COMP_VER}-${COMP_ARCH} echo -echo "Creating build directory ${BUILD_SUFFIX} and generating configuration in it" +echo "Creating build directory build_${BUILD_SUFFIX} and generating configuration in it" echo "Configuration extra arguments:" echo " $@" echo @@ -65,6 +65,7 @@ cmake \ -DCMAKE_HIP_ARCHITECTURES="${COMP_ARCH}" \ -DGPU_TARGETS="${COMP_ARCH}" \ -DAMDGPU_TARGETS="${COMP_ARCH}" \ + -DBLT_CXX_STD=c++14 \ -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 56b01b5ff2..187e797a5f 100755 --- a/scripts/lc-builds/toss4_cce_hip.sh +++ b/scripts/lc-builds/toss4_cce_hip.sh @@ -30,7 +30,7 @@ HOSTCONFIG="hip_3_X" BUILD_SUFFIX=lc_toss4-cce-${COMP_VER}-hip-${HIP_VER}-${HIP_ARCH} echo -echo "Creating build directory ${BUILD_SUFFIX} and generating configuration in it" +echo "Creating build directory build_${BUILD_SUFFIX} and generating configuration in it" echo "Configuration extra arguments:" echo " $@" echo @@ -51,6 +51,7 @@ cmake \ -DCMAKE_HIP_ARCHITECTURES=${HIP_ARCH} \ -DGPU_TARGETS=${HIP_ARCH} \ -DAMDGPU_TARGETS=${HIP_ARCH} \ + -DBLT_CXX_STD=c++14 \ -C "../host-configs/lc-builds/toss4/${HOSTCONFIG}.cmake" \ -DENABLE_HIP=ON \ -DENABLE_OPENMP=ON \ diff --git a/scripts/ubuntu-builds/ubuntu_clang.sh b/scripts/ubuntu-builds/ubuntu_clang.sh index bb37385de7..6efe1b6f6f 100755 --- a/scripts/ubuntu-builds/ubuntu_clang.sh +++ b/scripts/ubuntu-builds/ubuntu_clang.sh @@ -18,6 +18,7 @@ cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_C_COMPILER=/usr/bin/clang \ -DCMAKE_CXX_COMPILER=/usr/bin/clang++ \ + -DBLT_CXX_STD=c++14 \ -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 b065bf8860..8f7688532f 100755 --- a/scripts/ubuntu-builds/ubuntu_gcc.sh +++ b/scripts/ubuntu-builds/ubuntu_gcc.sh @@ -18,6 +18,7 @@ cmake \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_C_COMPILER=/usr/bin/gcc \ -DCMAKE_CXX_COMPILER=/usr/bin/g++ \ + -DBLT_CXX_STD=c++14 \ -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 a112eb7c9f..b134544a84 100755 --- a/scripts/ubuntu-builds/ubuntu_hipcc.sh +++ b/scripts/ubuntu-builds/ubuntu_hipcc.sh @@ -14,5 +14,6 @@ mkdir build_${BUILD_SUFFIX} && cd build_${BUILD_SUFFIX} cmake \ -DCMAKE_BUILD_TYPE=Debug \ + -DBLT_CXX_STD=c++14 \ -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 6c37cc7808..70ee9f7984 100755 --- a/scripts/ubuntu-builds/ubuntu_nvcc10_gcc8.sh +++ b/scripts/ubuntu-builds/ubuntu_nvcc10_gcc8.sh @@ -16,6 +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++14 \ -C ../host-configs/ubuntu-builds/nvcc_gcc_X.cmake \ -DENABLE_OPENMP=On \ -DENABLE_CUDA=On \ From 730e5d04ba4a41fa69878bf85d68a7fab81cd5b2 Mon Sep 17 00:00:00 2001 From: Jason Burmark Date: Mon, 31 Oct 2022 13:35:43 -0700 Subject: [PATCH 07/18] Update ubuntu scripts to allow different compiler versions --- scripts/ubuntu-builds/ubuntu_clang.sh | 22 +++++++++++++++++----- scripts/ubuntu-builds/ubuntu_gcc.sh | 22 +++++++++++++++++----- 2 files changed, 34 insertions(+), 10 deletions(-) diff --git a/scripts/ubuntu-builds/ubuntu_clang.sh b/scripts/ubuntu-builds/ubuntu_clang.sh index 6efe1b6f6f..0440f03955 100755 --- a/scripts/ubuntu-builds/ubuntu_clang.sh +++ b/scripts/ubuntu-builds/ubuntu_clang.sh @@ -7,17 +7,29 @@ # SPDX-License-Identifier: (BSD-3-Clause) ############################################################################### -BUILD_SUFFIX=ubuntu-clang +if [ "$1" == "" ]; then + echo + echo "You must pass a compiler version number to script. For example," + echo " ubuntu_clang.sh 10" + exit +fi + +COMP_VER=$1 +shift 1 + +BUILD_SUFFIX=ubuntu-clang-${COMP_VER} + +echo +echo "Creating build directory ${BUILD_SUFFIX} and generating configuration in it" +echo rm -rf build_${BUILD_SUFFIX} 2>/dev/null mkdir build_${BUILD_SUFFIX} && cd build_${BUILD_SUFFIX} -# module load cmake/3.14.5 - cmake \ -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_C_COMPILER=/usr/bin/clang \ - -DCMAKE_CXX_COMPILER=/usr/bin/clang++ \ + -DCMAKE_C_COMPILER=/usr/bin/clang-${COMP_VER} \ + -DCMAKE_CXX_COMPILER=/usr/bin/clang++-${COMP_VER} \ -DBLT_CXX_STD=c++14 \ -C ../host-configs/ubuntu-builds/clang_X.cmake \ -DENABLE_OPENMP=On \ diff --git a/scripts/ubuntu-builds/ubuntu_gcc.sh b/scripts/ubuntu-builds/ubuntu_gcc.sh index 8f7688532f..4eec44b44b 100755 --- a/scripts/ubuntu-builds/ubuntu_gcc.sh +++ b/scripts/ubuntu-builds/ubuntu_gcc.sh @@ -7,17 +7,29 @@ # SPDX-License-Identifier: (BSD-3-Clause) ############################################################################### -BUILD_SUFFIX=ubuntu-gcc +if [ "$1" == "" ]; then + echo + echo "You must pass a compiler version number to script. For example," + echo " ubuntu_gcc.sh 8" + exit +fi + +COMP_VER=$1 +shift 1 + +BUILD_SUFFIX=ubuntu-gcc-${COMP_VER} + +echo +echo "Creating build directory ${BUILD_SUFFIX} and generating configuration in it" +echo rm -rf build_${BUILD_SUFFIX} 2>/dev/null mkdir build_${BUILD_SUFFIX} && cd build_${BUILD_SUFFIX} -# module load cmake/3.14.5 - cmake \ -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_C_COMPILER=/usr/bin/gcc \ - -DCMAKE_CXX_COMPILER=/usr/bin/g++ \ + -DCMAKE_C_COMPILER=/usr/bin/gcc-${COMP_VER} \ + -DCMAKE_CXX_COMPILER=/usr/bin/g++-${COMP_VER} \ -DBLT_CXX_STD=c++14 \ -C ../host-configs/ubuntu-builds/gcc_X.cmake \ -DENABLE_OPENMP=On \ From ccb33acdc880f2592cd7fa1264fde01ed2a6c6a7 Mon Sep 17 00:00:00 2001 From: Jason Burmark Date: Mon, 31 Oct 2022 13:35:59 -0700 Subject: [PATCH 08/18] Add rocm asan script --- scripts/lc-builds/toss4_amdclang_asan.sh | 95 ++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100755 scripts/lc-builds/toss4_amdclang_asan.sh diff --git a/scripts/lc-builds/toss4_amdclang_asan.sh b/scripts/lc-builds/toss4_amdclang_asan.sh new file mode 100755 index 0000000000..a886d1c0b6 --- /dev/null +++ b/scripts/lc-builds/toss4_amdclang_asan.sh @@ -0,0 +1,95 @@ +#!/usr/bin/env bash + +############################################################################### +# Copyright (c) 2016-22, Lawrence Livermore National Security, LLC +# and RAJA project contributors. See the RAJA/LICENSE file for details. +# +# SPDX-License-Identifier: (BSD-3-Clause) +############################################################################### + +if [[ $# -lt 2 ]]; then + echo + echo "You must pass 2 or more arguments to the script (in this order): " + echo " 1) compiler version number" + echo " 2) HIP compute architecture" + echo " 3...) optional arguments to cmake" + echo + echo "For example: " + echo " toss4_amdclang.sh 4.1.0 gfx906" + exit +fi + +COMP_VER=$1 +COMP_ARCH=$2 +shift 2 + +HOSTCONFIG="hip_3_X" + +if [[ ${COMP_VER} == 4.* ]] +then +##HIP_CLANG_FLAGS="-mllvm -amdgpu-fixed-function-abi=1" + HOSTCONFIG="hip_4_link_X" +elif [[ ${COMP_VER} == 3.* ]] +then + HOSTCONFIG="hip_3_X" +else + echo "Unknown hip version, using ${HOSTCONFIG} host-config" +fi + +BUILD_SUFFIX=lc_toss4-amdclang-${COMP_VER}-${COMP_ARCH} + +echo +echo "Creating build directory ${BUILD_SUFFIX} and generating configuration in it" +echo "Configuration extra arguments:" +echo " $@" +echo + +rm -rf build_${BUILD_SUFFIX} >/dev/null +mkdir build_${BUILD_SUFFIX} && cd build_${BUILD_SUFFIX} + + +module load cmake/3.23.1 + +# unload rocm to avoid configuration problems where the loaded rocm and COMP_VER +# are inconsistent causing the rocprim from the module to be used unexpectedly +module unload rocm + + +cmake \ + -DCMAKE_BUILD_TYPE=Release \ + -DROCM_ROOT_DIR="/opt/rocm-${COMP_VER}" \ + -DHIP_ROOT_DIR="/opt/rocm-${COMP_VER}/hip" \ + -DHIP_PATH=/opt/rocm-${COMP_VER}/llvm/bin \ + -DCMAKE_C_COMPILER=/opt/rocm-${COMP_VER}/llvm/bin/amdclang \ + -DCMAKE_CXX_COMPILER=/opt/rocm-${COMP_VER}/llvm/bin/amdclang++ \ + -DCMAKE_HIP_ARCHITECTURES="${COMP_ARCH}:xnack+" \ + -DGPU_TARGETS="${COMP_ARCH}:xnack+" \ + -DAMDGPU_TARGETS="${COMP_ARCH}:xnack+" \ + -DCMAKE_CXX_FLAGS="-fsanitize=address -shared-libsan" \ + -DBLT_CXX_STD=c++14 \ + -C "../host-configs/lc-builds/toss4/${HOSTCONFIG}.cmake" \ + -DENABLE_HIP=ON \ + -DENABLE_OPENMP=ON \ + -DENABLE_CUDA=OFF \ + -DCMAKE_INSTALL_PREFIX=../install_${BUILD_SUFFIX} \ + "$@" \ + .. + +echo +echo "***********************************************************************" +echo +echo "cd into directory build_${BUILD_SUFFIX} and run make to build RAJA" +echo +echo " Please note that you have to have a consistent build environment" +echo " when you make RAJA as cmake may reconfigure; unload the rocm module" +echo " or load the appropriate rocm module (${COMP_VER}) when building." +echo +echo " module unload rocm" +echo " srun -n1 make" +echo +echo " Run with these environment options" +echo " ASAN_OPTIONS=detect_leaks=0" +echo " HSA_XNACK=1" +echo " LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/opt/rocm-${COMP_VER}/llvm/lib/clang/15.0.0/lib/linux" +echo +echo "***********************************************************************" From 251f51e2b26b4a0390896ae9fdb66cf290bbe536 Mon Sep 17 00:00:00 2001 From: Rich Hornung Date: Tue, 1 Nov 2022 14:36:38 -0700 Subject: [PATCH 09/18] Squash compiler warnings. --- include/RAJA/policy/openmp/params/forall.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/RAJA/policy/openmp/params/forall.hpp b/include/RAJA/policy/openmp/params/forall.hpp index 7715ab4d04..f983437034 100644 --- a/include/RAJA/policy/openmp/params/forall.hpp +++ b/include/RAJA/policy/openmp/params/forall.hpp @@ -11,7 +11,7 @@ #define RAJA_OMP_DECLARE_REDUCTION_COMBINE \ _Pragma(" omp declare reduction( combine \ : typename std::remove_reference::type \ - : RAJA::expt::ParamMultiplexer::combine(omp_out, omp_in) ) \ + : RAJA::expt::ParamMultiplexer::combine(omp_out, omp_in) ") \ //initializer(omp_priv = omp_in) ") namespace RAJA From 49502b6137c9dc499bcaf83161ddde9aa79668d6 Mon Sep 17 00:00:00 2001 From: Jason Burmark Date: Tue, 1 Nov 2022 14:50:06 -0700 Subject: [PATCH 10/18] inline KernelName to avoid multiply defined symbol --- include/RAJA/pattern/params/kernel_name.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/RAJA/pattern/params/kernel_name.hpp b/include/RAJA/pattern/params/kernel_name.hpp index a3cb18cf46..e768d8dd59 100644 --- a/include/RAJA/pattern/params/kernel_name.hpp +++ b/include/RAJA/pattern/params/kernel_name.hpp @@ -18,7 +18,7 @@ namespace detail } // namespace detail -auto KernelName(const char * n) +inline auto KernelName(const char * n) { return detail::KernelName(n); } From 51a632adbd4d5a4a13ff554498bde382e931a74d Mon Sep 17 00:00:00 2001 From: Rich Hornung Date: Wed, 2 Nov 2022 08:29:19 -0700 Subject: [PATCH 11/18] Fix non-matching paren --- include/RAJA/policy/openmp/params/forall.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/RAJA/policy/openmp/params/forall.hpp b/include/RAJA/policy/openmp/params/forall.hpp index f983437034..ff7de53f36 100644 --- a/include/RAJA/policy/openmp/params/forall.hpp +++ b/include/RAJA/policy/openmp/params/forall.hpp @@ -11,7 +11,7 @@ #define RAJA_OMP_DECLARE_REDUCTION_COMBINE \ _Pragma(" omp declare reduction( combine \ : typename std::remove_reference::type \ - : RAJA::expt::ParamMultiplexer::combine(omp_out, omp_in) ") \ + : RAJA::expt::ParamMultiplexer::combine(omp_out, omp_in) ) ")\ //initializer(omp_priv = omp_in) ") namespace RAJA From 189062ea453b48e03fce95375af47253f32eeb00 Mon Sep 17 00:00:00 2001 From: mdavis36 Date: Thu, 3 Nov 2022 10:13:38 -0700 Subject: [PATCH 12/18] Reduction typo. --- include/RAJA/policy/openmp_target/forall.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/RAJA/policy/openmp_target/forall.hpp b/include/RAJA/policy/openmp_target/forall.hpp index 216edb589a..09bad3fbe5 100644 --- a/include/RAJA/policy/openmp_target/forall.hpp +++ b/include/RAJA/policy/openmp_target/forall.hpp @@ -76,7 +76,7 @@ forall_impl(resources::Omp omp_res, auto i = distance_it; #pragma omp target teams distribute parallel for num_teams(numteams) \ - schedule(static, 1) map(to : body,begin_it) redcution(combine: f_params) + schedule(static, 1) map(to : body,begin_it) reduction(combine: f_params) for (i = 0; i < distance_it; ++i) { Body ib = body; RAJA::expt::invoke_body(f_params, ib, begin_it[i]); From b5eb049305417ab2d6d0a8d0ebf4cb52862cd43f Mon Sep 17 00:00:00 2001 From: Robert Chen Date: Thu, 3 Nov 2022 10:58:49 -0700 Subject: [PATCH 13/18] Missing OR operator in compiler checking logic. --- include/RAJA/policy/tensor/arch/avx512/avx512_int64.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/RAJA/policy/tensor/arch/avx512/avx512_int64.hpp b/include/RAJA/policy/tensor/arch/avx512/avx512_int64.hpp index f8318802fa..0d8bc2f2b4 100644 --- a/include/RAJA/policy/tensor/arch/avx512/avx512_int64.hpp +++ b/include/RAJA/policy/tensor/arch/avx512/avx512_int64.hpp @@ -126,7 +126,7 @@ namespace expt RAJA_INLINE self_type &load_packed(element_type const *ptr){ // AVX512F - #if (defined(__GNUC__) && ((__GNUC__ >= 7) && (__GNUC__ <= 10))) \ + #if (defined(__GNUC__) && ((__GNUC__ >= 7) && (__GNUC__ <= 10))) || \ (!defined(SYCL_LANGUAGE_VERSION) && defined(__INTEL_LLVM_COMPILER)) // Check for oneapi's icpx. m_value = _mm512_maskz_loadu_epi64(~0, ptr); // May cause slowdown due to looping over 8 bytes, one at a time. #else @@ -185,7 +185,7 @@ namespace expt RAJA_INLINE self_type const &store_packed(element_type *ptr) const{ // AVX512F - #if (defined(__GNUC__) && ((__GNUC__ >= 7) && (__GNUC__ <= 10))) \ + #if (defined(__GNUC__) && ((__GNUC__ >= 7) && (__GNUC__ <= 10))) || \ (!defined(SYCL_LANGUAGE_VERSION) && defined(__INTEL_LLVM_COMPILER)) // Check for oneapi's icpx. _mm512_mask_storeu_epi64(ptr, ~0, m_value); // May cause slowdown due to looping over 8 bytes, one at a time. #else From d17539a480d52dc917b6b339ca0358af1ef0529e Mon Sep 17 00:00:00 2001 From: mdavis36 Date: Thu, 3 Nov 2022 13:34:55 -0700 Subject: [PATCH 14/18] Desul fetch_inc/dec API change. --- include/RAJA/policy/desul/atomic.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/RAJA/policy/desul/atomic.hpp b/include/RAJA/policy/desul/atomic.hpp index f818150dc2..9daeb06068 100644 --- a/include/RAJA/policy/desul/atomic.hpp +++ b/include/RAJA/policy/desul/atomic.hpp @@ -87,7 +87,7 @@ RAJA_INLINE T atomicInc(AtomicPolicy, T volatile *acc, T val) { // See: // http://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#atomicinc - return desul::atomic_wrapping_fetch_inc(const_cast(acc), + return desul::atomic_fetch_inc_mod(const_cast(acc), val, raja_default_desul_order{}, raja_default_desul_scope{}); @@ -110,7 +110,7 @@ RAJA_INLINE T atomicDec(AtomicPolicy, T volatile *acc, T val) { // See: // http://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#atomicdec - return desul::atomic_wrapping_fetch_dec(const_cast(acc), + return desul::atomic_fetch_dec_mod(const_cast(acc), val, raja_default_desul_order{}, raja_default_desul_scope{}); From 532976a0d61e306a6831e69685e6bf1f07a01e8c Mon Sep 17 00:00:00 2001 From: Rich Hornung Date: Fri, 4 Nov 2022 12:14:06 -0700 Subject: [PATCH 15/18] Update release number. --- CMakeLists.txt | 2 +- docs/conf.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 295e24ce81..b8ebfb77e1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,7 +16,7 @@ include(CMakeDependentOption) # Set version number set(RAJA_VERSION_MAJOR 2022) set(RAJA_VERSION_MINOR 10) -set(RAJA_VERSION_PATCHLEVEL 1) +set(RAJA_VERSION_PATCHLEVEL 2) if (RAJA_LOADED AND (NOT RAJA_LOADED STREQUAL "${RAJA_VERSION_MAJOR}.${RAJA_VERSION_MINOR}.${RAJA_VERSION_PATCHLEVEL}")) message(FATAL_ERROR "You are mixing RAJA versions. Loaded is ${RAJA_LOADED}, expected ${RAJA_VERSION_MAJOR}.${RAJA_VERSION_MINOR}.${RAJA_VERSION_PATCHLEVEL}") diff --git a/docs/conf.py b/docs/conf.py index d87fac7126..20c5ef60e0 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -88,7 +88,7 @@ # The short X.Y version. version = u'2022.10' # The full version, including alpha/beta/rc tags. -release = u'2022.10.1' +release = u'2022.10.2' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. From f6c70a78816d933a8913a8c9220b90d09d7336b9 Mon Sep 17 00:00:00 2001 From: Rich Hornung Date: Fri, 4 Nov 2022 12:33:31 -0700 Subject: [PATCH 16/18] Update desul submodule and release notes --- RELEASE_NOTES.md | 24 ++++++++++++++++++++++++ tpl/desul | 2 +- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index ecb05997c1..2ffcfb5f04 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -20,6 +20,30 @@ Notable changes include: * Bug fixes/improvements: +Version 2022.10.2 -- Release date 2022-11-xx +============================================ + +This release fixes a few issues that were found after the v2022.10.1 patch +release and updates a few things. Sorry for the churn, folks. + +Notable changes include: + + * Update desul submodule to commit e4b65e00. + + * CUDA compute architecture must now be set using the + 'CMAKE_CUDA_ARCHITECTURES' CMake variable. For example, by passing + '-DCMAKE_CUDA_ARCHITECTURES=70' to CMake for 'sm_70' architecture. + Using '-DCUDA_ARCH=sm_*' will not no longer do the right thing. Please + see the RAJA User Guide for more information. + * A linking bug was fixed related to the usage of the new RAJA::KernelName + capability. + * A compilation bug was fixed in the new reduction interface support for + OpenMP target offload. + * An issue was fixed in AVX compiler checking logic for RAJA vectorization + intrinsics capabilities. + * A couple of compiler warnings were squashed. + + Version 2022.10.1 -- Release date 2022-10-31 ============================================ diff --git a/tpl/desul b/tpl/desul index 2187ff3bf6..e4b65e00a8 160000 --- a/tpl/desul +++ b/tpl/desul @@ -1 +1 @@ -Subproject commit 2187ff3bf6bc29ee113b841575332719f9a7ec6b +Subproject commit e4b65e00a8f26cfc7b59cf5f2fb75a24f69111ab From 1bfc2f2ffab49135b5c1602f09412212d3bfc2ba Mon Sep 17 00:00:00 2001 From: Rich Hornung Date: Fri, 4 Nov 2022 15:18:24 -0700 Subject: [PATCH 17/18] Update desul to version in RAJA develop --- tpl/desul | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tpl/desul b/tpl/desul index e4b65e00a8..2187ff3bf6 160000 --- a/tpl/desul +++ b/tpl/desul @@ -1 +1 @@ -Subproject commit e4b65e00a8f26cfc7b59cf5f2fb75a24f69111ab +Subproject commit 2187ff3bf6bc29ee113b841575332719f9a7ec6b From 44e7af9cc2deb5671666e065d64eda1ed26bebb5 Mon Sep 17 00:00:00 2001 From: Rich Hornung Date: Mon, 7 Nov 2022 09:20:16 -0800 Subject: [PATCH 18/18] Update release notes --- RELEASE_NOTES.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 2ffcfb5f04..0f6b40cdf4 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -20,7 +20,7 @@ Notable changes include: * Bug fixes/improvements: -Version 2022.10.2 -- Release date 2022-11-xx +Version 2022.10.2 -- Release date 2022-11-08 ============================================ This release fixes a few issues that were found after the v2022.10.1 patch @@ -41,7 +41,6 @@ Notable changes include: OpenMP target offload. * An issue was fixed in AVX compiler checking logic for RAJA vectorization intrinsics capabilities. - * A couple of compiler warnings were squashed. Version 2022.10.1 -- Release date 2022-10-31 @@ -79,8 +78,9 @@ Notable changes include: code and then select which to use at run time. There is no discussion of this in the RAJA User Guide yet. However, there are a couple of example codes in files RAJA/examples/*dynamic-forall*.cpp. - * The RAJA::launch framework has been moved out of the experimental namespace, into the RAJA:: namespace, which introduces an API change. - * Add support for all RAJA segment types in the RAJA::launch framework. + * The RAJA::launch framework has been moved out of the experimental + namespace, into the RAJA:: namespace, which introduces an API change. + * Add support for all RAJA segment types in the RAJA::launch framework. * Add SYCL back-end support for RAJA::launch and dynamic shared memory for all back-ends in RAJA::launch. These changes introduce API changes. * Add additional policies to WorkGroup construct that allow for different