From a625e89d9a5d4fa580be8dabcd0416ad5cf5d242 Mon Sep 17 00:00:00 2001 From: Daniel Arndt Date: Mon, 30 Jan 2023 15:56:12 -0500 Subject: [PATCH 1/4] Test with SYCL in the CI --- .github/workflows/cmake.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 46f47b1c..d37a17d8 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -28,7 +28,7 @@ jobs: # To get new URL, look here: # https://www.intel.com/content/www/us/en/developer/articles/tool/oneapi-standalone-components.html#inpage-nav-6-undefined compiler_url: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/ebf5d9aa-17a7-46a4-b5df-ace004227c0e/l_dpcpp-cpp-compiler_p_2023.2.1.8_offline.sh - cxx_flags_extra: "-DMDSPAN_USE_BRACKET_OPERATOR=0 -Wextra-semi -Wno-c++17-attribute-extensions -Wno-gnu-zero-variadic-macro-arguments" + cxx_flags_extra: "-DMDSPAN_USE_BRACKET_OPERATOR=0 -Wextra-semi -Wno-c++17-attribute-extensions -Wno-gnu-zero-variadic-macro-arguments -fsycl" - enable_benchmark: ON - stdcxx: 14 enable_benchmark: OFF From 18a579c240e545be0f68a40f2c4c5fcf49f02f26 Mon Sep 17 00:00:00 2001 From: Daniel Arndt Date: Mon, 6 Oct 2025 09:22:43 -0400 Subject: [PATCH 2/4] Set up environment --- .github/workflows/cmake.yml | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index d37a17d8..40f8a7f7 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -29,6 +29,7 @@ jobs: # https://www.intel.com/content/www/us/en/developer/articles/tool/oneapi-standalone-components.html#inpage-nav-6-undefined compiler_url: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/ebf5d9aa-17a7-46a4-b5df-ace004227c0e/l_dpcpp-cpp-compiler_p_2023.2.1.8_offline.sh cxx_flags_extra: "-DMDSPAN_USE_BRACKET_OPERATOR=0 -Wextra-semi -Wno-c++17-attribute-extensions -Wno-gnu-zero-variadic-macro-arguments -fsycl" + set_up_environment: ". /opt/intel/oneapi/setvars.sh" - enable_benchmark: ON - stdcxx: 14 enable_benchmark: OFF @@ -73,17 +74,23 @@ jobs: - name: Configure CMake shell: bash working-directory: ${{github.workspace}}/mdspan-build - run: CXX=${{ matrix.compiler_prefix}}/${{ matrix.compiler_driver }} cmake $GITHUB_WORKSPACE/mdspan-src -DMDSPAN_CXX_STANDARD=${{ matrix.stdcxx }} -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/mdspan-install -DMDSPAN_ENABLE_TESTS=ON -DMDSPAN_ENABLE_EXAMPLES=ON -DMDSPAN_ENABLE_BENCHMARKS=${{matrix.enable_benchmark}} -DMDSPAN_ENABLE_COMP_BENCH=ON -DCMAKE_CXX_FLAGS="-Werror -Wall -Wextra -pedantic ${{matrix.cxx_flags_extra}}" + run: | + ${{ matrix.set_up_environment }} + CXX=${{ matrix.compiler_prefix}}/${{ matrix.compiler_driver }} cmake $GITHUB_WORKSPACE/mdspan-src -DMDSPAN_CXX_STANDARD=${{ matrix.stdcxx }} -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/mdspan-install -DMDSPAN_ENABLE_TESTS=ON -DMDSPAN_ENABLE_EXAMPLES=ON -DMDSPAN_ENABLE_BENCHMARKS=${{matrix.enable_benchmark}} -DMDSPAN_ENABLE_COMP_BENCH=ON -DCMAKE_CXX_FLAGS="-Werror -Wall -Wextra -pedantic ${{matrix.cxx_flags_extra}}" - name: Build shell: bash working-directory: ${{github.workspace}}/mdspan-build - run: make -j + run: | + ${{ matrix.set_up_environment }} + make -j - name: Test working-directory: ${{github.workspace}}/mdspan-build shell: bash - run: ctest --output-on-failure + run: | + ${{ matrix.set_up_environment }} + ctest --output-on-failure - name: Install shell: bash @@ -94,6 +101,7 @@ jobs: shell: bash working-directory: ${{github.workspace}}/mdspan-src run: | + ${{ matrix.set_up_environment }} cmake -S ./examples -B /tmp/build-mdspan-examples -Dmdspan_ROOT=${{github.workspace}}/mdspan-build cmake --build /tmp/build-mdspan-examples rm -rf /tmp/build-mdspan-examples @@ -102,6 +110,7 @@ jobs: shell: bash working-directory: ${{github.workspace}}/mdspan-src run: | + ${{ matrix.set_up_environment }} cmake -S ./examples -B /tmp/build-mdspan-examples -Dmdspan_ROOT=${{github.workspace}}/mdspan-install cmake --build /tmp/build-mdspan-examples rm -rf /tmp/build-mdspan-examples From 2fca075388e7b5c335ba6690099a52835e721432 Mon Sep 17 00:00:00 2001 From: Daniel Arndt Date: Mon, 6 Oct 2025 10:04:37 -0400 Subject: [PATCH 3/4] Fix unused warning in utility.hpp --- include/experimental/__p0009_bits/utility.hpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/experimental/__p0009_bits/utility.hpp b/include/experimental/__p0009_bits/utility.hpp index 2d89229c..cf9eb478 100644 --- a/include/experimental/__p0009_bits/utility.hpp +++ b/include/experimental/__p0009_bits/utility.hpp @@ -208,6 +208,8 @@ check_mul_result_is_nonnegative_and_representable(T a, T b) { // FIXME_SYCL The code below compiles to old_llvm.umul.with.overflow.i64 // which isn't defined in device code #ifdef __SYCL_DEVICE_ONLY__ + (void) a; + (void) b; return true; #else if (b == 0 || a == 0) From 7d62aa377607725e352f64c380f32cf1f03f437e Mon Sep 17 00:00:00 2001 From: Daniel Arndt Date: Mon, 6 Oct 2025 10:25:14 -0400 Subject: [PATCH 4/4] Exclude C++14 icpx build --- .github/workflows/cmake.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 40f8a7f7..3aaa4eb1 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -40,6 +40,8 @@ jobs: stdcxx: 23 - compiler_driver: g++-10 stdcxx: 23 + - compiler_driver: icpx + stdcxx: 14 name: ${{ matrix.compiler_driver }} C++${{ matrix.stdcxx }} steps: