Skip to content

Commit 08974d7

Browse files
authored
[CI] Add oneAPI run to nightly (#16652)
Add a compile + PVC E2E run using oneAPI to the nightly. This is expected to help reduce pulldown issues. We use flags to disable using Intel libraries so test results match normal builds and there's no oneAPI dependency in the test phase. Remove the oneAPI docker container as we install it as an action instead. --------- Signed-off-by: Sarnie, Nick <nick.sarnie@intel.com>
1 parent 7c6f455 commit 08974d7

File tree

6 files changed

+58
-29
lines changed

6 files changed

+58
-29
lines changed

.github/workflows/sycl-containers.yaml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,6 @@ jobs:
5151
file: ubuntu2404_build
5252
tag: latest
5353
build_args: ""
54-
- name: Build Ubuntu 24.04 oneAPI Docker image
55-
file: ubuntu2404_build_oneapi
56-
tag: latest
57-
build_args: ""
5854
- name: Intel Drivers Ubuntu 22.04 Docker image
5955
file: ubuntu2204_intel_drivers
6056
tag: latest

.github/workflows/sycl-linux-build.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,19 +152,21 @@ jobs:
152152
ref: ${{ inputs.build_ref || github.sha }}
153153
merge_ref: ${{ inputs.merge_ref }}
154154
cache_path: "/__w/repo_cache/"
155+
- name: Setup oneAPI env
156+
if: ${{ inputs.cc == 'icx' || inputs.cxx == 'icpx' }}
157+
uses: ./devops/actions/setup_linux_oneapi_env
155158
- name: Configure
156159
env:
157160
CC: ${{ inputs.cc }}
158161
CXX: ${{ inputs.cxx }}
159-
ARGS: ${{ inputs.build_configure_extra_args }}
160162
CUDA_LIB_PATH: "/usr/local/cuda/lib64/stubs"
161163
run: |
162164
mkdir -p $CCACHE_DIR
163165
mkdir -p $GITHUB_WORKSPACE/build
164166
cd $GITHUB_WORKSPACE/build
165167
python3 $GITHUB_WORKSPACE/src/buildbot/configure.py -w $GITHUB_WORKSPACE \
166168
-s $GITHUB_WORKSPACE/src -o $GITHUB_WORKSPACE/build -t Release \
167-
--ci-defaults $ARGS \
169+
--ci-defaults ${{ inputs.build_configure_extra_args }} \
168170
--cmake-opt=-DCMAKE_C_COMPILER_LAUNCHER=ccache \
169171
--cmake-opt=-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
170172
--cmake-opt="-DLLVM_INSTALL_UTILS=ON" \

.github/workflows/sycl-nightly.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,20 @@ jobs:
3737

3838
artifact_archive_name: sycl_linux_shared.tar.zst
3939

40+
ubuntu2404_oneapi_build:
41+
if: github.repository == 'intel/llvm'
42+
uses: ./.github/workflows/sycl-linux-build.yml
43+
secrets: inherit
44+
with:
45+
build_cache_root: "/__w/"
46+
build_cache_suffix: oneapi
47+
build_artifact_suffix: oneapi
48+
build_configure_extra_args: --cmake-opt=-DCMAKE_C_FLAGS="-no-intel-lib -ffp-model=precise" --cmake-opt=-DCMAKE_CXX_FLAGS="-no-intel-lib -ffp-model=precise"
49+
cc: icx
50+
cxx: icpx
51+
52+
artifact_archive_name: sycl_linux_oneapi.tar.zst
53+
4054
ubuntu2204_test:
4155
needs: [ubuntu2204_build]
4256
if: ${{ always() && !cancelled() && needs.ubuntu2204_build.outputs.build_conclusion == 'success' }}
@@ -103,6 +117,23 @@ jobs:
103117
sycl_toolchain_archive: ${{ needs.ubuntu2204_build.outputs.artifact_archive_name }}
104118
sycl_toolchain_decompress_command: ${{ needs.ubuntu2204_build.outputs.artifact_decompress_command }}
105119

120+
ubuntu2404_oneapi_test:
121+
needs: [ubuntu2404_oneapi_build]
122+
if: ${{ always() && !cancelled() && needs.ubuntu2404_oneapi_build.outputs.build_conclusion == 'success' }}
123+
uses: ./.github/workflows/sycl-linux-run-tests.yml
124+
with:
125+
name: Intel PVC L0 oneAPI
126+
runner: '["Linux", "pvc"]'
127+
target_devices: level_zero:gpu
128+
extra_lit_opts: -j 50
129+
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest
130+
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
131+
ref: ${{ github.sha }}
132+
merge_ref: ''
133+
sycl_toolchain_artifact: sycl_linux_oneapi
134+
sycl_toolchain_archive: ${{ needs.ubuntu2404_oneapi_build.outputs.artifact_archive_name }}
135+
sycl_toolchain_decompress_command: ${{ needs.ubuntu2404_oneapi_build.outputs.artifact_decompress_command }}
136+
106137
build-win:
107138
uses: ./.github/workflows/sycl-windows-build.yml
108139
if: github.repository == 'intel/llvm'

.github/workflows/sycl-windows-build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ jobs:
149149
shell: bash
150150
run: |
151151
if [[ ${{inputs.compiler}} == 'icx' ]]; then
152-
export LIT_FILTER_OUT="host_tanpi_double_accuracy"
152+
export LIT_XFAIL="regression\host_tanpi_double_accuracy.cpp"
153153
fi
154154
cmake --build build --target check-sycl
155155
- name: check-sycl-unittests
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: Linux setup oneAPI env
2+
3+
runs:
4+
using: "composite"
5+
steps:
6+
- name: Setup oneAPI env
7+
shell: bash
8+
run: |
9+
sudo apt-get --fix-broken -y install
10+
wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor \
11+
| sudo tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null && \
12+
sudo echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" \
13+
| sudo tee /etc/apt/sources.list.d/oneAPI.list && \
14+
sudo apt update && sudo apt-get -y install intel-oneapi-compiler-dpcpp-cpp-2025.0
15+
16+
env_before=$(env | sort)
17+
source /opt/intel/oneapi/setvars.sh
18+
env_after=$(env | sort)
19+
changed_envvars=$(comm -13 <(echo "$env_before") <(echo "$env_after"))
20+
while IFS= read -r line; do
21+
echo "$line" >> $GITHUB_ENV
22+
done <<< "$changed_envvars"

devops/containers/ubuntu2404_build_oneapi.Dockerfile

Lines changed: 0 additions & 22 deletions
This file was deleted.

0 commit comments

Comments
 (0)