From 83d9a6164d55ac3f9f6a9943ecf372efcb1f7d18 Mon Sep 17 00:00:00 2001 From: "Sarnie, Nick" Date: Mon, 16 Dec 2024 07:38:13 -0800 Subject: [PATCH 01/25] [CI] Use oneAPI for Linux postcommit build Signed-off-by: Sarnie, Nick --- .github/workflows/sycl-linux-build.yml | 5 +++++ .github/workflows/sycl-post-commit.yml | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/sycl-linux-build.yml b/.github/workflows/sycl-linux-build.yml index 5a3abd6b899f0..b461e3f164290 100644 --- a/.github/workflows/sycl-linux-build.yml +++ b/.github/workflows/sycl-linux-build.yml @@ -156,6 +156,11 @@ jobs: ref: ${{ inputs.build_ref || github.sha }} merge_ref: ${{ inputs.merge_ref }} cache_path: "/__w/repo_cache/" + - name: Setup oneAPI env + if: ${{ inputs.cc == 'icx' || inputs.cxx == 'icpx' }} + run: | + source /opt/whatever + - name: Configure env: CC: ${{ inputs.cc }} diff --git a/.github/workflows/sycl-post-commit.yml b/.github/workflows/sycl-post-commit.yml index 89e293736a1bd..1e63946dffa4e 100644 --- a/.github/workflows/sycl-post-commit.yml +++ b/.github/workflows/sycl-post-commit.yml @@ -32,11 +32,14 @@ jobs: if: github.repository == 'intel/llvm' uses: ./.github/workflows/sycl-linux-build.yml with: + build_image: "ghcr.io/intel/llvm/sycl_ubuntu2404_build_oneapi:latest" build_cache_root: "/__w/llvm" - build_cache_suffix: default + build_cache_suffix: icx build_artifact_suffix: default build_configure_extra_args: --no-assertions --hip --cuda --native_cpu --cmake-opt="-DSYCL_ENABLE_STACK_PRINTING=ON" --cmake-opt="-DSYCL_LIB_WITH_DEBUG_SYMBOL=ON" merge_ref: '' + cc: icx + cxx: icpx e2e-lin: needs: [build-lin] From c7b9c7bdc4eaaeaabe33b728d8171d7b94ddbc52 Mon Sep 17 00:00:00 2001 From: "Sarnie, Nick" Date: Mon, 16 Dec 2024 08:04:37 -0800 Subject: [PATCH 02/25] test Signed-off-by: Sarnie, Nick --- .github/workflows/sycl-linux-build.yml | 2 +- .github/workflows/sycl-post-commit.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/sycl-linux-build.yml b/.github/workflows/sycl-linux-build.yml index b461e3f164290..edd91132345b4 100644 --- a/.github/workflows/sycl-linux-build.yml +++ b/.github/workflows/sycl-linux-build.yml @@ -159,7 +159,7 @@ jobs: - name: Setup oneAPI env if: ${{ inputs.cc == 'icx' || inputs.cxx == 'icpx' }} run: | - source /opt/whatever + source /opt/intel/oneapi/setvars.sh - name: Configure env: diff --git a/.github/workflows/sycl-post-commit.yml b/.github/workflows/sycl-post-commit.yml index 1e63946dffa4e..5096b023fe640 100644 --- a/.github/workflows/sycl-post-commit.yml +++ b/.github/workflows/sycl-post-commit.yml @@ -32,7 +32,7 @@ jobs: if: github.repository == 'intel/llvm' uses: ./.github/workflows/sycl-linux-build.yml with: - build_image: "ghcr.io/intel/llvm/sycl_ubuntu2404_build_oneapi:latest" + build_image: "ghcr.io/intel/llvm/ubuntu2404_build_oneapi:latest" build_cache_root: "/__w/llvm" build_cache_suffix: icx build_artifact_suffix: default From ccdb9b087e27c29326880158ebdd21346dec8895 Mon Sep 17 00:00:00 2001 From: "Sarnie, Nick" Date: Mon, 16 Dec 2024 08:13:09 -0800 Subject: [PATCH 03/25] test Signed-off-by: Sarnie, Nick --- .github/workflows/sycl-linux-build.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/sycl-linux-build.yml b/.github/workflows/sycl-linux-build.yml index edd91132345b4..870b6dd349909 100644 --- a/.github/workflows/sycl-linux-build.yml +++ b/.github/workflows/sycl-linux-build.yml @@ -112,6 +112,9 @@ jobs: build: name: Build + LIT runs-on: [Linux, build] + defaults: + run: + shell: bash container: image: ${{ inputs.build_image }} options: -u 1001:1001 From d04e73d81e5f300925e077811ca2082b96f8bcf6 Mon Sep 17 00:00:00 2001 From: "Sarnie, Nick" Date: Mon, 16 Dec 2024 08:27:14 -0800 Subject: [PATCH 04/25] test Signed-off-by: Sarnie, Nick --- .github/workflows/sycl-linux-build.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/workflows/sycl-linux-build.yml b/.github/workflows/sycl-linux-build.yml index 870b6dd349909..a311508ecfe36 100644 --- a/.github/workflows/sycl-linux-build.yml +++ b/.github/workflows/sycl-linux-build.yml @@ -162,7 +162,17 @@ jobs: - name: Setup oneAPI env if: ${{ inputs.cc == 'icx' || inputs.cxx == 'icpx' }} run: | + env_before=$(env | sort) + source /opt/intel/oneapi/setvars.sh + + env_after=$(env | sort) + + changed_envvars=$(comm -13 <(echo "$env_before") <(echo "$env_after")) + + while IFS= read -r line; do + echo "$line" >> $GITHUB_ENV + done <<< "$changed_envvars" - name: Configure env: From 91b19246c0898b55ab4539cd047b21d2f5183365 Mon Sep 17 00:00:00 2001 From: "Sarnie, Nick" Date: Wed, 18 Dec 2024 12:09:45 -0800 Subject: [PATCH 05/25] attempt fix Signed-off-by: Sarnie, Nick --- .github/workflows/sycl-linux-build.yml | 7 +++++++ .github/workflows/sycl-post-commit.yml | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/sycl-linux-build.yml b/.github/workflows/sycl-linux-build.yml index a311508ecfe36..33c7b6d23e004 100644 --- a/.github/workflows/sycl-linux-build.yml +++ b/.github/workflows/sycl-linux-build.yml @@ -198,6 +198,10 @@ jobs: - name: check-llvm if: always() && !cancelled() && contains(inputs.changes, 'llvm') run: | + if [[ ${{inputs.cc}} == 'icx' ]] || [[ ${inputs.cxx}} == 'icpx' ]]; then + + export LIT_FILTER="SYCL" + fi cmake --build $GITHUB_WORKSPACE/build --target check-llvm - name: check-clang if: always() && !cancelled() && contains(inputs.changes, 'clang') @@ -210,6 +214,9 @@ jobs: run: | # TODO consider moving this to Dockerfile. export LD_LIBRARY_PATH=/usr/local/cuda/compat/:/usr/local/cuda/lib64:$LD_LIBRARY_PATH + if [[ ${{inputs.cc}} == 'icx' ]] || [[ ${inputs.cxx}} == 'icpx' ]]; then + export LIT_FILTER_OUT="host_tanpi_double_accuracy" + fi cmake --build $GITHUB_WORKSPACE/build --target check-sycl - name: check-sycl-unittests if: always() && !cancelled() && contains(inputs.changes, 'sycl') diff --git a/.github/workflows/sycl-post-commit.yml b/.github/workflows/sycl-post-commit.yml index 5096b023fe640..de5b93d365bee 100644 --- a/.github/workflows/sycl-post-commit.yml +++ b/.github/workflows/sycl-post-commit.yml @@ -36,7 +36,7 @@ jobs: build_cache_root: "/__w/llvm" build_cache_suffix: icx build_artifact_suffix: default - build_configure_extra_args: --no-assertions --hip --cuda --native_cpu --cmake-opt="-DSYCL_ENABLE_STACK_PRINTING=ON" --cmake-opt="-DSYCL_LIB_WITH_DEBUG_SYMBOL=ON" + build_configure_extra_args: --no-assertions --hip --cuda --native_cpu --cmake-opt="-DSYCL_ENABLE_STACK_PRINTING=ON" --cmake-opt="-DSYCL_LIB_WITH_DEBUG_SYMBOL=ON" --cmake-opt="-DCOMPILER_RT_BUILD_SANITIZERS=Off" --cmake-opt="-DCOMPILER_RT_BUILD_MEMPROF=Off" merge_ref: '' cc: icx cxx: icpx From d4191ed229fcb1d096efcb4c22f94d72c574be91 Mon Sep 17 00:00:00 2001 From: "Sarnie, Nick" Date: Wed, 18 Dec 2024 12:21:57 -0800 Subject: [PATCH 06/25] maybe Signed-off-by: Sarnie, Nick --- .github/workflows/sycl-post-commit.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sycl-post-commit.yml b/.github/workflows/sycl-post-commit.yml index de5b93d365bee..ef83a72e6d471 100644 --- a/.github/workflows/sycl-post-commit.yml +++ b/.github/workflows/sycl-post-commit.yml @@ -36,7 +36,7 @@ jobs: build_cache_root: "/__w/llvm" build_cache_suffix: icx build_artifact_suffix: default - build_configure_extra_args: --no-assertions --hip --cuda --native_cpu --cmake-opt="-DSYCL_ENABLE_STACK_PRINTING=ON" --cmake-opt="-DSYCL_LIB_WITH_DEBUG_SYMBOL=ON" --cmake-opt="-DCOMPILER_RT_BUILD_SANITIZERS=Off" --cmake-opt="-DCOMPILER_RT_BUILD_MEMPROF=Off" + build_configure_extra_args: --no-assertions --hip --cuda --native_cpu --cmake-opt=-DSYCL_ENABLE_STACK_PRINTING=ON --cmake-opt=-DSYCL_LIB_WITH_DEBUG_SYMBOL=ON --cmake-opt=-DCOMPILER_RT_BUILD_SANITIZERS=Off --cmake-opt=-DCOMPILER_RT_BUILD_MEMPROF=Off merge_ref: '' cc: icx cxx: icpx From 367486d79083c43f45c591e33e63e00cd622810e Mon Sep 17 00:00:00 2001 From: "Sarnie, Nick" Date: Wed, 18 Dec 2024 13:54:14 -0800 Subject: [PATCH 07/25] test Signed-off-by: Sarnie, Nick --- .github/workflows/sycl-linux-build.yml | 2 +- .github/workflows/sycl-linux-run-tests.yml | 19 +++++++++++++++++++ .github/workflows/sycl-post-commit.yml | 1 + .github/workflows/sycl-windows-build.yml | 2 +- 4 files changed, 22 insertions(+), 2 deletions(-) diff --git a/.github/workflows/sycl-linux-build.yml b/.github/workflows/sycl-linux-build.yml index 33c7b6d23e004..d99a36584398b 100644 --- a/.github/workflows/sycl-linux-build.yml +++ b/.github/workflows/sycl-linux-build.yml @@ -215,7 +215,7 @@ jobs: # TODO consider moving this to Dockerfile. export LD_LIBRARY_PATH=/usr/local/cuda/compat/:/usr/local/cuda/lib64:$LD_LIBRARY_PATH if [[ ${{inputs.cc}} == 'icx' ]] || [[ ${inputs.cxx}} == 'icpx' ]]; then - export LIT_FILTER_OUT="host_tanpi_double_accuracy" + export LIT_XFAIL="abi/layout_vec.cpp;regression/host_tanpi_double_accuracy.cpp;self-contained-headers/sycl/ext/intel/fpga_lsu.hpp" fi cmake --build $GITHUB_WORKSPACE/build --target check-sycl - name: check-sycl-unittests diff --git a/.github/workflows/sycl-linux-run-tests.yml b/.github/workflows/sycl-linux-run-tests.yml index 73b2a1f336db7..1bbc1713c5736 100644 --- a/.github/workflows/sycl-linux-run-tests.yml +++ b/.github/workflows/sycl-linux-run-tests.yml @@ -62,6 +62,9 @@ on: reset_intel_gpu: type: string required: False + is_icx: + type: string + default: 'false' install_igc_driver: type: string required: False @@ -189,6 +192,7 @@ jobs: if: inputs.tests_selector == 'cts' run: | git -C khronos_sycl_cts submodule update --init + - name: Install drivers if: inputs.install_igc_driver == 'true' || inputs.install_dev_igc_driver == 'true' env: @@ -199,6 +203,21 @@ jobs: sudo apt-get install -yqq libllvm14 || true; fi sudo -E bash devops/scripts/install_drivers.sh llvm/devops/dependencies.json ${{ inputs.install_dev_igc_driver == 'true' && 'llvm/devops/dependencies-igc-dev.json --use-dev-igc' || '' }} --all + - name: Setup oneAPI env + if: ${{ inputs.is_icx == 'true' }} + run: | + env_before=$(env | sort) + + source /opt/intel/oneapi/setvars.sh + + env_after=$(env | sort) + + changed_envvars=$(comm -13 <(echo "$env_before") <(echo "$env_after")) + + while IFS= read -r line; do + echo "$line" >> $GITHUB_ENV + done <<< "$changed_envvars" + - name: Source OneAPI TBB vars.sh shell: bash run: | diff --git a/.github/workflows/sycl-post-commit.yml b/.github/workflows/sycl-post-commit.yml index ef83a72e6d471..b851ecf4159f9 100644 --- a/.github/workflows/sycl-post-commit.yml +++ b/.github/workflows/sycl-post-commit.yml @@ -89,6 +89,7 @@ jobs: image_options: ${{ matrix.image_options || '-u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN' }} target_devices: ${{ matrix.target_devices || 'level_zero:gpu' }} reset_intel_gpu: ${{ matrix.reset_intel_gpu }} + is_icx: true extra_lit_opts: ${{ matrix.extra_lit_opts }} env: ${{ matrix.env || '{}' }} diff --git a/.github/workflows/sycl-windows-build.yml b/.github/workflows/sycl-windows-build.yml index 23fc3291e2fc8..532bfb4462456 100644 --- a/.github/workflows/sycl-windows-build.yml +++ b/.github/workflows/sycl-windows-build.yml @@ -142,7 +142,7 @@ jobs: shell: bash run: | if [[ ${{inputs.compiler}} == 'icx' ]]; then - export LIT_FILTER_OUT="host_tanpi_double_accuracy" + export LIT_XFAIL="regression/host_tanpi_double_accuracy.cpp" fi cmake --build build --target check-sycl - name: check-sycl-unittests From 29f8b58241b8b593713032b16ffcb09bf0e242bf Mon Sep 17 00:00:00 2001 From: "Sarnie, Nick" Date: Thu, 19 Dec 2024 09:39:58 -0800 Subject: [PATCH 08/25] test Signed-off-by: Sarnie, Nick --- .github/workflows/sycl-linux-run-tests.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/sycl-linux-run-tests.yml b/.github/workflows/sycl-linux-run-tests.yml index 1bbc1713c5736..aee906e393fba 100644 --- a/.github/workflows/sycl-linux-run-tests.yml +++ b/.github/workflows/sycl-linux-run-tests.yml @@ -205,7 +205,13 @@ jobs: sudo -E bash devops/scripts/install_drivers.sh llvm/devops/dependencies.json ${{ inputs.install_dev_igc_driver == 'true' && 'llvm/devops/dependencies-igc-dev.json --use-dev-igc' || '' }} --all - name: Setup oneAPI env if: ${{ inputs.is_icx == 'true' }} + shell: bash run: | + wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor \ + | tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null && \ + sudo echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" \ + | sudo tee /etc/apt/sources.list.d/oneAPI.list && \ + sudo apt update && sudo apt-get install intel-oneapi-compiler-dpcpp-cpp env_before=$(env | sort) source /opt/intel/oneapi/setvars.sh From b2d06188fb472885faa75a4775d752443f945b24 Mon Sep 17 00:00:00 2001 From: "Sarnie, Nick" Date: Thu, 19 Dec 2024 09:41:29 -0800 Subject: [PATCH 09/25] whoops Signed-off-by: Sarnie, Nick --- .github/workflows/sycl-linux-run-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sycl-linux-run-tests.yml b/.github/workflows/sycl-linux-run-tests.yml index aee906e393fba..bbb73df8cffef 100644 --- a/.github/workflows/sycl-linux-run-tests.yml +++ b/.github/workflows/sycl-linux-run-tests.yml @@ -211,7 +211,7 @@ jobs: | tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null && \ sudo echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" \ | sudo tee /etc/apt/sources.list.d/oneAPI.list && \ - sudo apt update && sudo apt-get install intel-oneapi-compiler-dpcpp-cpp + sudo apt update && sudo apt-get -y install intel-oneapi-compiler-dpcpp-cpp env_before=$(env | sort) source /opt/intel/oneapi/setvars.sh From 777558ce593ce6594867b224e50ee46a9b9a5c28 Mon Sep 17 00:00:00 2001 From: "Sarnie, Nick" Date: Thu, 19 Dec 2024 09:50:48 -0800 Subject: [PATCH 10/25] test Signed-off-by: Sarnie, Nick --- .github/workflows/sycl-post-commit.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sycl-post-commit.yml b/.github/workflows/sycl-post-commit.yml index b851ecf4159f9..a33c699aad90c 100644 --- a/.github/workflows/sycl-post-commit.yml +++ b/.github/workflows/sycl-post-commit.yml @@ -43,7 +43,7 @@ jobs: e2e-lin: needs: [build-lin] - if: ${{ always() && !cancelled() && needs.build-lin.outputs.build_conclusion == 'success' }} + if: ${{ always() && !cancelled() }} strategy: fail-fast: false matrix: From 6260b8f9a2024e9c7fa8b941be5a26406ffefad0 Mon Sep 17 00:00:00 2001 From: "Sarnie, Nick" Date: Thu, 19 Dec 2024 10:17:44 -0800 Subject: [PATCH 11/25] wat Signed-off-by: Sarnie, Nick --- .github/workflows/sycl-linux-run-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sycl-linux-run-tests.yml b/.github/workflows/sycl-linux-run-tests.yml index bbb73df8cffef..fb6cb7724f085 100644 --- a/.github/workflows/sycl-linux-run-tests.yml +++ b/.github/workflows/sycl-linux-run-tests.yml @@ -208,7 +208,7 @@ jobs: shell: bash run: | wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor \ - | tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null && \ + | sudo tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null && \ sudo echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" \ | sudo tee /etc/apt/sources.list.d/oneAPI.list && \ sudo apt update && sudo apt-get -y install intel-oneapi-compiler-dpcpp-cpp From 57890005e092fd9a971cad7725a105b7df6bf51c Mon Sep 17 00:00:00 2001 From: "Sarnie, Nick" Date: Fri, 20 Dec 2024 12:41:49 -0800 Subject: [PATCH 12/25] back Signed-off-by: Sarnie, Nick --- .github/workflows/sycl-linux-run-tests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/sycl-linux-run-tests.yml b/.github/workflows/sycl-linux-run-tests.yml index fb6cb7724f085..a2c9abcd89fc7 100644 --- a/.github/workflows/sycl-linux-run-tests.yml +++ b/.github/workflows/sycl-linux-run-tests.yml @@ -207,6 +207,7 @@ jobs: if: ${{ inputs.is_icx == 'true' }} shell: bash run: | + sudo apt-get --fix-broken -y install wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor \ | sudo tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null && \ sudo echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" \ From 04ed1321f1421dba70ee183c2fd4c2efd528de74 Mon Sep 17 00:00:00 2001 From: "Sarnie, Nick" Date: Fri, 20 Dec 2024 13:12:58 -0800 Subject: [PATCH 13/25] test Signed-off-by: Sarnie, Nick --- .github/workflows/sycl-linux-run-tests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/sycl-linux-run-tests.yml b/.github/workflows/sycl-linux-run-tests.yml index a2c9abcd89fc7..d0eac15a018c3 100644 --- a/.github/workflows/sycl-linux-run-tests.yml +++ b/.github/workflows/sycl-linux-run-tests.yml @@ -226,6 +226,7 @@ jobs: done <<< "$changed_envvars" - name: Source OneAPI TBB vars.sh + if: ${{ inputs.is_icx == 'false' }} shell: bash run: | # https://github.com/actions/runner/issues/1964 prevents us from using From c6f014aebf63e27754d34765bbdb4925d454d5ac Mon Sep 17 00:00:00 2001 From: "Sarnie, Nick" Date: Fri, 27 Dec 2024 10:23:09 -0800 Subject: [PATCH 14/25] test Signed-off-by: Sarnie, Nick --- .github/workflows/sycl-post-commit.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sycl-post-commit.yml b/.github/workflows/sycl-post-commit.yml index 46627eb3c9c4d..212fc5d4cc36c 100644 --- a/.github/workflows/sycl-post-commit.yml +++ b/.github/workflows/sycl-post-commit.yml @@ -36,7 +36,7 @@ jobs: build_cache_root: "/__w/llvm" build_cache_suffix: icx build_artifact_suffix: default - build_configure_extra_args: --no-assertions --hip --cuda --native_cpu --cmake-opt="-DSYCL_ENABLE_STACK_PRINTING=ON" --cmake-opt="-DSYCL_LIB_WITH_DEBUG_SYMBOL=ON" --cmake-opt="-DCOMPILER_RT_BUILD_SANITIZERS=Off" --cmake-opt="-DCOMPILER_RT_BUILD_MEMPROF=Off" + build_configure_extra_args: --no-assertions --hip --cuda --native_cpu --cmake-opt=-DSYCL_ENABLE_STACK_PRINTING=ON --cmake-opt=-DSYCL_LIB_WITH_DEBUG_SYMBOL=ON --cmake-opt=-DCOMPILER_RT_BUILD_SANITIZERS=Off --cmake-opt=-DCOMPILER_RT_BUILD_MEMPROF=Off merge_ref: '' cc: icx cxx: icpx From 1220a3da4d115a51c09b1b8fdd19663375fde5ba Mon Sep 17 00:00:00 2001 From: "Sarnie, Nick" Date: Fri, 27 Dec 2024 10:56:32 -0800 Subject: [PATCH 15/25] debug Signed-off-by: Sarnie, Nick --- .github/workflows/sycl-linux-run-tests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/sycl-linux-run-tests.yml b/.github/workflows/sycl-linux-run-tests.yml index d6d7198b8e2a6..dd94b290b035e 100644 --- a/.github/workflows/sycl-linux-run-tests.yml +++ b/.github/workflows/sycl-linux-run-tests.yml @@ -359,6 +359,7 @@ jobs: env: LIT_OPTS: -v --no-progress-bar --show-unsupported --show-pass --show-xfail --max-time 3600 --time-tests --param test-mode=${{ inputs.e2e_testing_mode }} --param sycl_devices=${{ inputs.target_devices }} ${{ inputs.extra_lit_opts }} run: | + sleep infinity ninja -C build-e2e check-sycl-e2e > e2e.log 2>&1 exit_code=$? cat e2e.log From 3a083eb8dda3f54069a047ebb699918b8b0836ff Mon Sep 17 00:00:00 2001 From: "Sarnie, Nick" Date: Fri, 27 Dec 2024 11:12:52 -0800 Subject: [PATCH 16/25] test Signed-off-by: Sarnie, Nick --- .github/workflows/sycl-linux-build.yml | 2 +- .github/workflows/sycl-linux-run-tests.yml | 1 - sycl/test-e2e/Basic/event_creation.cpp | 1 + 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/sycl-linux-build.yml b/.github/workflows/sycl-linux-build.yml index 085d326f68614..1ade9ee34a227 100644 --- a/.github/workflows/sycl-linux-build.yml +++ b/.github/workflows/sycl-linux-build.yml @@ -215,7 +215,7 @@ jobs: # TODO consider moving this to Dockerfile. export LD_LIBRARY_PATH=/usr/local/cuda/compat/:/usr/local/cuda/lib64:$LD_LIBRARY_PATH if [[ ${{inputs.cc}} == 'icx' ]] || [[ ${inputs.cxx}} == 'icpx' ]]; then - export LIT_XFAIL="abi/layout_vec.cpp;regression/host_tanpi_double_accuracy.cpp;self-contained-headers/sycl/ext/intel/fpga_lsu.hpp" + export LIT_XFAIL="regression/host_tanpi_double_accuracy.cpp" fi cmake --build $GITHUB_WORKSPACE/build --target check-sycl - name: check-sycl-unittests diff --git a/.github/workflows/sycl-linux-run-tests.yml b/.github/workflows/sycl-linux-run-tests.yml index dd94b290b035e..d6d7198b8e2a6 100644 --- a/.github/workflows/sycl-linux-run-tests.yml +++ b/.github/workflows/sycl-linux-run-tests.yml @@ -359,7 +359,6 @@ jobs: env: LIT_OPTS: -v --no-progress-bar --show-unsupported --show-pass --show-xfail --max-time 3600 --time-tests --param test-mode=${{ inputs.e2e_testing_mode }} --param sycl_devices=${{ inputs.target_devices }} ${{ inputs.extra_lit_opts }} run: | - sleep infinity ninja -C build-e2e check-sycl-e2e > e2e.log 2>&1 exit_code=$? cat e2e.log diff --git a/sycl/test-e2e/Basic/event_creation.cpp b/sycl/test-e2e/Basic/event_creation.cpp index cee86ebf93468..2f2280773ca45 100644 --- a/sycl/test-e2e/Basic/event_creation.cpp +++ b/sycl/test-e2e/Basic/event_creation.cpp @@ -2,6 +2,7 @@ // RUN: %{build} -o %t.out %opencl_lib // RUN: %{run} %t.out +// RUN: sleep infinity //==--------------- event.cpp - SYCL event test ----------------------------==// // From 6d3f220ec1bd965afbae11fe5897fe4e2acfc621 Mon Sep 17 00:00:00 2001 From: "Sarnie, Nick" Date: Fri, 27 Dec 2024 12:43:20 -0800 Subject: [PATCH 17/25] hack Signed-off-by: Sarnie, Nick --- .github/workflows/sycl-linux-run-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sycl-linux-run-tests.yml b/.github/workflows/sycl-linux-run-tests.yml index d6d7198b8e2a6..bd01a23a99e6e 100644 --- a/.github/workflows/sycl-linux-run-tests.yml +++ b/.github/workflows/sycl-linux-run-tests.yml @@ -255,7 +255,7 @@ jobs: while IFS= read -r line; do echo "$line" >> $GITHUB_ENV done <<< "$changed_envvars" - + sudo rm /opt/intel/oneapi/compiler/2025.0/lib/libsycl.so - name: Source OneAPI TBB vars.sh if: ${{ inputs.is_icx == 'false' }} shell: bash From 3a9455416ffca3d816a5888f9cdc8f241e4e1bc4 Mon Sep 17 00:00:00 2001 From: "Sarnie, Nick" Date: Fri, 27 Dec 2024 12:44:05 -0800 Subject: [PATCH 18/25] remove Signed-off-by: Sarnie, Nick --- sycl/test-e2e/Basic/event_creation.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/sycl/test-e2e/Basic/event_creation.cpp b/sycl/test-e2e/Basic/event_creation.cpp index 2f2280773ca45..cee86ebf93468 100644 --- a/sycl/test-e2e/Basic/event_creation.cpp +++ b/sycl/test-e2e/Basic/event_creation.cpp @@ -2,7 +2,6 @@ // RUN: %{build} -o %t.out %opencl_lib // RUN: %{run} %t.out -// RUN: sleep infinity //==--------------- event.cpp - SYCL event test ----------------------------==// // From c76db8a9da905417dfaa4119897f40e5705d6abc Mon Sep 17 00:00:00 2001 From: "Sarnie, Nick" Date: Fri, 27 Dec 2024 13:23:01 -0800 Subject: [PATCH 19/25] try Signed-off-by: Sarnie, Nick --- .github/workflows/sycl-linux-build.yml | 14 +-------- .github/workflows/sycl-linux-run-tests.yml | 30 +++++-------------- .github/workflows/sycl-post-commit.yml | 1 - .../actions/setup_linux_oneapi_env/action.yml | 22 ++++++++++++++ .../ubuntu2404_build_oneapi.Dockerfile | 22 -------------- 5 files changed, 31 insertions(+), 58 deletions(-) create mode 100644 devops/actions/setup_linux_oneapi_env/action.yml delete mode 100644 devops/containers/ubuntu2404_build_oneapi.Dockerfile diff --git a/.github/workflows/sycl-linux-build.yml b/.github/workflows/sycl-linux-build.yml index 1ade9ee34a227..3b5b4bb04db5a 100644 --- a/.github/workflows/sycl-linux-build.yml +++ b/.github/workflows/sycl-linux-build.yml @@ -161,19 +161,7 @@ jobs: cache_path: "/__w/repo_cache/" - name: Setup oneAPI env if: ${{ inputs.cc == 'icx' || inputs.cxx == 'icpx' }} - run: | - env_before=$(env | sort) - - source /opt/intel/oneapi/setvars.sh - - env_after=$(env | sort) - - changed_envvars=$(comm -13 <(echo "$env_before") <(echo "$env_after")) - - while IFS= read -r line; do - echo "$line" >> $GITHUB_ENV - done <<< "$changed_envvars" - + uses: ./devops/actions/setup_linux_oneapi_env - name: Configure env: CC: ${{ inputs.cc }} diff --git a/.github/workflows/sycl-linux-run-tests.yml b/.github/workflows/sycl-linux-run-tests.yml index bd01a23a99e6e..5a278f4ee8698 100644 --- a/.github/workflows/sycl-linux-run-tests.yml +++ b/.github/workflows/sycl-linux-run-tests.yml @@ -222,8 +222,7 @@ jobs: - name: SYCL CTS GIT submodules init if: inputs.tests_selector == 'cts' run: | - git -C khronos_sycl_cts submodule update --init - + git -C khronos_sycl_cts submodule update --init - name: Install drivers if: inputs.install_igc_driver == 'true' || inputs.install_dev_igc_driver == 'true' env: @@ -236,26 +235,7 @@ jobs: sudo -E bash devops/scripts/install_drivers.sh llvm/devops/dependencies.json ${{ inputs.install_dev_igc_driver == 'true' && 'llvm/devops/dependencies-igc-dev.json --use-dev-igc' || '' }} --all - name: Setup oneAPI env if: ${{ inputs.is_icx == 'true' }} - shell: bash - run: | - sudo apt-get --fix-broken -y install - wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor \ - | sudo tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null && \ - sudo echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" \ - | sudo tee /etc/apt/sources.list.d/oneAPI.list && \ - sudo apt update && sudo apt-get -y install intel-oneapi-compiler-dpcpp-cpp - env_before=$(env | sort) - - source /opt/intel/oneapi/setvars.sh - - env_after=$(env | sort) - - changed_envvars=$(comm -13 <(echo "$env_before") <(echo "$env_after")) - - while IFS= read -r line; do - echo "$line" >> $GITHUB_ENV - done <<< "$changed_envvars" - sudo rm /opt/intel/oneapi/compiler/2025.0/lib/libsycl.so + uses: ./devops/actions/setup_linux_oneapi_env - name: Source OneAPI TBB vars.sh if: ${{ inputs.is_icx == 'false' }} shell: bash @@ -359,12 +339,18 @@ jobs: env: LIT_OPTS: -v --no-progress-bar --show-unsupported --show-pass --show-xfail --max-time 3600 --time-tests --param test-mode=${{ inputs.e2e_testing_mode }} --param sycl_devices=${{ inputs.target_devices }} ${{ inputs.extra_lit_opts }} run: | + if [ ${{ inputs.is_icx }} == 'true' ]; + sudo mv /opt/intel/oneapi/compiler/2025.0/lib/libsycl.so /opt/intel/oneapi/compiler/2025.0/lib/libsycl.so.bak + fi ninja -C build-e2e check-sycl-e2e > e2e.log 2>&1 exit_code=$? cat e2e.log if [ $exit_code -ne 0 ]; then awk '/^Failed Tests|Unexpectedly Passed Tests|Unresolved tests|Testing Time/{flag=1}/FAILED: CMakeFiles/{flag=0}flag' e2e.log >> $GITHUB_STEP_SUMMARY fi + if [ ${{ inputs.is_icx }} == 'true' ]; + sudo mv /opt/intel/oneapi/compiler/2025.0/lib/libsycl.so.bak /opt/intel/oneapi/compiler/2025.0/lib/libsycl.so + fi exit $exit_code - name: Build SYCL CTS tests if: inputs.tests_selector == 'cts' diff --git a/.github/workflows/sycl-post-commit.yml b/.github/workflows/sycl-post-commit.yml index 212fc5d4cc36c..923eff01100af 100644 --- a/.github/workflows/sycl-post-commit.yml +++ b/.github/workflows/sycl-post-commit.yml @@ -32,7 +32,6 @@ jobs: if: github.repository == 'intel/llvm' uses: ./.github/workflows/sycl-linux-build.yml with: - build_image: "ghcr.io/intel/llvm/ubuntu2404_build_oneapi:latest" build_cache_root: "/__w/llvm" build_cache_suffix: icx build_artifact_suffix: default diff --git a/devops/actions/setup_linux_oneapi_env/action.yml b/devops/actions/setup_linux_oneapi_env/action.yml new file mode 100644 index 0000000000000..aa344ee9e19a8 --- /dev/null +++ b/devops/actions/setup_linux_oneapi_env/action.yml @@ -0,0 +1,22 @@ +name: Linux setup oneAPI env + +runs: + using: "composite" + steps: + - name: Setup oneAPI env + shell: bash + run: | + sudo apt-get --fix-broken -y install + wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor \ + | sudo tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null && \ + sudo echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" \ + | sudo tee /etc/apt/sources.list.d/oneAPI.list && \ + sudo apt update && sudo apt-get -y install intel-oneapi-compiler-dpcpp-cpp-2025.0 + + env_before=$(env | sort) + source /opt/intel/oneapi/setvars.sh + env_after=$(env | sort) + changed_envvars=$(comm -13 <(echo "$env_before") <(echo "$env_after")) + while IFS= read -r line; do + echo "$line" >> $GITHUB_ENV + done <<< "$changed_envvars" \ No newline at end of file diff --git a/devops/containers/ubuntu2404_build_oneapi.Dockerfile b/devops/containers/ubuntu2404_build_oneapi.Dockerfile deleted file mode 100644 index 8eb4950f6f894..0000000000000 --- a/devops/containers/ubuntu2404_build_oneapi.Dockerfile +++ /dev/null @@ -1,22 +0,0 @@ -FROM ghcr.io/intel/llvm/ubuntu2404_build - -ENV DEBIAN_FRONTEND=noninteractive - -USER root - -# Install oneAPI - -RUN wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor \ -| tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null && \ -echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" \ -| tee /etc/apt/sources.list.d/oneAPI.list - -# Install the ROCM kernel driver and oneAPI -RUN apt update && apt install -yqq intel-oneapi-compiler-dpcpp-cpp-2025.0 && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* - -USER sycl - -ENTRYPOINT ["/docker_entrypoint.sh"] - From 213131349a2f5a424f5eed221be013aa937fca24 Mon Sep 17 00:00:00 2001 From: "Sarnie, Nick" Date: Fri, 27 Dec 2024 13:25:40 -0800 Subject: [PATCH 20/25] fix Signed-off-by: Sarnie, Nick --- .github/workflows/sycl-containers.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/sycl-containers.yaml b/.github/workflows/sycl-containers.yaml index 82e9665486250..4c07a978e02fa 100644 --- a/.github/workflows/sycl-containers.yaml +++ b/.github/workflows/sycl-containers.yaml @@ -51,10 +51,6 @@ jobs: file: ubuntu2404_build tag: latest build_args: "" - - name: Build Ubuntu 24.04 oneAPI Docker image - file: ubuntu2404_build_oneapi - tag: latest - build_args: "" - name: Intel Drivers Ubuntu 22.04 Docker image file: ubuntu2204_intel_drivers tag: latest From 645b8b0c39eb3f4b9ca6de6b5e08dbf4d52ebca5 Mon Sep 17 00:00:00 2001 From: "Sarnie, Nick" Date: Fri, 27 Dec 2024 13:31:27 -0800 Subject: [PATCH 21/25] wat Signed-off-by: Sarnie, Nick --- .github/workflows/sycl-linux-build.yml | 1 - .github/workflows/sycl-linux-run-tests.yml | 4 +++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/sycl-linux-build.yml b/.github/workflows/sycl-linux-build.yml index 3b5b4bb04db5a..e65186d5b604c 100644 --- a/.github/workflows/sycl-linux-build.yml +++ b/.github/workflows/sycl-linux-build.yml @@ -187,7 +187,6 @@ jobs: if: always() && !cancelled() && contains(inputs.changes, 'llvm') run: | if [[ ${{inputs.cc}} == 'icx' ]] || [[ ${inputs.cxx}} == 'icpx' ]]; then - export LIT_FILTER="SYCL" fi cmake --build $GITHUB_WORKSPACE/build --target check-llvm diff --git a/.github/workflows/sycl-linux-run-tests.yml b/.github/workflows/sycl-linux-run-tests.yml index 5a278f4ee8698..449dd8e488bb8 100644 --- a/.github/workflows/sycl-linux-run-tests.yml +++ b/.github/workflows/sycl-linux-run-tests.yml @@ -222,7 +222,7 @@ jobs: - name: SYCL CTS GIT submodules init if: inputs.tests_selector == 'cts' run: | - git -C khronos_sycl_cts submodule update --init + git -C khronos_sycl_cts submodule update --init - name: Install drivers if: inputs.install_igc_driver == 'true' || inputs.install_dev_igc_driver == 'true' env: @@ -339,6 +339,8 @@ jobs: env: LIT_OPTS: -v --no-progress-bar --show-unsupported --show-pass --show-xfail --max-time 3600 --time-tests --param test-mode=${{ inputs.e2e_testing_mode }} --param sycl_devices=${{ inputs.target_devices }} ${{ inputs.extra_lit_opts }} run: | + # When building with oneAPI, the oneAPI libsycl is found before the newly compiled one and the search order + # can't be changed by environment variables, so just rename it temporarily. if [ ${{ inputs.is_icx }} == 'true' ]; sudo mv /opt/intel/oneapi/compiler/2025.0/lib/libsycl.so /opt/intel/oneapi/compiler/2025.0/lib/libsycl.so.bak fi From def7334bd03fb23c3422c77da5a449ee1dd7f5d6 Mon Sep 17 00:00:00 2001 From: "Sarnie, Nick" Date: Fri, 27 Dec 2024 13:42:46 -0800 Subject: [PATCH 22/25] fix Signed-off-by: Sarnie, Nick --- .github/workflows/sycl-linux-run-tests.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/sycl-linux-run-tests.yml b/.github/workflows/sycl-linux-run-tests.yml index 449dd8e488bb8..360e803610477 100644 --- a/.github/workflows/sycl-linux-run-tests.yml +++ b/.github/workflows/sycl-linux-run-tests.yml @@ -341,7 +341,7 @@ jobs: run: | # When building with oneAPI, the oneAPI libsycl is found before the newly compiled one and the search order # can't be changed by environment variables, so just rename it temporarily. - if [ ${{ inputs.is_icx }} == 'true' ]; + if [ ${{ inputs.is_icx }} == 'true' ]; then sudo mv /opt/intel/oneapi/compiler/2025.0/lib/libsycl.so /opt/intel/oneapi/compiler/2025.0/lib/libsycl.so.bak fi ninja -C build-e2e check-sycl-e2e > e2e.log 2>&1 @@ -350,7 +350,7 @@ jobs: if [ $exit_code -ne 0 ]; then awk '/^Failed Tests|Unexpectedly Passed Tests|Unresolved tests|Testing Time/{flag=1}/FAILED: CMakeFiles/{flag=0}flag' e2e.log >> $GITHUB_STEP_SUMMARY fi - if [ ${{ inputs.is_icx }} == 'true' ]; + if [ ${{ inputs.is_icx }} == 'true' ]; then sudo mv /opt/intel/oneapi/compiler/2025.0/lib/libsycl.so.bak /opt/intel/oneapi/compiler/2025.0/lib/libsycl.so fi exit $exit_code From 3901ed3f61d3ec8ad82c61259b13ce176a1fbc1e Mon Sep 17 00:00:00 2001 From: "Sarnie, Nick" Date: Fri, 27 Dec 2024 14:23:38 -0800 Subject: [PATCH 23/25] maybe Signed-off-by: Sarnie, Nick --- .github/workflows/sycl-windows-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sycl-windows-build.yml b/.github/workflows/sycl-windows-build.yml index 532bfb4462456..0160497326dc7 100644 --- a/.github/workflows/sycl-windows-build.yml +++ b/.github/workflows/sycl-windows-build.yml @@ -142,7 +142,7 @@ jobs: shell: bash run: | if [[ ${{inputs.compiler}} == 'icx' ]]; then - export LIT_XFAIL="regression/host_tanpi_double_accuracy.cpp" + export LIT_XFAIL="regression\host_tanpi_double_accuracy.cpp" fi cmake --build build --target check-sycl - name: check-sycl-unittests From 172182ae0a1ff8ade0a9df7af2baa444c1b0c2aa Mon Sep 17 00:00:00 2001 From: "Sarnie, Nick" Date: Mon, 13 Jan 2025 09:03:19 -0800 Subject: [PATCH 24/25] test Signed-off-by: Sarnie, Nick --- .github/workflows/sycl-linux-build.yml | 2 +- .github/workflows/sycl-post-commit.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/sycl-linux-build.yml b/.github/workflows/sycl-linux-build.yml index 9d309315e690c..f5612acf4476d 100644 --- a/.github/workflows/sycl-linux-build.yml +++ b/.github/workflows/sycl-linux-build.yml @@ -183,7 +183,7 @@ jobs: if: always() && !cancelled() && contains(inputs.changes, 'llvm') run: | if [[ ${{inputs.cc}} == 'icx' ]] || [[ ${inputs.cxx}} == 'icpx' ]]; then - export LIT_FILTER="SYCL" + #export LIT_FILTER="SYCL" fi cmake --build $GITHUB_WORKSPACE/build --target check-llvm - name: check-clang diff --git a/.github/workflows/sycl-post-commit.yml b/.github/workflows/sycl-post-commit.yml index 74df69ece3686..609fb7601e3b4 100644 --- a/.github/workflows/sycl-post-commit.yml +++ b/.github/workflows/sycl-post-commit.yml @@ -42,7 +42,7 @@ jobs: e2e-lin: needs: [build-lin] - if: ${{ always() && !cancelled() }} + if: ${{ always() && !cancelled() && needs.build-lin.outputs.build_conclusion == 'success' }} strategy: fail-fast: false matrix: From 2782a5f8f32117213d418deacb39da4513b2fca1 Mon Sep 17 00:00:00 2001 From: "Sarnie, Nick" Date: Mon, 13 Jan 2025 11:15:42 -0800 Subject: [PATCH 25/25] test Signed-off-by: Sarnie, Nick --- .github/workflows/sycl-linux-build.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/sycl-linux-build.yml b/.github/workflows/sycl-linux-build.yml index f5612acf4476d..915086f9f98a8 100644 --- a/.github/workflows/sycl-linux-build.yml +++ b/.github/workflows/sycl-linux-build.yml @@ -181,10 +181,7 @@ jobs: run: cmake --build $GITHUB_WORKSPACE/build - name: check-llvm if: always() && !cancelled() && contains(inputs.changes, 'llvm') - run: | - if [[ ${{inputs.cc}} == 'icx' ]] || [[ ${inputs.cxx}} == 'icpx' ]]; then - #export LIT_FILTER="SYCL" - fi + run: | cmake --build $GITHUB_WORKSPACE/build --target check-llvm - name: check-clang if: always() && !cancelled() && contains(inputs.changes, 'clang')