20
20
llvm_tag : ["latest", "nightly-2025-03-15"] # "latest" or llvm with UMF v0.11.0-dev4
21
21
22
22
steps :
23
- # Install sycl
23
+ # 1. Install sycl
24
24
- name : Clean up
25
25
if : always()
26
26
run : rm -rf llvm sycl_linux.tar.gz
48
48
echo "${{ github.workspace }}/llvm/bin" >> $GITHUB_PATH
49
49
echo "LD_LIBRARY_PATH=${{ github.workspace }}/llvm/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV
50
50
51
- # Install UMF
51
+ # 2. Install UMF
52
52
- name : Checkout UMF
53
53
uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
54
54
with :
@@ -75,37 +75,43 @@ jobs:
75
75
- name : Print installed lib files
76
76
run : ls -l llvm/lib
77
77
78
- # Test sycl-ls
78
+ # 3. Test sycl-ls
79
79
- name : Run sycl-ls
80
80
env :
81
81
SYCL_UR_TRACE : 1
82
82
run : |
83
+ which clang++
84
+ which sycl-ls
83
85
./llvm/bin/sycl-ls | tee sycl-ls-output.log
84
86
grep -q "level_zero:gpu" sycl-ls-output.log
85
87
86
- # Test several sycl e2e test
87
- # These are arbitrarily picked tests to check the compatibility
88
- # Note that some intel/llvm tests may be flaky, although I haven't noticed such a behavior in the following tests
88
+ # 4. Test several sycl e2e test
89
+ # Arbitrarily picked tests to check the compatibility. Note that some intel/llvm tests may be flaky
90
+ # Checkout the repo in the version that matches the downloaded version
89
91
- name : Checkout sycl
90
92
uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
91
93
with :
92
94
repository : intel/llvm
93
95
path : sycl_repo
94
96
fetch-depth : 1
95
- ref : sycl
97
+ ref : ${{ matrix.llvm_tag == 'latest' && ' sycl' || matrix.llvm_tag }}
96
98
97
99
- name : Create sycl tests build directory
98
100
run : |
99
101
TESTS_BUILD_DIR=${{ github.workspace }}/sycl_repo/sycl/test-e2e/build
100
102
mkdir $TESTS_BUILD_DIR
101
103
echo "TESTS_BUILD_DIR=$TESTS_BUILD_DIR" >> $GITHUB_ENV
102
104
105
+ # Paths of some tests have changed in the latest llvm release
106
+ # TODO: when new tagged SYCL version is used (and it's later than 23.04) - remove the extra test paths
103
107
- name : Build sycl e2e tests
104
108
working-directory : sycl_repo
105
109
run : |
106
110
${{github.workspace}}/llvm/bin/clang++ -fsycl sycl/test-e2e/AbiNeutral/submit-kernel.cpp -o ${{env.TESTS_BUILD_DIR}}/submit-kernel -Iinclude
107
- ${{github.workspace}}/llvm/bin/clang++ -fsycl sycl/test-e2e/Adapters/interop-l0-direct.cpp -o ${{env.TESTS_BUILD_DIR}}/interop-l0-direct -lze_loader -Iinclude
108
- ${{github.workspace}}/llvm/bin/clang++ -fsycl sycl/test-e2e/Adapters/level_zero_interop_memcpy.cpp -o ${{env.TESTS_BUILD_DIR}}/level_zero_interop_memcpy -Iinclude
111
+ ${{github.workspace}}/llvm/bin/clang++ -fsycl sycl/test-e2e/Adapters/level_zero/interop-direct.cpp -o ${{env.TESTS_BUILD_DIR}}/l0-interop-direct -lze_loader -Iinclude || \
112
+ ${{github.workspace}}/llvm/bin/clang++ -fsycl sycl/test-e2e/Adapters/interop-l0-direct.cpp -o ${{env.TESTS_BUILD_DIR}}/interop-l0-direct -lze_loader -Iinclude
113
+ ${{github.workspace}}/llvm/bin/clang++ -fsycl sycl/test-e2e/Adapters/level_zero/interop_memcpy.cpp -o ${{env.TESTS_BUILD_DIR}}/l0-interop-memcpy -Iinclude || \
114
+ ${{github.workspace}}/llvm/bin/clang++ -fsycl sycl/test-e2e/Adapters/level_zero_interop_memcpy.cpp -o ${{env.TESTS_BUILD_DIR}}/level_zero_interop_memcpy -Iinclude
109
115
${{github.workspace}}/llvm/bin/clang++ -fsycl sycl/test-e2e/Basic/build_log.cpp -o ${{env.TESTS_BUILD_DIR}}/build_log -Iinclude
110
116
${{github.workspace}}/llvm/bin/clang++ -fsycl sycl/test-e2e/PerformanceTests/ParallelFor/parallel_for_range_roundup.cpp -fsycl-range-rounding=force -o ${{env.TESTS_BUILD_DIR}}/parallel_for_range_roundup -Iinclude
111
117
${{github.workspace}}/llvm/bin/clang++ -fsycl sycl/test-e2e/USM/fill_any_size.cpp -o ${{env.TESTS_BUILD_DIR}}/fill_any_size -Iinclude
@@ -116,9 +122,9 @@ jobs:
116
122
UMF_LOG : " level:debug;flush:debug;output:stdout;pid:yes"
117
123
working-directory : ${{env.TESTS_BUILD_DIR}}
118
124
run : |
119
- echo "---Run submit-kernel test" && ./submit-kernel
120
- echo "---Run interop-l0-direct test" && ./interop-l0-direct
121
- echo "---Run level_zero_interop_memcpy test" && ./level_zero_interop_memcpy
122
- echo "---Run build_log test" && ./build_log
123
- echo "---Run parallel_for_range_roundup test" && ./parallel_for_range_roundup
124
- echo "---Run fill_any_size test" && ./fill_any_size
125
+ for test in ./*; do
126
+ if [ -x "$ test" ] && [ ! -d "$test" ]; then
127
+ echo "### Running test: $test"
128
+ "$ test"
129
+ fi
130
+ done
0 commit comments