diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 783309eb2e..8c1f7a472e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -75,7 +75,7 @@ stages: include: - local: '.gitlab/custom-jobs-and-variables.yml' - project: 'radiuss/radiuss-shared-ci' - ref: 'v2023.12.0' + ref: 'v2023.12.3' file: 'pipelines/${CI_MACHINE}.yml' - artifact: '${CI_MACHINE}-jobs.yml' job: 'generate-job-lists' @@ -102,7 +102,7 @@ trigger-rajaperf: include: # [Optional] checks preliminary to running the actual CI test - project: 'radiuss/radiuss-shared-ci' - ref: 'v2023.12.0' + ref: 'v2023.12.3' file: 'utilities/preliminary-ignore-draft-pr.yml' # pipelines subscribed by the project - local: '.gitlab/subscribed-pipelines.yml' diff --git a/.gitlab/custom-jobs-and-variables.yml b/.gitlab/custom-jobs-and-variables.yml index 040449be69..eb7011b78a 100644 --- a/.gitlab/custom-jobs-and-variables.yml +++ b/.gitlab/custom-jobs-and-variables.yml @@ -14,10 +14,10 @@ variables: # Ruby # Arguments for top level allocation - RUBY_SHARED_ALLOC: "--exclusive --reservation=ci --time=30 --nodes=2" + RUBY_SHARED_ALLOC: "--exclusive --reservation=ci --time=40 --nodes=2" # Arguments for job level allocation # Note: We repeat the reservation, necessary when jobs are manually re-triggered. - RUBY_JOB_ALLOC: "--overlap --reservation=ci --nodes=1" + RUBY_JOB_ALLOC: "--reservation=ci --nodes=1" # Project specific variants for ruby PROJECT_RUBY_VARIANTS: "~shared +openmp +tests" # Project specific deps for ruby @@ -25,9 +25,9 @@ variables: # Poodle # Arguments for top level allocation - POODLE_SHARED_ALLOC: "--exclusive --time=40 --nodes=1" + POODLE_SHARED_ALLOC: "--exclusive --time=60 --nodes=1" # Arguments for job level allocation - POODLE_JOB_ALLOC: "--overlap --nodes=1" + POODLE_JOB_ALLOC: "--nodes=1" # Project specific variants for poodle PROJECT_POODLE_VARIANTS: "~shared +openmp +tests" # Project specific deps for poodle diff --git a/.gitlab/jobs/corona.yml b/.gitlab/jobs/corona.yml index b483bb6ffb..9213d6e932 100644 --- a/.gitlab/jobs/corona.yml +++ b/.gitlab/jobs/corona.yml @@ -6,7 +6,8 @@ ############################################################################# # Override reproducer section to define project specific variables. -.corona_reproducer_vars: &corona_reproducer_vars +.corona_reproducer_vars: + script: - | echo -e "export MODULE_LIST=\"${MODULE_LIST}\"" echo -e "export SPEC=\"${SPEC//\"/\\\"}\"" @@ -29,6 +30,6 @@ rocmcc_5_7_0_hip_desul_atomics: variables: - SPEC: " ~shared +rocm ~openmp +tests +desul amdgpu_target=gfx906 %rocmcc@5.7.0 ^hip@5.7.0 ^blt@develop" + SPEC: " ~shared +rocm ~openmp +tests +desul amdgpu_target=gfx906 %rocmcc@=5.7.0 ^hip@5.7.0 ^blt@develop" extends: .job_on_corona diff --git a/.gitlab/jobs/lassen.yml b/.gitlab/jobs/lassen.yml index 4a17ee2f86..fbd3d93db0 100644 --- a/.gitlab/jobs/lassen.yml +++ b/.gitlab/jobs/lassen.yml @@ -6,7 +6,8 @@ ############################################################################## # Override reproducer section to define project specific variables. -.lassen_reproducer_vars: &lassen_reproducer_vars +.lassen_reproducer_vars: + script: - | echo -e "export MODULE_LIST=\"${MODULE_LIST}\"" echo -e "export SPEC=\"${SPEC//\"/\\\"}\"" @@ -22,7 +23,7 @@ # Warning: allowed to fail because of a bug in Spack > 0.20.3 xl_2022_08_19_gcc_8_3_1_cuda_11_2_0: variables: - SPEC: "${PROJECT_LASSEN_VARIANTS} +cuda cxxflags==\"-qthreaded -std=c++14 -O3 -qstrict -qxlcompatmacros -qlanglvl=extended0x -qalias=noansi -qhot -qpic -qsmp=omp -qsuppress=1500-029 -qsuppress=1500-036\" %xl@16.1.1.12.gcc.8.3.1 ^cuda@11.2.0+allow-unsupported-compilers ${PROJECT_LASSEN_DEPS} ^blt@develop" + SPEC: "${PROJECT_LASSEN_VARIANTS} +cuda cxxflags==\"-qthreaded -std=c++14 -O3 -qstrict -qxlcompatmacros -qlanglvl=extended0x -qalias=noansi -qhot -qpic -qsmp=omp -qsuppress=1500-029 -qsuppress=1500-036\" %xl@=16.1.1.12.gcc.8.3.1 ^cuda@11.2.0+allow-unsupported-compilers ${PROJECT_LASSEN_DEPS} ^blt@develop" MODULE_LIST: "cuda/11.2.0" LASSEN_JOB_ALLOC: "1 -W 60 -q pci" extends: .job_on_lassen @@ -37,13 +38,13 @@ xl_2022_08_19_gcc_8_3_1_cuda_11_2_0: gcc_8_3_1_omptask: variables: - SPEC: " ~shared +openmp +omptask +tests %gcc@8.3.1 ^blt@develop" + SPEC: " ~shared +openmp +omptask +tests %gcc@=8.3.1 ^blt@develop" extends: .job_on_lassen gcc_8_3_1_cuda_11_5_0_ats_disabled: extends: .job_on_lassen variables: - SPEC: " ~shared +openmp +tests +cuda %gcc@8.3.1 cuda_arch=70 ^cuda@11.5.0+allow-unsupported-compilers ^blt@develop" + SPEC: " ~shared +openmp +tests +cuda %gcc@=8.3.1 cuda_arch=70 ^cuda@11.5.0+allow-unsupported-compilers ^blt@develop" MODULE_LIST: "cuda/11.5.0" LASSEN_JOB_ALLOC: "1 --atsdisable -W 30 -q pci" @@ -53,17 +54,17 @@ gcc_8_3_1_cuda_11_5_0_ats_disabled: clang_13_0_1_libcpp: variables: - SPEC: " ~shared +openmp +tests %clang@13.0.1 cflags==\"-DGTEST_HAS_CXXABI_H_=0\" cxxflags==\"-stdlib=libc++ -DGTEST_HAS_CXXABI_H_=0\" ^blt@develop" + SPEC: " ~shared +openmp +tests %clang@=13.0.1 cflags==\"-DGTEST_HAS_CXXABI_H_=0\" cxxflags==\"-stdlib=libc++ -DGTEST_HAS_CXXABI_H_=0\" ^blt@develop" extends: .job_on_lassen #clang_14_0_5_asan: # variables: -# SPEC: " ~shared +openmp +tests %clang@14.0.5 cxxflags==\"-fsanitize=address\" " +# SPEC: " ~shared +openmp +tests %clang@=14.0.5 cxxflags==\"-fsanitize=address\" " # ASAN_OPTIONS: "detect_leaks=1" # LSAN_OPTIONS: "suppressions=${CI_PROJECT_DIR}/suppressions.asan" # extends: .job_on_lassen gcc_8_3_1_cuda_10_1_243_desul_atomics: variables: - SPEC: " ~shared +openmp +tests +cuda +desul %gcc@8.3.1 cuda_arch=70 ^cuda@10.1.243+allow-unsupported-compilers ^blt@develop" + SPEC: " ~shared +openmp +tests +cuda +desul %gcc@=8.3.1 cuda_arch=70 ^cuda@10.1.243+allow-unsupported-compilers ^blt@develop" extends: .job_on_lassen diff --git a/.gitlab/jobs/poodle.yml b/.gitlab/jobs/poodle.yml index 1b5f86aa4a..cc1f956cb9 100644 --- a/.gitlab/jobs/poodle.yml +++ b/.gitlab/jobs/poodle.yml @@ -6,7 +6,8 @@ ############################################################################## # Override reproducer section to define projet specific variables. -.poodle_reproducer_vars: &poodle_reproducer_vars +.poodle_reproducer_vars: + script: - | echo -e "export MODULE_LIST=\"${MODULE_LIST}\"" echo -e "export SPEC=\"${SPEC//\"/\\\"}\"" @@ -20,24 +21,22 @@ clang_14_0_6: variables: - SPEC: " ~shared +openmp +omptask +tests %clang@14.0.6 ^blt@develop" + SPEC: " ~shared +openmp +omptask +tests %clang@=14.0.6 ^blt@develop" extends: .job_on_poodle gcc_10_3_1: variables: - SPEC: " ~shared +openmp +omptask +tests %gcc@10.3.1 ^blt@develop" - POODLE_JOB_ALLOC: "--time=60 --nodes=1" + SPEC: " ~shared +openmp +omptask +tests %gcc@=10.3.1 ^blt@develop" extends: .job_on_poodle intel_19_1_2_gcc_10_3_1: variables: - SPEC: " ~shared +openmp +omptask +tests %intel@19.1.2.gcc.10.3.1 ^blt@develop" - POODLE_JOB_ALLOC: "--time=90 --nodes=1" + SPEC: " ~shared +openmp +omptask +tests %intel@=19.1.2.gcc.10.3.1 ^blt@develop" extends: .job_on_poodle intel_2022_1_0: variables: - SPEC: "${PROJECT_POODLE_VARIANTS} %intel@2022.1.0 ${PROJECT_POODLE_DEPS} ^blt@develop" + SPEC: "${PROJECT_POODLE_VARIANTS} %intel@=2022.1.0 ${PROJECT_POODLE_DEPS} ^blt@develop" allow_failure: true extends: .job_on_poodle @@ -50,17 +49,16 @@ intel_2022_1_0: clang_14_0_6_openmp_off: variables: - SPEC: " ~shared ~openmp +tests %clang@14.0.6 ^blt@develop" + SPEC: " ~shared ~openmp +tests %clang@=14.0.6 ^blt@develop" extends: .job_on_poodle gcc_10_3_1_openmp_default: variables: - SPEC: " ~shared +tests %gcc@10.3.1 ^blt@develop" - POODLE_JOB_ALLOC: "--time=60 --nodes=1" + SPEC: " ~shared +tests %gcc@=10.3.1 ^blt@develop" extends: .job_on_poodle # OTHERS clang_14_0_6_gcc_10_3_1_desul_atomics: variables: - SPEC: " ~shared +openmp +tests +desul %clang@14.0.6.gcc.10.3.1 ^blt@develop" + SPEC: " ~shared +openmp +tests +desul %clang@=14.0.6.gcc.10.3.1 ^blt@develop" extends: .job_on_poodle diff --git a/.gitlab/jobs/ruby.yml b/.gitlab/jobs/ruby.yml index 7a42a815e7..a924ddd47c 100644 --- a/.gitlab/jobs/ruby.yml +++ b/.gitlab/jobs/ruby.yml @@ -6,7 +6,8 @@ ############################################################################## # Override reproducer section to define project specific variables. -.ruby_reproducer_vars: &ruby_reproducer_vars +.ruby_reproducer_vars: + script: - | echo -e "export MODULE_LIST=\"${MODULE_LIST}\"" echo -e "export SPEC=\"${SPEC//\"/\\\"}\"" @@ -20,24 +21,22 @@ clang_14_0_6: variables: - SPEC: " ~shared +openmp +omptask +tests %clang@14.0.6 ^blt@develop" + SPEC: " ~shared +openmp +omptask +tests %clang@=14.0.6 ^blt@develop" extends: .job_on_ruby gcc_10_3_1: variables: - SPEC: " ~shared +openmp +omptask +tests %gcc@10.3.1 ^blt@develop" - RUBY_JOB_ALLOC: "--time=60 --nodes=1" + SPEC: " ~shared +openmp +omptask +tests %gcc@=10.3.1 ^blt@develop" extends: .job_on_ruby intel_19_1_2_gcc_10_3_1: variables: - SPEC: " ~shared +openmp +omptask +tests %intel@19.1.2.gcc.10.3.1 ^blt@develop" - RUBY_JOB_ALLOC: "--time=90 --nodes=1" + SPEC: " ~shared +openmp +omptask +tests %intel@=19.1.2.gcc.10.3.1 ^blt@develop" extends: .job_on_ruby intel_2022_1_0: variables: - SPEC: "${PROJECT_RUBY_VARIANTS} %intel@2022.1.0 ${PROJECT_RUBY_DEPS} ^blt@develop" + SPEC: "${PROJECT_RUBY_VARIANTS} %intel@=2022.1.0 ${PROJECT_RUBY_DEPS} ^blt@develop" allow_failure: true extends: .job_on_ruby @@ -50,17 +49,16 @@ intel_2022_1_0: clang_14_0_6_openmp_off: variables: - SPEC: " ~shared ~openmp +tests %clang@14.0.6 ^blt@develop" + SPEC: " ~shared ~openmp +tests %clang@=14.0.6 ^blt@develop" extends: .job_on_ruby gcc_10_3_1_openmp_default: variables: - SPEC: " ~shared +tests %gcc@10.3.1 ^blt@develop" - RUBY_JOB_ALLOC: "--time=60 --nodes=1" + SPEC: " ~shared +tests %gcc@=10.3.1 ^blt@develop" extends: .job_on_ruby # OTHERS clang_14_0_6_gcc_10_3_1_desul_atomics: variables: - SPEC: " ~shared +openmp +tests +desul %clang@14.0.6.gcc.10.3.1 ^blt@develop" + SPEC: " ~shared +openmp +tests +desul %clang@=14.0.6.gcc.10.3.1 ^blt@develop" extends: .job_on_ruby diff --git a/.gitlab/jobs/tioga.yml b/.gitlab/jobs/tioga.yml index a59af625a3..ef89808932 100644 --- a/.gitlab/jobs/tioga.yml +++ b/.gitlab/jobs/tioga.yml @@ -6,7 +6,8 @@ ############################################################################# # Override reproducer section to define project specific variables. -.tioga_reproducer_vars: &tioga_reproducer_vars +.tioga_reproducer_vars: + script: - | echo -e "export MODULE_LIST=\"${MODULE_LIST}\"" echo -e "export SPEC=\"${SPEC//\"/\\\"}\"" @@ -29,10 +30,10 @@ rocmcc_5_7_1_hip_desul_atomics: variables: - SPEC: "~shared +rocm ~openmp +desul +tests amdgpu_target=gfx90a %rocmcc@5.7.1 ^hip@5.7.1 ^blt@develop" + SPEC: "~shared +rocm ~openmp +desul +tests amdgpu_target=gfx90a %rocmcc@=5.7.1 ^hip@5.7.1 ^blt@develop" extends: .job_on_tioga rocmcc_5_7_1_hip_openmp: variables: - SPEC: "~shared +rocm +openmp +omptask +tests amdgpu_target=gfx90a %rocmcc@5.7.1 ^hip@5.7.1 ^blt@develop" + SPEC: "~shared +rocm +openmp +omptask +tests amdgpu_target=gfx90a %rocmcc@=5.7.1 ^hip@5.7.1 ^blt@develop" extends: .job_on_tioga diff --git a/.uberenv_config.json b/.uberenv_config.json index 65474d1ea1..2261a80aea 100644 --- a/.uberenv_config.json +++ b/.uberenv_config.json @@ -4,7 +4,7 @@ "package_final_phase" : "initconfig", "package_source_dir" : "../..", "spack_url": "https://github.com/spack/spack.git", -"spack_branch": "develop-2024-01-21", +"spack_branch": "develop-2024-02-18", "spack_activate" : {}, "spack_configs_path": "scripts/radiuss-spack-configs", "spack_packages_path": "scripts/radiuss-spack-configs/packages", diff --git a/CMakeLists.txt b/CMakeLists.txt index e27ced7557..1e4823564b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,7 +16,7 @@ include(CMakeDependentOption) # Set version number set(RAJA_VERSION_MAJOR 2024) set(RAJA_VERSION_MINOR 02) -set(RAJA_VERSION_PATCHLEVEL 0) +set(RAJA_VERSION_PATCHLEVEL 1) 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/Dockerfile b/Dockerfile index 769de328e6..89e6a83f70 100644 --- a/Dockerfile +++ b/Dockerfile @@ -114,6 +114,5 @@ COPY . /home/raja/workspace WORKDIR /home/raja/workspace/build RUN /bin/bash -c "source /opt/view/setvars.sh && \ cmake -DCMAKE_CXX_COMPILER=dpcpp -DRAJA_ENABLE_SYCL=On -DENABLE_OPENMP=Off -DENABLE_ALL_WARNINGS=Off -DBLT_CXX_STD=c++17 .. && \ - make -j 6 &&\ - ctest -T test --output-on-failure" && \ + make -j 6" && \ cd .. && rm -rf build diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 06b703b3b7..2e26861191 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -20,6 +20,25 @@ Notable changes include: * Bug fixes/improvements: +Version 2024.02.1 -- Release date 2024-04-03 +============================================ + +This release contains submodule updates and minor RAJA improvements. + +Notable changes include: + + * New features / API changes: + * NONE. + + * Build changes/improvements: + * Update BLT submodule to v0.6.2 release. + * Update camp submodule to v2024.02.1 release. + + * Bug fixes/improvements: + * Various changes to quiet compiler warnings in SYCL builds related + to deprecated usage. + + Version 2024.02.0 -- Release date 2024-02-14 ============================================ diff --git a/blt b/blt index 058b312f8a..9ff77344f0 160000 --- a/blt +++ b/blt @@ -1 +1 @@ -Subproject commit 058b312f8a5ef305e12a4380deaa13d618eff54e +Subproject commit 9ff77344f0b2a6ee345e452bddd6bfd46cbbfa35 diff --git a/docs/conf.py b/docs/conf.py index c523ce8c26..1570ed2888 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -88,7 +88,7 @@ # The short X.Y version. version = u'2024.02' # The full version, including alpha/beta/rc tags. -release = u'2024.02.0' +release = u'2024.02.1' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/host-configs/lc-builds/toss4/corona_sycl.cmake b/host-configs/lc-builds/toss4/corona_sycl.cmake index 4912049830..adfdf68850 100755 --- a/host-configs/lc-builds/toss4/corona_sycl.cmake +++ b/host-configs/lc-builds/toss4/corona_sycl.cmake @@ -10,9 +10,9 @@ 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=gfx90a" 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=gfx90a" 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=gfx90a" CACHE STRING "") +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 "") diff --git a/include/RAJA/policy/sycl/launch.hpp b/include/RAJA/policy/sycl/launch.hpp index e9e9d8390d..0dffee6a21 100644 --- a/include/RAJA/policy/sycl/launch.hpp +++ b/include/RAJA/policy/sycl/launch.hpp @@ -73,8 +73,7 @@ struct LaunchExecute> { q->submit([&](cl::sycl::handler& h) { - auto s_vec = cl::sycl::accessor (params.shared_mem_size, h); + auto s_vec = ::sycl::local_accessor (params.shared_mem_size, h); h.parallel_for (cl::sycl::nd_range<3>(gridSize, blockSize), @@ -84,7 +83,7 @@ struct LaunchExecute> { ctx.itm = &itm; //Point to shared memory - ctx.shared_mem_ptr = s_vec.get_pointer().get(); + ctx.shared_mem_ptr = s_vec.get_multi_ptr<::sycl::access::decorated::yes>().get(); body_in(ctx); @@ -165,8 +164,7 @@ struct LaunchExecute> { q->submit([&](cl::sycl::handler& h) { - auto s_vec = cl::sycl::accessor (params.shared_mem_size, h); + auto s_vec = ::sycl::local_accessor (params.shared_mem_size, h); h.parallel_for (cl::sycl::nd_range<3>(gridSize, blockSize), @@ -176,7 +174,7 @@ struct LaunchExecute> { ctx.itm = &itm; //Point to shared memory - ctx.shared_mem_ptr = s_vec.get_pointer().get(); + ctx.shared_mem_ptr = s_vec.get_multi_ptr<::sycl::access::decorated::yes>().get(); (*lbody)(ctx); diff --git a/include/RAJA/policy/sycl/reduce.hpp b/include/RAJA/policy/sycl/reduce.hpp index 590872cdca..72cdbaeb6f 100644 --- a/include/RAJA/policy/sycl/reduce.hpp +++ b/include/RAJA/policy/sycl/reduce.hpp @@ -251,7 +251,7 @@ struct TargetReduce { #ifdef __SYCL_DEVICE_ONLY__ auto i = 0; //__spirv::initLocalInvocationId<1, cl::sycl::id<1>>()[0]; - auto atm = cl::sycl::ext::oneapi::atomic_ref(val.device[i]); + auto atm = ::sycl::atomic_ref(val.device[i]); Reducer{}(atm, rhsVal); return *this; #else @@ -265,7 +265,7 @@ struct TargetReduce { #ifdef __SYCL_DEVICE_ONLY__ auto i = 0; //__spirv::initLocalInvocationId<1, cl::sycl::id<1>>()[0]; - auto atm = cl::sycl::ext::oneapi::atomic_ref(val.device[i]); + auto atm = ::sycl::atomic_ref(val.device[i]); Reducer{}(atm, rhsVal); return *this; #else @@ -423,7 +423,7 @@ class ReduceSum { #ifdef __SYCL_DEVICE_ONLY__ auto i = 0;//__spirv::initLocalInvocationId<1, cl::sycl::id<1>>()[0]; - auto atm = cl::sycl::ext::oneapi::atomic_ref(parent::val.device[i]); + auto atm = ::sycl::atomic_ref(parent::val.device[i]); atm.fetch_add(rhsVal); return *this; #else @@ -449,7 +449,7 @@ class ReduceBitOr { #ifdef __SYCL_DEVICE_ONLY__ auto i = 0;//__spirv::initLocalInvocationId<1, cl::sycl::id<1>>()[0]; - auto atm = cl::sycl::ext::oneapi::atomic_ref(parent::val.device[i]); + auto atm = ::sycl::atomic_ref(parent::val.device[i]); atm |= rhsVal; return *this; #else @@ -463,7 +463,7 @@ class ReduceBitOr { #ifdef __SYCL_DEVICE_ONLY__ auto i = 0;//__spirv::initLocalInvocationId<1, cl::sycl::id<1>>()[0]; - auto atm = cl::sycl::ext::oneapi::atomic_ref(parent::val.device[i]); + auto atm = ::sycl::atomic_ref(parent::val.device[i]); atm |= rhsVal; return *this; #else @@ -489,7 +489,7 @@ class ReduceBitAnd { #ifdef __SYCL_DEVICE_ONLY__ auto i = 0;//__spirv::initLocalInvocationId<1, cl::sycl::id<1>>()[0]; - auto atm = cl::sycl::ext::oneapi::atomic_ref(parent::val.device[i]); + auto atm = ::sycl::atomic_ref(parent::val.device[i]); atm &= rhsVal; return *this; #else @@ -503,7 +503,7 @@ class ReduceBitAnd { #ifdef __SYCL_DEVICE_ONLY__ auto i = 0;//__spirv::initLocalInvocationId<1, cl::sycl::id<1>>()[0]; - auto atm = cl::sycl::ext::oneapi::atomic_ref(parent::val.device[i]); + auto atm = ::sycl::atomic_ref(parent::val.device[i]); atm &= rhsVal; return *this; #else @@ -530,7 +530,7 @@ class ReduceMin { #ifdef __SYCL_DEVICE_ONLY__ auto i = 0;//__spirv::initLocalInvocationId<1, cl::sycl::id<1>>()[0]; - auto atm = cl::sycl::ext::oneapi::atomic_ref(parent::val.device[i]); + auto atm = ::sycl::atomic_ref(parent::val.device[i]); atm.fetch_min(rhsVal); return *this; #else @@ -544,7 +544,7 @@ class ReduceMin { #ifdef __SYCL_DEVICE_ONLY__ auto i = 0;//__spirv::initLocalInvocationId<1, cl::sycl::id<1>>()[0]; - auto atm = cl::sycl::ext::oneapi::atomic_ref(parent::val.device[i]); + auto atm = ::sycl::atomic_ref(parent::val.device[i]); atm.fetch_min(rhsVal); return *this; #else @@ -571,7 +571,7 @@ class ReduceMax { #ifdef __SYCL_DEVICE_ONLY__ auto i = 0;//__spirv::initLocalInvocationId<1, cl::sycl::id<1>>()[0]; - auto atm = cl::sycl::ext::oneapi::atomic_ref(parent::val.device[i]); + auto atm = ::sycl::atomic_ref(parent::val.device[i]); atm.fetch_max(rhsVal); return *this; #else @@ -585,7 +585,7 @@ class ReduceMax { #ifdef __SYCL_DEVICE_ONLY__ auto i = 0;//__spirv::initLocalInvocationId<1, cl::sycl::id<1>>()[0]; - auto atm = cl::sycl::ext::oneapi::atomic_ref(parent::val.device[i]); + auto atm = ::sycl::atomic_ref(parent::val.device[i]); atm.fetch_max(rhsVal); return *this; #else diff --git a/scripts/lc-builds/corona_sycl.sh b/scripts/lc-builds/corona_sycl.sh index f28961b6b4..36c094e4ab 100755 --- a/scripts/lc-builds/corona_sycl.sh +++ b/scripts/lc-builds/corona_sycl.sh @@ -9,11 +9,11 @@ if [[ $# -lt 1 ]]; then echo - echo "You must pass 1 argument to the script (in this order): " + echo "You must pass 1 argument to the script: " echo " 1) SYCL compiler installation path" echo echo "For example: " - echo " corona_sycl.sh /usr/workspace/raja-dev/clang_sycl_hip_gcc10.2.1_rocm5.1.0/install" + echo " corona_sycl.sh /usr/workspace/raja-dev/clang_sycl_2f03ef85fee5_hip_gcc10.3.1_rocm5.7.1" exit fi @@ -36,6 +36,7 @@ mkdir build_${BUILD_SUFFIX}_${USER} && cd build_${BUILD_SUFFIX}_${USER} DATE=$(printf '%(%Y-%m-%d)T\n' -1) export PATH=${SYCL_PATH}/bin:$PATH +export LD_LIBRARY_PATH=${SYCL_PATH}/lib:${SYCL_PATH}/lib64:$LD_LIBRARY_PATH ## NOTE: RAJA tests are turned off due to compilation issues. @@ -51,17 +52,26 @@ cmake \ -DCMAKE_C_COMPILER=clang \ -DCMAKE_CXX_COMPILER=clang++ \ -DCMAKE_LINKER=clang++ \ - -DCMAKE_CXX_STANDARD=17 \ - -DENABLE_TESTS=Off \ + -DBLT_CXX_STD=c++17 \ + -DENABLE_TESTS=On \ -DENABLE_EXAMPLES=On \ "$@" \ .. echo echo "***********************************************************************" +echo +echo "cd into directory build_${BUILD_SUFFIX}_${USER} and run make to build RAJA" echo -echo "Remember to export PATH=${SYCL_PATH}/bin:\$PATH to obtain the correct compiler paths." +echo "To run RAJA tests, exercises, etc. with the build, please do the following:" echo -echo "cd into directory build_${BUILD_SUFFIX}_${USER} and run make to build RAJA" +echo " 1) Load the ROCm module version matching the version in the compiler path" +echo " you passed to this script." +echo +echo " 2) Prefix the LD_LIBRARY_PATH environment variable with " +echo " SYCL_PATH/lib:SYCL_PATH/lib64" +echo +echo " where SYCL_PATH is set to the compiler installation path you passed" +echo " to this script (using the proper command for your shell)." echo echo "***********************************************************************" diff --git a/scripts/radiuss-spack-configs b/scripts/radiuss-spack-configs index a37c3e1906..af75606a7f 160000 --- a/scripts/radiuss-spack-configs +++ b/scripts/radiuss-spack-configs @@ -1 +1 @@ -Subproject commit a37c3e1906baef912c59f3ef52aa45ab71cab0be +Subproject commit af75606a7fc0492e35cdd3860337c4e873f43124 diff --git a/tpl/camp b/tpl/camp index 03c80a6c6a..79c320fa09 160000 --- a/tpl/camp +++ b/tpl/camp @@ -1 +1 @@ -Subproject commit 03c80a6c6ab4f97e76a52639563daec71435a277 +Subproject commit 79c320fa09db987923b56884afdc9f82f4b70fc4