From 2294de7c758b06b584127702c431279dfae29880 Mon Sep 17 00:00:00 2001 From: "Agarwal, Udit" Date: Wed, 28 Feb 2024 14:50:58 -0800 Subject: [PATCH 01/25] Enable check-sycl-unittests in CI --- .github/workflows/sycl-linux-build.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/sycl-linux-build.yml b/.github/workflows/sycl-linux-build.yml index 6c64e0c56c409..75f34f1b60f73 100644 --- a/.github/workflows/sycl-linux-build.yml +++ b/.github/workflows/sycl-linux-build.yml @@ -186,6 +186,12 @@ jobs: # TODO consider moving this to Dockerfile. export LD_LIBRARY_PATH=/usr/local/cuda/compat/:/usr/local/cuda/lib64:$LD_LIBRARY_PATH cmake --build $GITHUB_WORKSPACE/build --target check-sycl + - name: check-sycl-unittests + if: always() && !cancelled() && contains(inputs.changes, 'sycl') + run: | + # TODO consider moving this to Dockerfile. + # export LD_LIBRARY_PATH=/usr/local/cuda/compat/:/usr/local/cuda/lib64:$LD_LIBRARY_PATH + cmake --build $GITHUB_WORKSPACE/build --target check-sycl-unittests - name: check-llvm-spirv if: always() && !cancelled() && contains(inputs.changes, 'llvm_spirv') run: | From 3c94b4392014732e735e5127d2e2c10e7f040fa3 Mon Sep 17 00:00:00 2001 From: "Agarwal, Udit" Date: Thu, 29 Feb 2024 12:49:09 -0800 Subject: [PATCH 02/25] Print debug stats --- .github/workflows/sycl-linux-build.yml | 33 ++++++++++++++------------ 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/.github/workflows/sycl-linux-build.yml b/.github/workflows/sycl-linux-build.yml index 75f34f1b60f73..6246c97a21daf 100644 --- a/.github/workflows/sycl-linux-build.yml +++ b/.github/workflows/sycl-linux-build.yml @@ -170,27 +170,30 @@ jobs: - name: Compile id: build run: cmake --build $GITHUB_WORKSPACE/build - - name: check-llvm - if: always() && !cancelled() && contains(inputs.changes, 'llvm') - run: | - cmake --build $GITHUB_WORKSPACE/build --target check-llvm - - name: check-clang - if: always() && !cancelled() && contains(inputs.changes, 'clang') - run: | + #- name: check-llvm + #if: always() && !cancelled() && contains(inputs.changes, 'llvm') + #run: | + #cmake --build $GITHUB_WORKSPACE/build --target check-llvm + #- name: check-clang + #if: always() && !cancelled() && contains(inputs.changes, 'clang') + #run: | # Can we move this to Dockerfile? Hopefully, noop on Windows. - export XDG_CACHE_HOME=$GITHUB_WORKSPACE/os_cache - cmake --build $GITHUB_WORKSPACE/build --target check-clang - - name: check-sycl - if: always() && !cancelled() && contains(inputs.changes, 'sycl') - run: | + #export XDG_CACHE_HOME=$GITHUB_WORKSPACE/os_cache + #cmake --build $GITHUB_WORKSPACE/build --target check-clang + #- name: check-sycl + #if: always() && !cancelled() && contains(inputs.changes, 'sycl') + #run: | # TODO consider moving this to Dockerfile. - export LD_LIBRARY_PATH=/usr/local/cuda/compat/:/usr/local/cuda/lib64:$LD_LIBRARY_PATH - cmake --build $GITHUB_WORKSPACE/build --target check-sycl + #export LD_LIBRARY_PATH=/usr/local/cuda/compat/:/usr/local/cuda/lib64:$LD_LIBRARY_PATH + # cmake --build $GITHUB_WORKSPACE/build --target check-sycl - name: check-sycl-unittests if: always() && !cancelled() && contains(inputs.changes, 'sycl') run: | # TODO consider moving this to Dockerfile. - # export LD_LIBRARY_PATH=/usr/local/cuda/compat/:/usr/local/cuda/lib64:$LD_LIBRARY_PATH + export LD_LIBRARY_PATH=/usr/local/cuda/compat/:/usr/local/cuda/lib64:$LD_LIBRARY_PATH + echo $PATH + echo $LD_LIBRARY_PATH + ldd $(which sycl-ls) cmake --build $GITHUB_WORKSPACE/build --target check-sycl-unittests - name: check-llvm-spirv if: always() && !cancelled() && contains(inputs.changes, 'llvm_spirv') From 3428ee31178a5c16d41c579c2ebb06d5819b9521 Mon Sep 17 00:00:00 2001 From: "Agarwal, Udit" Date: Thu, 29 Feb 2024 13:56:45 -0800 Subject: [PATCH 03/25] Install --- .github/workflows/sycl-linux-build.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/sycl-linux-build.yml b/.github/workflows/sycl-linux-build.yml index 6246c97a21daf..44412f00f68d7 100644 --- a/.github/workflows/sycl-linux-build.yml +++ b/.github/workflows/sycl-linux-build.yml @@ -169,7 +169,9 @@ jobs: --cmake-opt="-DSYCL_PI_TESTS=OFF" - name: Compile id: build - run: cmake --build $GITHUB_WORKSPACE/build + run: | + cmake --build $GITHUB_WORKSPACE/build + cmake --build $GITHUB_WORKSPACE/build --target install #- name: check-llvm #if: always() && !cancelled() && contains(inputs.changes, 'llvm') #run: | From f7c1fa5890f6a4296b781321b4fe2e6f4d596747 Mon Sep 17 00:00:00 2001 From: "Agarwal, Udit" Date: Thu, 29 Feb 2024 14:13:24 -0800 Subject: [PATCH 04/25] Add to env vars --- .github/workflows/sycl-linux-build.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/sycl-linux-build.yml b/.github/workflows/sycl-linux-build.yml index 44412f00f68d7..2405dbc5a3723 100644 --- a/.github/workflows/sycl-linux-build.yml +++ b/.github/workflows/sycl-linux-build.yml @@ -171,7 +171,6 @@ jobs: id: build run: | cmake --build $GITHUB_WORKSPACE/build - cmake --build $GITHUB_WORKSPACE/build --target install #- name: check-llvm #if: always() && !cancelled() && contains(inputs.changes, 'llvm') #run: | @@ -193,6 +192,8 @@ jobs: run: | # TODO consider moving this to Dockerfile. export LD_LIBRARY_PATH=/usr/local/cuda/compat/:/usr/local/cuda/lib64:$LD_LIBRARY_PATH + export PATH=$GITHUB_WORKSPACE/build/bin:$PATH + export LD_LIBRARY_PATH=$GITHUB_WORKSPACE/build/lib:$LD_LIBRARY_PATH echo $PATH echo $LD_LIBRARY_PATH ldd $(which sycl-ls) From e7e93e4b19fcf64359ab4c08f19ed4fe066dae21 Mon Sep 17 00:00:00 2001 From: "Agarwal, Udit" Date: Mon, 4 Mar 2024 11:04:30 -0800 Subject: [PATCH 05/25] Fix --- .github/workflows/sycl-linux-build.yml | 39 ++++++++++++-------------- 1 file changed, 18 insertions(+), 21 deletions(-) diff --git a/.github/workflows/sycl-linux-build.yml b/.github/workflows/sycl-linux-build.yml index 2405dbc5a3723..3e30a8ef6e556 100644 --- a/.github/workflows/sycl-linux-build.yml +++ b/.github/workflows/sycl-linux-build.yml @@ -171,32 +171,29 @@ jobs: id: build run: | cmake --build $GITHUB_WORKSPACE/build - #- name: check-llvm - #if: always() && !cancelled() && contains(inputs.changes, 'llvm') - #run: | - #cmake --build $GITHUB_WORKSPACE/build --target check-llvm - #- name: check-clang - #if: always() && !cancelled() && contains(inputs.changes, 'clang') - #run: | - # Can we move this to Dockerfile? Hopefully, noop on Windows. - #export XDG_CACHE_HOME=$GITHUB_WORKSPACE/os_cache - #cmake --build $GITHUB_WORKSPACE/build --target check-clang - #- name: check-sycl - #if: always() && !cancelled() && contains(inputs.changes, 'sycl') - #run: | - # TODO consider moving this to Dockerfile. - #export LD_LIBRARY_PATH=/usr/local/cuda/compat/:/usr/local/cuda/lib64:$LD_LIBRARY_PATH - # cmake --build $GITHUB_WORKSPACE/build --target check-sycl + # - name: check-llvm + # if: always() && !cancelled() && contains(inputs.changes, 'llvm') + # run: | + # cmake --build $GITHUB_WORKSPACE/build --target check-llvm + # - name: check-clang + # if: always() && !cancelled() && contains(inputs.changes, 'clang') + # run: | + # Can we move this to Dockerfile? Hopefully, noop on Windows. + # export XDG_CACHE_HOME=$GITHUB_WORKSPACE/os_cache + # cmake --build $GITHUB_WORKSPACE/build --target check-clang + # - name: check-sycl + # if: always() && !cancelled() && contains(inputs.changes, 'sycl') + # run: | + # TODO consider moving this to Dockerfile. + # export LD_LIBRARY_PATH=/usr/local/cuda/compat/:/usr/local/cuda/lib64:$LD_LIBRARY_PATH + # cmake --build $GITHUB_WORKSPACE/build --target check-sycl - name: check-sycl-unittests if: always() && !cancelled() && contains(inputs.changes, 'sycl') run: | - # TODO consider moving this to Dockerfile. export LD_LIBRARY_PATH=/usr/local/cuda/compat/:/usr/local/cuda/lib64:$LD_LIBRARY_PATH - export PATH=$GITHUB_WORKSPACE/build/bin:$PATH + # TODO consider moving this to Dockerfile. export LD_LIBRARY_PATH=$GITHUB_WORKSPACE/build/lib:$LD_LIBRARY_PATH - echo $PATH - echo $LD_LIBRARY_PATH - ldd $(which sycl-ls) + export PATH=$GITHUB_WORKSPACE/build/bin:$PATH cmake --build $GITHUB_WORKSPACE/build --target check-sycl-unittests - name: check-llvm-spirv if: always() && !cancelled() && contains(inputs.changes, 'llvm_spirv') From 4141f31d71aa476212a8388b9e9cf3997c4b17b0 Mon Sep 17 00:00:00 2001 From: "Agarwal, Udit" Date: Tue, 5 Mar 2024 08:48:36 -0800 Subject: [PATCH 06/25] Disable failing unittest --- sycl/unittests/xpti_trace/QueueIDCheck.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sycl/unittests/xpti_trace/QueueIDCheck.cpp b/sycl/unittests/xpti_trace/QueueIDCheck.cpp index c57c7091c1fe9..e6d35b8a53431 100644 --- a/sycl/unittests/xpti_trace/QueueIDCheck.cpp +++ b/sycl/unittests/xpti_trace/QueueIDCheck.cpp @@ -136,7 +136,7 @@ TEST_F(QueueID, QueueCreationAndKernelWithDeps) { checkTaskBeginEnd(QueueIDSTr); } -TEST_F(QueueID, QueueCreationUSMOperations) { +TEST_F(QueueID, DISABLED_QueueCreationUSMOperations) { sycl::queue Q0; auto Queue0ImplPtr = sycl::detail::getSyclObjImpl(Q0); auto QueueIDSTr = std::to_string(Queue0ImplPtr->getQueueID()); From cdd8d731030a6e81bc0f452dce340d5e82d012c2 Mon Sep 17 00:00:00 2001 From: "Agarwal, Udit" Date: Tue, 5 Mar 2024 08:59:19 -0800 Subject: [PATCH 07/25] Enable on windows. --- .github/workflows/sycl-linux-build.yml | 32 ++++++++++++------------ .github/workflows/sycl-windows-build.yml | 4 +++ 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/.github/workflows/sycl-linux-build.yml b/.github/workflows/sycl-linux-build.yml index 3e30a8ef6e556..1149d93821160 100644 --- a/.github/workflows/sycl-linux-build.yml +++ b/.github/workflows/sycl-linux-build.yml @@ -171,22 +171,22 @@ jobs: id: build run: | cmake --build $GITHUB_WORKSPACE/build - # - name: check-llvm - # if: always() && !cancelled() && contains(inputs.changes, 'llvm') - # run: | - # cmake --build $GITHUB_WORKSPACE/build --target check-llvm - # - name: check-clang - # if: always() && !cancelled() && contains(inputs.changes, 'clang') - # run: | - # Can we move this to Dockerfile? Hopefully, noop on Windows. - # export XDG_CACHE_HOME=$GITHUB_WORKSPACE/os_cache - # cmake --build $GITHUB_WORKSPACE/build --target check-clang - # - name: check-sycl - # if: always() && !cancelled() && contains(inputs.changes, 'sycl') - # run: | - # TODO consider moving this to Dockerfile. - # export LD_LIBRARY_PATH=/usr/local/cuda/compat/:/usr/local/cuda/lib64:$LD_LIBRARY_PATH - # cmake --build $GITHUB_WORKSPACE/build --target check-sycl + - name: check-llvm + if: always() && !cancelled() && contains(inputs.changes, 'llvm') + run: | + cmake --build $GITHUB_WORKSPACE/build --target check-llvm + - name: check-clang + if: always() && !cancelled() && contains(inputs.changes, 'clang') + run: | + Can we move this to Dockerfile? Hopefully, noop on Windows. + export XDG_CACHE_HOME=$GITHUB_WORKSPACE/os_cache + cmake --build $GITHUB_WORKSPACE/build --target check-clang + - name: check-sycl + if: always() && !cancelled() && contains(inputs.changes, 'sycl') + run: | + TODO consider moving this to Dockerfile. + export LD_LIBRARY_PATH=/usr/local/cuda/compat/:/usr/local/cuda/lib64:$LD_LIBRARY_PATH + cmake --build $GITHUB_WORKSPACE/build --target check-sycl - name: check-sycl-unittests if: always() && !cancelled() && contains(inputs.changes, 'sycl') run: | diff --git a/.github/workflows/sycl-windows-build.yml b/.github/workflows/sycl-windows-build.yml index 64e62b7ef58fd..47014318c16de 100644 --- a/.github/workflows/sycl-windows-build.yml +++ b/.github/workflows/sycl-windows-build.yml @@ -109,6 +109,10 @@ jobs: if: always() && !cancelled() && contains(inputs.changes, 'sycl') run: | cmake --build build --target check-sycl + - name: check-sycl-unittests + if: always() && !cancelled() && contains(inputs.changes, 'sycl') + run: | + cmake --build build --target check-sycl-unittests - name: check-llvm-spirv if: always() && !cancelled() && contains(inputs.changes, 'llvm_spirv') run: | From bbe4266bd0fa44f186256981d48c272bd1ea6bc1 Mon Sep 17 00:00:00 2001 From: "Agarwal, Udit" Date: Tue, 5 Mar 2024 09:02:36 -0800 Subject: [PATCH 08/25] Fix typo --- .github/workflows/sycl-linux-build.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/sycl-linux-build.yml b/.github/workflows/sycl-linux-build.yml index 1149d93821160..0cce998a2883e 100644 --- a/.github/workflows/sycl-linux-build.yml +++ b/.github/workflows/sycl-linux-build.yml @@ -169,8 +169,7 @@ jobs: --cmake-opt="-DSYCL_PI_TESTS=OFF" - name: Compile id: build - run: | - cmake --build $GITHUB_WORKSPACE/build + run: cmake --build $GITHUB_WORKSPACE/build - name: check-llvm if: always() && !cancelled() && contains(inputs.changes, 'llvm') run: | @@ -178,15 +177,15 @@ jobs: - name: check-clang if: always() && !cancelled() && contains(inputs.changes, 'clang') run: | - Can we move this to Dockerfile? Hopefully, noop on Windows. + # Can we move this to Dockerfile? Hopefully, noop on Windows. export XDG_CACHE_HOME=$GITHUB_WORKSPACE/os_cache cmake --build $GITHUB_WORKSPACE/build --target check-clang - name: check-sycl if: always() && !cancelled() && contains(inputs.changes, 'sycl') run: | - TODO consider moving this to Dockerfile. + # TODO consider moving this to Dockerfile. export LD_LIBRARY_PATH=/usr/local/cuda/compat/:/usr/local/cuda/lib64:$LD_LIBRARY_PATH - cmake --build $GITHUB_WORKSPACE/build --target check-sycl + cmake --build $GITHUB_WORKSPACE/build --target check-sycl - name: check-sycl-unittests if: always() && !cancelled() && contains(inputs.changes, 'sycl') run: | From 520d6458fe2c1a7447ecee70f1e425c248d08672 Mon Sep 17 00:00:00 2001 From: "Agarwal, Udit" Date: Thu, 7 Mar 2024 13:51:36 -0800 Subject: [PATCH 09/25] fix --- .github/workflows/sycl-windows-build.yml | 1 + sycl/cmake/modules/AddSYCLUnitTest.cmake | 33 +++++++++++++++++------- 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/.github/workflows/sycl-windows-build.yml b/.github/workflows/sycl-windows-build.yml index 47014318c16de..a8633058e1ace 100644 --- a/.github/workflows/sycl-windows-build.yml +++ b/.github/workflows/sycl-windows-build.yml @@ -112,6 +112,7 @@ jobs: - name: check-sycl-unittests if: always() && !cancelled() && contains(inputs.changes, 'sycl') run: | + cmake --version cmake --build build --target check-sycl-unittests - name: check-llvm-spirv if: always() && !cancelled() && contains(inputs.changes, 'llvm_spirv') diff --git a/sycl/cmake/modules/AddSYCLUnitTest.cmake b/sycl/cmake/modules/AddSYCLUnitTest.cmake index ea8135be0f09e..d763e765f0c7b 100644 --- a/sycl/cmake/modules/AddSYCLUnitTest.cmake +++ b/sycl/cmake/modules/AddSYCLUnitTest.cmake @@ -37,16 +37,29 @@ macro(add_sycl_unittest test_dirname link_variant) ) endif() - add_custom_target(check-sycl-${test_dirname} - ${CMAKE_COMMAND} -E env - LLVM_PROFILE_FILE="${SYCL_COVERAGE_PATH}/${test_dirname}.profraw" - env SYCL_CONFIG_FILE_NAME=null.cfg - env SYCL_DEVICELIB_NO_FALLBACK=1 - env SYCL_CACHE_DIR="${CMAKE_BINARY_DIR}/sycl_cache" - ${CMAKE_CURRENT_BINARY_DIR}/${test_dirname} - DEPENDS - ${test_dirname} - ) + if(WIN32) + add_custom_target(check-sycl-${test_dirname} + ${CMAKE_COMMAND} -E env + LLVM_PROFILE_FILE="${SYCL_COVERAGE_PATH}/${test_dirname}.profraw" + SYCL_CONFIG_FILE_NAME=null.cfg + SYCL_DEVICELIB_NO_FALLBACK=1 + SYCL_CACHE_DIR="${CMAKE_BINARY_DIR}/sycl_cache" + ${CMAKE_CURRENT_BINARY_DIR}/${test_dirname} + DEPENDS + ${test_dirname} + ) + else() + add_custom_target(check-sycl-${test_dirname} + ${CMAKE_COMMAND} -E env + LLVM_PROFILE_FILE="${SYCL_COVERAGE_PATH}/${test_dirname}.profraw" + env SYCL_CONFIG_FILE_NAME=null.cfg + env SYCL_DEVICELIB_NO_FALLBACK=1 + env SYCL_CACHE_DIR="${CMAKE_BINARY_DIR}/sycl_cache" + ${CMAKE_CURRENT_BINARY_DIR}/${test_dirname} + DEPENDS + ${test_dirname} + ) + endif() add_dependencies(check-sycl-unittests check-sycl-${test_dirname}) From c28e980dc8ec8a0fd0b22c3849ec7f9f7cfdd2af Mon Sep 17 00:00:00 2001 From: "Agarwal, Udit" Date: Thu, 7 Mar 2024 15:32:30 -0800 Subject: [PATCH 10/25] Add debug info --- .github/workflows/sycl-windows-build.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/sycl-windows-build.yml b/.github/workflows/sycl-windows-build.yml index a8633058e1ace..d3701358ac031 100644 --- a/.github/workflows/sycl-windows-build.yml +++ b/.github/workflows/sycl-windows-build.yml @@ -112,6 +112,8 @@ jobs: - name: check-sycl-unittests if: always() && !cancelled() && contains(inputs.changes, 'sycl') run: | + printenv + export PATH=$GITHUB_WORKSPACE\build\bin;PATH cmake --version cmake --build build --target check-sycl-unittests - name: check-llvm-spirv From 1015f8fd44ef17e8957694d94dedeee81123cacb Mon Sep 17 00:00:00 2001 From: "Agarwal, Udit" Date: Fri, 8 Mar 2024 09:06:26 -0800 Subject: [PATCH 11/25] fix --- .github/workflows/sycl-windows-build.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/sycl-windows-build.yml b/.github/workflows/sycl-windows-build.yml index d3701358ac031..24a377cdd8039 100644 --- a/.github/workflows/sycl-windows-build.yml +++ b/.github/workflows/sycl-windows-build.yml @@ -113,7 +113,8 @@ jobs: if: always() && !cancelled() && contains(inputs.changes, 'sycl') run: | printenv - export PATH=$GITHUB_WORKSPACE\build\bin;PATH + set PATH=%GITHUB_WORKSPACE%\build\bin;%PATH% + printenv cmake --version cmake --build build --target check-sycl-unittests - name: check-llvm-spirv From ae7c75456bc6bd78065fc7081d5feb25cc9f0202 Mon Sep 17 00:00:00 2001 From: "Agarwal, Udit" Date: Fri, 8 Mar 2024 10:13:15 -0800 Subject: [PATCH 12/25] Third time's the charm --- .github/workflows/sycl-windows-build.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/sycl-windows-build.yml b/.github/workflows/sycl-windows-build.yml index 24a377cdd8039..3610dff75175e 100644 --- a/.github/workflows/sycl-windows-build.yml +++ b/.github/workflows/sycl-windows-build.yml @@ -97,6 +97,7 @@ jobs: shell: bash run: | cmake --build build --target sycl-toolchain + echo "PATH=$env:GITHUB_WORKSPACE\\build\\bin;$env:PATH" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append - name: check-llvm if: always() && !cancelled() && contains(inputs.changes, 'llvm') run: | @@ -112,9 +113,6 @@ jobs: - name: check-sycl-unittests if: always() && !cancelled() && contains(inputs.changes, 'sycl') run: | - printenv - set PATH=%GITHUB_WORKSPACE%\build\bin;%PATH% - printenv cmake --version cmake --build build --target check-sycl-unittests - name: check-llvm-spirv From cfab312d6665823c8d3c4ad9b0dd55734a81669a Mon Sep 17 00:00:00 2001 From: "Agarwal, Udit" Date: Fri, 8 Mar 2024 10:32:43 -0800 Subject: [PATCH 13/25] Fourth time sucks! --- .github/workflows/sycl-windows-build.yml | 26 ++++++++++++------------ 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/sycl-windows-build.yml b/.github/workflows/sycl-windows-build.yml index 3610dff75175e..eec96568c4350 100644 --- a/.github/workflows/sycl-windows-build.yml +++ b/.github/workflows/sycl-windows-build.yml @@ -97,23 +97,23 @@ jobs: shell: bash run: | cmake --build build --target sycl-toolchain - echo "PATH=$env:GITHUB_WORKSPACE\\build\\bin;$env:PATH" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append - - name: check-llvm - if: always() && !cancelled() && contains(inputs.changes, 'llvm') - run: | - cmake --build build --target check-llvm - - name: check-clang - if: always() && !cancelled() && contains(inputs.changes, 'clang') - run: | - cmake --build build --target check-clang - - name: check-sycl - if: always() && !cancelled() && contains(inputs.changes, 'sycl') - run: | - cmake --build build --target check-sycl + # - name: check-llvm + # if: always() && !cancelled() && contains(inputs.changes, 'llvm') + # run: | + # cmake --build build --target check-llvm + # - name: check-clang + # if: always() && !cancelled() && contains(inputs.changes, 'clang') + # run: | + # cmake --build build --target check-clang + # - name: check-sycl + # if: always() && !cancelled() && contains(inputs.changes, 'sycl') + # run: | + # cmake --build build --target check-sycl - name: check-sycl-unittests if: always() && !cancelled() && contains(inputs.changes, 'sycl') run: | cmake --version + echo "PATH=$env:GITHUB_WORKSPACE\\build\\bin;$env:PATH" cmake --build build --target check-sycl-unittests - name: check-llvm-spirv if: always() && !cancelled() && contains(inputs.changes, 'llvm_spirv') From 691616b8bbd04cd138fcde96adf133fb379f21b1 Mon Sep 17 00:00:00 2001 From: "Agarwal, Udit" Date: Fri, 8 Mar 2024 11:16:47 -0800 Subject: [PATCH 14/25] print debug info --- .github/workflows/sycl-windows-build.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/sycl-windows-build.yml b/.github/workflows/sycl-windows-build.yml index eec96568c4350..a6c1b0359ff15 100644 --- a/.github/workflows/sycl-windows-build.yml +++ b/.github/workflows/sycl-windows-build.yml @@ -97,6 +97,9 @@ jobs: shell: bash run: | cmake --build build --target sycl-toolchain + - name: Setup SYCL toolchain + run: | + echo "PATH=$env:GITHUB_WORKSPACE\\build\\bin;$env:PATH" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append # - name: check-llvm # if: always() && !cancelled() && contains(inputs.changes, 'llvm') # run: | @@ -113,7 +116,9 @@ jobs: if: always() && !cancelled() && contains(inputs.changes, 'sycl') run: | cmake --version - echo "PATH=$env:GITHUB_WORKSPACE\\build\\bin;$env:PATH" + echo "PATH=$env:PATH" + echo "$PWD" + dir cmake --build build --target check-sycl-unittests - name: check-llvm-spirv if: always() && !cancelled() && contains(inputs.changes, 'llvm_spirv') From 001d56726671b5f39f33a76a4cf66dfeba089175 Mon Sep 17 00:00:00 2001 From: "Agarwal, Udit" Date: Fri, 8 Mar 2024 11:41:38 -0800 Subject: [PATCH 15/25] Fix formatting --- .github/workflows/sycl-linux-build.yml | 3 ++- .github/workflows/sycl-windows-build.yml | 29 +++++++++++------------- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/.github/workflows/sycl-linux-build.yml b/.github/workflows/sycl-linux-build.yml index 0cce998a2883e..d96a8d319f8c3 100644 --- a/.github/workflows/sycl-linux-build.yml +++ b/.github/workflows/sycl-linux-build.yml @@ -189,8 +189,9 @@ jobs: - name: check-sycl-unittests if: always() && !cancelled() && contains(inputs.changes, 'sycl') run: | - export LD_LIBRARY_PATH=/usr/local/cuda/compat/:/usr/local/cuda/lib64:$LD_LIBRARY_PATH # TODO consider moving this to Dockerfile. + export LD_LIBRARY_PATH=/usr/local/cuda/compat/:/usr/local/cuda/lib64:$LD_LIBRARY_PATH + export LD_LIBRARY_PATH=$GITHUB_WORKSPACE/build/lib:$LD_LIBRARY_PATH export PATH=$GITHUB_WORKSPACE/build/bin:$PATH cmake --build $GITHUB_WORKSPACE/build --target check-sycl-unittests diff --git a/.github/workflows/sycl-windows-build.yml b/.github/workflows/sycl-windows-build.yml index a6c1b0359ff15..3ce5834ed5951 100644 --- a/.github/workflows/sycl-windows-build.yml +++ b/.github/workflows/sycl-windows-build.yml @@ -99,26 +99,23 @@ jobs: cmake --build build --target sycl-toolchain - name: Setup SYCL toolchain run: | + # Need this for check-sycl-unittests. echo "PATH=$env:GITHUB_WORKSPACE\\build\\bin;$env:PATH" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append - # - name: check-llvm - # if: always() && !cancelled() && contains(inputs.changes, 'llvm') - # run: | - # cmake --build build --target check-llvm - # - name: check-clang - # if: always() && !cancelled() && contains(inputs.changes, 'clang') - # run: | - # cmake --build build --target check-clang - # - name: check-sycl - # if: always() && !cancelled() && contains(inputs.changes, 'sycl') - # run: | - # cmake --build build --target check-sycl + - name: check-llvm + if: always() && !cancelled() && contains(inputs.changes, 'llvm') + run: | + cmake --build build --target check-llvm + - name: check-clang + if: always() && !cancelled() && contains(inputs.changes, 'clang') + run: | + cmake --build build --target check-clang + - name: check-sycl + if: always() && !cancelled() && contains(inputs.changes, 'sycl') + run: | + cmake --build build --target check-sycl - name: check-sycl-unittests if: always() && !cancelled() && contains(inputs.changes, 'sycl') run: | - cmake --version - echo "PATH=$env:PATH" - echo "$PWD" - dir cmake --build build --target check-sycl-unittests - name: check-llvm-spirv if: always() && !cancelled() && contains(inputs.changes, 'llvm_spirv') From 85f388c025fb8ec0c29f2e347e2b301f2e7fa0de Mon Sep 17 00:00:00 2001 From: "Agarwal, Udit" Date: Fri, 8 Mar 2024 15:37:01 -0800 Subject: [PATCH 16/25] Cleanup --- sycl/cmake/modules/AddSYCLUnitTest.cmake | 35 ++++++++---------------- 1 file changed, 11 insertions(+), 24 deletions(-) diff --git a/sycl/cmake/modules/AddSYCLUnitTest.cmake b/sycl/cmake/modules/AddSYCLUnitTest.cmake index d763e765f0c7b..7bfa1fe2619e9 100644 --- a/sycl/cmake/modules/AddSYCLUnitTest.cmake +++ b/sycl/cmake/modules/AddSYCLUnitTest.cmake @@ -37,29 +37,16 @@ macro(add_sycl_unittest test_dirname link_variant) ) endif() - if(WIN32) - add_custom_target(check-sycl-${test_dirname} - ${CMAKE_COMMAND} -E env - LLVM_PROFILE_FILE="${SYCL_COVERAGE_PATH}/${test_dirname}.profraw" - SYCL_CONFIG_FILE_NAME=null.cfg - SYCL_DEVICELIB_NO_FALLBACK=1 - SYCL_CACHE_DIR="${CMAKE_BINARY_DIR}/sycl_cache" - ${CMAKE_CURRENT_BINARY_DIR}/${test_dirname} - DEPENDS - ${test_dirname} - ) - else() - add_custom_target(check-sycl-${test_dirname} - ${CMAKE_COMMAND} -E env - LLVM_PROFILE_FILE="${SYCL_COVERAGE_PATH}/${test_dirname}.profraw" - env SYCL_CONFIG_FILE_NAME=null.cfg - env SYCL_DEVICELIB_NO_FALLBACK=1 - env SYCL_CACHE_DIR="${CMAKE_BINARY_DIR}/sycl_cache" - ${CMAKE_CURRENT_BINARY_DIR}/${test_dirname} - DEPENDS - ${test_dirname} - ) - endif() + add_custom_target(check-sycl-${test_dirname} + ${CMAKE_COMMAND} -E env + LLVM_PROFILE_FILE="${SYCL_COVERAGE_PATH}/${test_dirname}.profraw" + SYCL_CONFIG_FILE_NAME=null.cfg + SYCL_DEVICELIB_NO_FALLBACK=1 + SYCL_CACHE_DIR="${CMAKE_BINARY_DIR}/sycl_cache" + ${CMAKE_CURRENT_BINARY_DIR}/${test_dirname} + DEPENDS + ${test_dirname} + ) add_dependencies(check-sycl-unittests check-sycl-${test_dirname}) @@ -73,7 +60,7 @@ macro(add_sycl_unittest test_dirname link_variant) if(SYCL_ENABLE_KERNEL_FUSION) target_link_libraries(${test_dirname} PRIVATE sycl-fusion) endif(SYCL_ENABLE_KERNEL_FUSION) - + target_include_directories(${test_dirname} PRIVATE SYSTEM ${sycl_inc_dir} From 6c4e961f85b35e53d75e424c81891a86db580915 Mon Sep 17 00:00:00 2001 From: Udit Agarwal <16324601+uditagarwal97@users.noreply.github.com> Date: Sun, 10 Mar 2024 22:01:20 -0700 Subject: [PATCH 17/25] Update QueueIDCheck.cpp --- sycl/unittests/xpti_trace/QueueIDCheck.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sycl/unittests/xpti_trace/QueueIDCheck.cpp b/sycl/unittests/xpti_trace/QueueIDCheck.cpp index e6d35b8a53431..1baf72b87a59a 100644 --- a/sycl/unittests/xpti_trace/QueueIDCheck.cpp +++ b/sycl/unittests/xpti_trace/QueueIDCheck.cpp @@ -136,6 +136,8 @@ TEST_F(QueueID, QueueCreationAndKernelWithDeps) { checkTaskBeginEnd(QueueIDSTr); } +// Re-enable this test after fixing +// https://github.com/intel/llvm/issues/12963 TEST_F(QueueID, DISABLED_QueueCreationUSMOperations) { sycl::queue Q0; auto Queue0ImplPtr = sycl::detail::getSyclObjImpl(Q0); From c6b3e3ba79f5d5993ee441ea3bf6f89cf57d5168 Mon Sep 17 00:00:00 2001 From: "Agarwal, Udit" Date: Mon, 18 Mar 2024 10:28:09 -0700 Subject: [PATCH 18/25] Test moving to cmake file. --- .github/workflows/sycl-linux-build.yml | 2 +- .github/workflows/sycl-windows-build.yml | 8 ++++---- sycl/cmake/modules/AddSYCLUnitTest.cmake | 1 + 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/sycl-linux-build.yml b/.github/workflows/sycl-linux-build.yml index d96a8d319f8c3..026ca458abc23 100644 --- a/.github/workflows/sycl-linux-build.yml +++ b/.github/workflows/sycl-linux-build.yml @@ -193,7 +193,7 @@ jobs: export LD_LIBRARY_PATH=/usr/local/cuda/compat/:/usr/local/cuda/lib64:$LD_LIBRARY_PATH export LD_LIBRARY_PATH=$GITHUB_WORKSPACE/build/lib:$LD_LIBRARY_PATH - export PATH=$GITHUB_WORKSPACE/build/bin:$PATH + # export PATH=$GITHUB_WORKSPACE/build/bin:$PATH cmake --build $GITHUB_WORKSPACE/build --target check-sycl-unittests - name: check-llvm-spirv if: always() && !cancelled() && contains(inputs.changes, 'llvm_spirv') diff --git a/.github/workflows/sycl-windows-build.yml b/.github/workflows/sycl-windows-build.yml index 3ce5834ed5951..d00060c71bcb3 100644 --- a/.github/workflows/sycl-windows-build.yml +++ b/.github/workflows/sycl-windows-build.yml @@ -97,10 +97,10 @@ jobs: shell: bash run: | cmake --build build --target sycl-toolchain - - name: Setup SYCL toolchain - run: | - # Need this for check-sycl-unittests. - echo "PATH=$env:GITHUB_WORKSPACE\\build\\bin;$env:PATH" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append + # - name: Setup SYCL toolchain + # run: | + # # Need this for check-sycl-unittests. + # echo "PATH=$env:GITHUB_WORKSPACE\\build\\bin;$env:PATH" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append - name: check-llvm if: always() && !cancelled() && contains(inputs.changes, 'llvm') run: | diff --git a/sycl/cmake/modules/AddSYCLUnitTest.cmake b/sycl/cmake/modules/AddSYCLUnitTest.cmake index 7bfa1fe2619e9..a69f65ffdd752 100644 --- a/sycl/cmake/modules/AddSYCLUnitTest.cmake +++ b/sycl/cmake/modules/AddSYCLUnitTest.cmake @@ -43,6 +43,7 @@ macro(add_sycl_unittest test_dirname link_variant) SYCL_CONFIG_FILE_NAME=null.cfg SYCL_DEVICELIB_NO_FALLBACK=1 SYCL_CACHE_DIR="${CMAKE_BINARY_DIR}/sycl_cache" + PATH="${CMAKE_BINARY_DIR};${PATH}" ${CMAKE_CURRENT_BINARY_DIR}/${test_dirname} DEPENDS ${test_dirname} From 4f25c6244156905acdf4c95c59d037d12c083d34 Mon Sep 17 00:00:00 2001 From: "Agarwal, Udit" Date: Mon, 18 Mar 2024 12:01:21 -0700 Subject: [PATCH 19/25] Fix Windows build --- .github/workflows/sycl-linux-build.yml | 1 - sycl/cmake/modules/AddSYCLUnitTest.cmake | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/sycl-linux-build.yml b/.github/workflows/sycl-linux-build.yml index 026ca458abc23..7005c6088cf4b 100644 --- a/.github/workflows/sycl-linux-build.yml +++ b/.github/workflows/sycl-linux-build.yml @@ -193,7 +193,6 @@ jobs: export LD_LIBRARY_PATH=/usr/local/cuda/compat/:/usr/local/cuda/lib64:$LD_LIBRARY_PATH export LD_LIBRARY_PATH=$GITHUB_WORKSPACE/build/lib:$LD_LIBRARY_PATH - # export PATH=$GITHUB_WORKSPACE/build/bin:$PATH cmake --build $GITHUB_WORKSPACE/build --target check-sycl-unittests - name: check-llvm-spirv if: always() && !cancelled() && contains(inputs.changes, 'llvm_spirv') diff --git a/sycl/cmake/modules/AddSYCLUnitTest.cmake b/sycl/cmake/modules/AddSYCLUnitTest.cmake index a69f65ffdd752..ad7199ac0cfc2 100644 --- a/sycl/cmake/modules/AddSYCLUnitTest.cmake +++ b/sycl/cmake/modules/AddSYCLUnitTest.cmake @@ -43,7 +43,7 @@ macro(add_sycl_unittest test_dirname link_variant) SYCL_CONFIG_FILE_NAME=null.cfg SYCL_DEVICELIB_NO_FALLBACK=1 SYCL_CACHE_DIR="${CMAKE_BINARY_DIR}/sycl_cache" - PATH="${CMAKE_BINARY_DIR};${PATH}" + PATH="${CMAKE_BINARY_DIR}/bin;${PATH}" ${CMAKE_CURRENT_BINARY_DIR}/${test_dirname} DEPENDS ${test_dirname} From e9d598a25ced70040b98f567a59d540c31d634b0 Mon Sep 17 00:00:00 2001 From: "Agarwal, Udit" Date: Mon, 18 Mar 2024 15:20:50 -0700 Subject: [PATCH 20/25] Try setting PATH env var --- sycl/cmake/modules/AddSYCLUnitTest.cmake | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sycl/cmake/modules/AddSYCLUnitTest.cmake b/sycl/cmake/modules/AddSYCLUnitTest.cmake index ad7199ac0cfc2..b08bbf9a5f8f0 100644 --- a/sycl/cmake/modules/AddSYCLUnitTest.cmake +++ b/sycl/cmake/modules/AddSYCLUnitTest.cmake @@ -37,13 +37,18 @@ macro(add_sycl_unittest test_dirname link_variant) ) endif() + if(WIN32) + set(ENV{PATH} "${CMAKE_BINARY_DIR}/bin;$ENV{PATH}") + else() + set(ENV{PATH} "${CMAKE_BINARY_DIR}/bin:$ENV{PATH}") + endif() + add_custom_target(check-sycl-${test_dirname} ${CMAKE_COMMAND} -E env LLVM_PROFILE_FILE="${SYCL_COVERAGE_PATH}/${test_dirname}.profraw" SYCL_CONFIG_FILE_NAME=null.cfg SYCL_DEVICELIB_NO_FALLBACK=1 SYCL_CACHE_DIR="${CMAKE_BINARY_DIR}/sycl_cache" - PATH="${CMAKE_BINARY_DIR}/bin;${PATH}" ${CMAKE_CURRENT_BINARY_DIR}/${test_dirname} DEPENDS ${test_dirname} From 4663ead378fd8cc0e96323a2e8f329d24ad6087e Mon Sep 17 00:00:00 2001 From: "Agarwal, Udit" Date: Mon, 18 Mar 2024 15:56:27 -0700 Subject: [PATCH 21/25] try2 --- sycl/cmake/modules/AddSYCLUnitTest.cmake | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/sycl/cmake/modules/AddSYCLUnitTest.cmake b/sycl/cmake/modules/AddSYCLUnitTest.cmake index b08bbf9a5f8f0..95b4495fa5fc1 100644 --- a/sycl/cmake/modules/AddSYCLUnitTest.cmake +++ b/sycl/cmake/modules/AddSYCLUnitTest.cmake @@ -37,11 +37,11 @@ macro(add_sycl_unittest test_dirname link_variant) ) endif() - if(WIN32) - set(ENV{PATH} "${CMAKE_BINARY_DIR}/bin;$ENV{PATH}") - else() - set(ENV{PATH} "${CMAKE_BINARY_DIR}/bin:$ENV{PATH}") - endif() + # if(WIN32) + # set(ENV{PATH} "${CMAKE_BINARY_DIR}/bin;$ENV{PATH}") + # else() + # set(ENV{PATH} "${CMAKE_BINARY_DIR}/bin:$ENV{PATH}") + # endif() add_custom_target(check-sycl-${test_dirname} ${CMAKE_COMMAND} -E env @@ -49,6 +49,7 @@ macro(add_sycl_unittest test_dirname link_variant) SYCL_CONFIG_FILE_NAME=null.cfg SYCL_DEVICELIB_NO_FALLBACK=1 SYCL_CACHE_DIR="${CMAKE_BINARY_DIR}/sycl_cache" + PATH="${CMAKE_BINARY_DIR}/bin;$ENV{PATH}" ${CMAKE_CURRENT_BINARY_DIR}/${test_dirname} DEPENDS ${test_dirname} From 219bbfecfa4c13300a42b8d0409933efc7f560d6 Mon Sep 17 00:00:00 2001 From: "Agarwal, Udit" Date: Tue, 19 Mar 2024 13:20:28 -0700 Subject: [PATCH 22/25] Another try --- sycl/cmake/modules/AddSYCLUnitTest.cmake | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/sycl/cmake/modules/AddSYCLUnitTest.cmake b/sycl/cmake/modules/AddSYCLUnitTest.cmake index 95b4495fa5fc1..f00e56ced746a 100644 --- a/sycl/cmake/modules/AddSYCLUnitTest.cmake +++ b/sycl/cmake/modules/AddSYCLUnitTest.cmake @@ -37,11 +37,8 @@ macro(add_sycl_unittest test_dirname link_variant) ) endif() - # if(WIN32) - # set(ENV{PATH} "${CMAKE_BINARY_DIR}/bin;$ENV{PATH}") - # else() - # set(ENV{PATH} "${CMAKE_BINARY_DIR}/bin:$ENV{PATH}") - # endif() + set(path_env_var $ENV{PATH}) + cmake_path(APPEND_STRING path_env_var "${CMAKE_BINARY_DIR}/bin") add_custom_target(check-sycl-${test_dirname} ${CMAKE_COMMAND} -E env @@ -49,7 +46,7 @@ macro(add_sycl_unittest test_dirname link_variant) SYCL_CONFIG_FILE_NAME=null.cfg SYCL_DEVICELIB_NO_FALLBACK=1 SYCL_CACHE_DIR="${CMAKE_BINARY_DIR}/sycl_cache" - PATH="${CMAKE_BINARY_DIR}/bin;$ENV{PATH}" + PATH="${path_env_var}" ${CMAKE_CURRENT_BINARY_DIR}/${test_dirname} DEPENDS ${test_dirname} From 54e5c60dbfa124aacd10a5e962825beb012a812e Mon Sep 17 00:00:00 2001 From: "Agarwal, Udit" Date: Tue, 19 Mar 2024 14:39:50 -0700 Subject: [PATCH 23/25] Cleanup --- .github/workflows/sycl-linux-build.yml | 2 ++ .github/workflows/sycl-windows-build.yml | 8 ++++---- sycl/cmake/modules/AddSYCLUnitTest.cmake | 4 ---- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/.github/workflows/sycl-linux-build.yml b/.github/workflows/sycl-linux-build.yml index 7005c6088cf4b..72a1d28265dca 100644 --- a/.github/workflows/sycl-linux-build.yml +++ b/.github/workflows/sycl-linux-build.yml @@ -192,6 +192,8 @@ jobs: # TODO consider moving this to Dockerfile. export LD_LIBRARY_PATH=/usr/local/cuda/compat/:/usr/local/cuda/lib64:$LD_LIBRARY_PATH + # In CI, for some reason, check-sycl-unittests was using an old sycl library. To get + # around this problem, we add the new sycl library to the LD_LIBRARY_PATH. export LD_LIBRARY_PATH=$GITHUB_WORKSPACE/build/lib:$LD_LIBRARY_PATH cmake --build $GITHUB_WORKSPACE/build --target check-sycl-unittests - name: check-llvm-spirv diff --git a/.github/workflows/sycl-windows-build.yml b/.github/workflows/sycl-windows-build.yml index d00060c71bcb3..3ce5834ed5951 100644 --- a/.github/workflows/sycl-windows-build.yml +++ b/.github/workflows/sycl-windows-build.yml @@ -97,10 +97,10 @@ jobs: shell: bash run: | cmake --build build --target sycl-toolchain - # - name: Setup SYCL toolchain - # run: | - # # Need this for check-sycl-unittests. - # echo "PATH=$env:GITHUB_WORKSPACE\\build\\bin;$env:PATH" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append + - name: Setup SYCL toolchain + run: | + # Need this for check-sycl-unittests. + echo "PATH=$env:GITHUB_WORKSPACE\\build\\bin;$env:PATH" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append - name: check-llvm if: always() && !cancelled() && contains(inputs.changes, 'llvm') run: | diff --git a/sycl/cmake/modules/AddSYCLUnitTest.cmake b/sycl/cmake/modules/AddSYCLUnitTest.cmake index f00e56ced746a..7bfa1fe2619e9 100644 --- a/sycl/cmake/modules/AddSYCLUnitTest.cmake +++ b/sycl/cmake/modules/AddSYCLUnitTest.cmake @@ -37,16 +37,12 @@ macro(add_sycl_unittest test_dirname link_variant) ) endif() - set(path_env_var $ENV{PATH}) - cmake_path(APPEND_STRING path_env_var "${CMAKE_BINARY_DIR}/bin") - add_custom_target(check-sycl-${test_dirname} ${CMAKE_COMMAND} -E env LLVM_PROFILE_FILE="${SYCL_COVERAGE_PATH}/${test_dirname}.profraw" SYCL_CONFIG_FILE_NAME=null.cfg SYCL_DEVICELIB_NO_FALLBACK=1 SYCL_CACHE_DIR="${CMAKE_BINARY_DIR}/sycl_cache" - PATH="${path_env_var}" ${CMAKE_CURRENT_BINARY_DIR}/${test_dirname} DEPENDS ${test_dirname} From c0aa4222fa81bb3ef5b23eeecdf04bf75e47d081 Mon Sep 17 00:00:00 2001 From: "Agarwal, Udit" Date: Wed, 20 Mar 2024 12:04:29 -0700 Subject: [PATCH 24/25] Another try --- .github/workflows/sycl-linux-build.yml | 4 --- .github/workflows/sycl-windows-build.yml | 4 --- sycl/cmake/modules/AddSYCLUnitTest.cmake | 38 +++++++++++++++++------- 3 files changed, 28 insertions(+), 18 deletions(-) diff --git a/.github/workflows/sycl-linux-build.yml b/.github/workflows/sycl-linux-build.yml index 72a1d28265dca..b9718b390bd99 100644 --- a/.github/workflows/sycl-linux-build.yml +++ b/.github/workflows/sycl-linux-build.yml @@ -191,10 +191,6 @@ jobs: run: | # TODO consider moving this to Dockerfile. export LD_LIBRARY_PATH=/usr/local/cuda/compat/:/usr/local/cuda/lib64:$LD_LIBRARY_PATH - - # In CI, for some reason, check-sycl-unittests was using an old sycl library. To get - # around this problem, we add the new sycl library to the LD_LIBRARY_PATH. - export LD_LIBRARY_PATH=$GITHUB_WORKSPACE/build/lib:$LD_LIBRARY_PATH cmake --build $GITHUB_WORKSPACE/build --target check-sycl-unittests - name: check-llvm-spirv if: always() && !cancelled() && contains(inputs.changes, 'llvm_spirv') diff --git a/.github/workflows/sycl-windows-build.yml b/.github/workflows/sycl-windows-build.yml index 3ce5834ed5951..47014318c16de 100644 --- a/.github/workflows/sycl-windows-build.yml +++ b/.github/workflows/sycl-windows-build.yml @@ -97,10 +97,6 @@ jobs: shell: bash run: | cmake --build build --target sycl-toolchain - - name: Setup SYCL toolchain - run: | - # Need this for check-sycl-unittests. - echo "PATH=$env:GITHUB_WORKSPACE\\build\\bin;$env:PATH" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append - name: check-llvm if: always() && !cancelled() && contains(inputs.changes, 'llvm') run: | diff --git a/sycl/cmake/modules/AddSYCLUnitTest.cmake b/sycl/cmake/modules/AddSYCLUnitTest.cmake index 7bfa1fe2619e9..1ebf980eef3af 100644 --- a/sycl/cmake/modules/AddSYCLUnitTest.cmake +++ b/sycl/cmake/modules/AddSYCLUnitTest.cmake @@ -37,16 +37,34 @@ macro(add_sycl_unittest test_dirname link_variant) ) endif() - add_custom_target(check-sycl-${test_dirname} - ${CMAKE_COMMAND} -E env - LLVM_PROFILE_FILE="${SYCL_COVERAGE_PATH}/${test_dirname}.profraw" - SYCL_CONFIG_FILE_NAME=null.cfg - SYCL_DEVICELIB_NO_FALLBACK=1 - SYCL_CACHE_DIR="${CMAKE_BINARY_DIR}/sycl_cache" - ${CMAKE_CURRENT_BINARY_DIR}/${test_dirname} - DEPENDS - ${test_dirname} - ) + if (WIN32) + add_custom_target(check-sycl-${test_dirname} + ${CMAKE_COMMAND} -E env + LLVM_PROFILE_FILE="${SYCL_COVERAGE_PATH}/${test_dirname}.profraw" + SYCL_CONFIG_FILE_NAME=null.cfg + SYCL_DEVICELIB_NO_FALLBACK=1 + SYCL_CACHE_DIR="${CMAKE_BINARY_DIR}/sycl_cache" + "PATH=${CMAKE_BINARY_DIR}/bin;$ENV{PATH}" + ${CMAKE_CURRENT_BINARY_DIR}/${test_dirname} + DEPENDS + ${test_dirname} + ) + else() + add_custom_target(check-sycl-${test_dirname} + ${CMAKE_COMMAND} -E env + LLVM_PROFILE_FILE="${SYCL_COVERAGE_PATH}/${test_dirname}.profraw" + SYCL_CONFIG_FILE_NAME=null.cfg + SYCL_DEVICELIB_NO_FALLBACK=1 + SYCL_CACHE_DIR="${CMAKE_BINARY_DIR}/sycl_cache" + "PATH=${CMAKE_BINARY_DIR}/bin:$ENV{PATH}" + # In CI, for some reason, check-sycl-unittests was using an old sycl library. To get + # around this problem, we add the new sycl library to the LD_LIBRARY_PATH. + "LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/lib:$ENV{LD_LIBRARY_PATH}" + ${CMAKE_CURRENT_BINARY_DIR}/${test_dirname} + DEPENDS + ${test_dirname} + ) + endif() add_dependencies(check-sycl-unittests check-sycl-${test_dirname}) From c50a6fca22d5f6d77a7a61203758cd696d823f31 Mon Sep 17 00:00:00 2001 From: "Agarwal, Udit" Date: Wed, 20 Mar 2024 13:29:59 -0700 Subject: [PATCH 25/25] Finalize --- sycl/cmake/modules/AddSYCLUnitTest.cmake | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sycl/cmake/modules/AddSYCLUnitTest.cmake b/sycl/cmake/modules/AddSYCLUnitTest.cmake index 1ebf980eef3af..9571d43cc07c9 100644 --- a/sycl/cmake/modules/AddSYCLUnitTest.cmake +++ b/sycl/cmake/modules/AddSYCLUnitTest.cmake @@ -37,6 +37,9 @@ macro(add_sycl_unittest test_dirname link_variant) ) endif() + # check-sycl-unittests was using an old sycl library. So, to get + # around this problem, we add the new sycl library to the PATH and + # LD_LIBRARY_PATH on Windows and Linux respectively. if (WIN32) add_custom_target(check-sycl-${test_dirname} ${CMAKE_COMMAND} -E env @@ -56,9 +59,6 @@ macro(add_sycl_unittest test_dirname link_variant) SYCL_CONFIG_FILE_NAME=null.cfg SYCL_DEVICELIB_NO_FALLBACK=1 SYCL_CACHE_DIR="${CMAKE_BINARY_DIR}/sycl_cache" - "PATH=${CMAKE_BINARY_DIR}/bin:$ENV{PATH}" - # In CI, for some reason, check-sycl-unittests was using an old sycl library. To get - # around this problem, we add the new sycl library to the LD_LIBRARY_PATH. "LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/lib:$ENV{LD_LIBRARY_PATH}" ${CMAKE_CURRENT_BINARY_DIR}/${test_dirname} DEPENDS