@@ -6,105 +6,25 @@ permissions:
66 contents : read
77
88jobs :
9- last-release :
10- # run only on upstream; forks will not have the HW
11- # currently this job is disabled as sycl-ls doesn't detect devices on the last release + latest UMF
12- if : github.repository == 'oneapi-src/unified-memory-framework' && false
13- name : Last release
14- runs-on : [DSS-LEVEL_ZERO, DSS-UBUNTU]
15-
16- steps :
17- # Install sycl
18- - name : Download latest llvm release
19- run : |
20- latest_release=$(curl -s https://api.github.com/repos/intel/llvm/releases/latest | grep "tag_name" | cut -d '"' -f 4)
21- download_url="https://github.com/intel/llvm/archive/refs/tags/${latest_release}.tar.gz"
22- wget --no-verbose $download_url -O sycl_linux.tar.gz
23-
24- - name : Extract llvm
25- run : |
26- mkdir sycl_repo
27- tar -xzf sycl_linux.tar.gz -C sycl_repo --strip-components=1
28-
29- - name : Build llvm
30- working-directory : sycl_repo
31- run : |
32- python3 buildbot/configure.py
33- python3 buildbot/compile.py -j $(nproc)
34-
35- - name : Add llvm install directory to environment
36- run : |
37- echo "SYCL_INSTALL_DIR=${{ github.workspace }}/sycl_repo/build/install" >> $GITHUB_ENV
38-
39- - name : Add llvm to PATH
40- run : |
41- echo "${{ github.workspace }}/llvm/bin:$PATH" >> $GITHUB_PATH
42- echo "LD_LIBRARY_PATH=${{env.SYCL_INSTALL_DIR}}/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV
43-
44- - name : Remove UMF installed with llvm
45- run : rm -f ${{env.SYCL_INSTALL_DIR}}/lib/libumf*
46-
47- - name : Print installed sycl files
48- run : |
49- tree -L 2 ${{env.SYCL_INSTALL_DIR}}
50-
51- # Install UMF
52- - name : Checkout UMF
53- uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
54- with :
55- path : umf_repo
56- fetch-depth : 0
57-
58- - name : Configure UMF
59- working-directory : umf_repo
60- run : >
61- cmake
62- -B build
63- -DCMAKE_INSTALL_PREFIX=${{ env.SYCL_INSTALL_DIR }}
64- -DCMAKE_BUILD_TYPE=Release
65- -DCMAKE_C_COMPILER=gcc
66- -DCMAKE_CXX_COMPILER=g++
67- -DUMF_BUILD_SHARED_LIBRARY=ON
68- -DUMF_BUILD_TESTS=OFF
69- -DUMF_BUILD_EXAMPLES=OFF
70-
71- - name : Build and install UMF
72- working-directory : umf_repo
73- run : cmake --build build --target install -j$(nproc)
74-
75- - name : Print installed lib files
76- run : ls -l ${{env.SYCL_INSTALL_DIR}}/lib
77-
78- # Test sycl
79- - name : Run sycl-ls
80- run : |
81- ${{env.SYCL_INSTALL_DIR}}/bin/sycl-ls
82-
83- - name : Print clang++ version
84- run : clang++ --version
85-
86- - name : Run sycl tests built locally
87- working-directory : sycl_repo
88- run : |
89- ${{env.SYCL_INSTALL_DIR}}/bin/clang++ -fsycl sycl/test-e2e/AbiNeutral/submit-kernel.cpp -o submit-kernel -I${{env.SYCL_INSTALL_DIR}}/include -I${{env.SYCL_INSTALL_DIR}}/include/sycl
90- ONEAPI_DEVICE_SELECTOR=level_zero:gpu ./submit-kernel
91-
92- - name : Clean up
93- if : always()
94- run : rm -rf llvm sycl_repo sycl_linux.tar.gz
95-
96- latest-daily :
9+ sycl-compatibility :
9710 # run only on upstream; forks will not have the HW
9811 if : github.repository == 'oneapi-src/unified-memory-framework'
99- name : Latest daily build
12+ name : ${{matrix.llvm_tag}} llvm build
10013 runs-on : ["DSS-LEVEL_ZERO", "DSS-UBUNTU"]
10114
15+ matrix :
16+ llvm_tag : ["latest", "nightly-2024-12-07"] # "latest" or llvm with UMF v0.10.0
17+
10218 steps :
10319 # Install sycl
104- - name : Download latest llvm daily release
20+ - name : Download llvm daily release
10521 run : |
106- latest_tag=$(curl -s https://api.github.com/repos/intel/llvm/releases | awk -F'"' '/"tag_name":/ {print $4; exit}')
107- download_url="https://github.com/intel/llvm/releases/download/${latest_tag}/sycl_linux.tar.gz"
22+ if [ "${{ matrix.llvm_tag }}" == "latest" ]; then
23+ llvm_tag=$(curl -s https://api.github.com/repos/intel/llvm/releases | awk -F'"' '/"tag_name":/ {print $4; exit}')
24+ else
25+ llvm_tag="${{ matrix.llvm_tag }}"
26+ fi
27+ download_url="https://github.com/intel/llvm/releases/download/${llvm_tag}/sycl_linux.tar.gz"
10828 wget --no-verbose $download_url -O sycl_linux.tar.gz
10929
11030 - name : Extract llvm
0 commit comments