Skip to content

Commit

Permalink
[CI] Add oneAPI run to nightly (#16652)
Browse files Browse the repository at this point in the history
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 <[email protected]>
  • Loading branch information
sarnex authored Jan 21, 2025
1 parent 7c6f455 commit 08974d7
Show file tree
Hide file tree
Showing 6 changed files with 58 additions and 29 deletions.
4 changes: 0 additions & 4 deletions .github/workflows/sycl-containers.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
6 changes: 4 additions & 2 deletions .github/workflows/sycl-linux-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -152,19 +152,21 @@ 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' }}
uses: ./devops/actions/setup_linux_oneapi_env
- name: Configure
env:
CC: ${{ inputs.cc }}
CXX: ${{ inputs.cxx }}
ARGS: ${{ inputs.build_configure_extra_args }}
CUDA_LIB_PATH: "/usr/local/cuda/lib64/stubs"
run: |
mkdir -p $CCACHE_DIR
mkdir -p $GITHUB_WORKSPACE/build
cd $GITHUB_WORKSPACE/build
python3 $GITHUB_WORKSPACE/src/buildbot/configure.py -w $GITHUB_WORKSPACE \
-s $GITHUB_WORKSPACE/src -o $GITHUB_WORKSPACE/build -t Release \
--ci-defaults $ARGS \
--ci-defaults ${{ inputs.build_configure_extra_args }} \
--cmake-opt=-DCMAKE_C_COMPILER_LAUNCHER=ccache \
--cmake-opt=-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
--cmake-opt="-DLLVM_INSTALL_UTILS=ON" \
Expand Down
31 changes: 31 additions & 0 deletions .github/workflows/sycl-nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,20 @@ jobs:

artifact_archive_name: sycl_linux_shared.tar.zst

ubuntu2404_oneapi_build:
if: github.repository == 'intel/llvm'
uses: ./.github/workflows/sycl-linux-build.yml
secrets: inherit
with:
build_cache_root: "/__w/"
build_cache_suffix: oneapi
build_artifact_suffix: oneapi
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"
cc: icx
cxx: icpx

artifact_archive_name: sycl_linux_oneapi.tar.zst

ubuntu2204_test:
needs: [ubuntu2204_build]
if: ${{ always() && !cancelled() && needs.ubuntu2204_build.outputs.build_conclusion == 'success' }}
Expand Down Expand Up @@ -103,6 +117,23 @@ jobs:
sycl_toolchain_archive: ${{ needs.ubuntu2204_build.outputs.artifact_archive_name }}
sycl_toolchain_decompress_command: ${{ needs.ubuntu2204_build.outputs.artifact_decompress_command }}

ubuntu2404_oneapi_test:
needs: [ubuntu2404_oneapi_build]
if: ${{ always() && !cancelled() && needs.ubuntu2404_oneapi_build.outputs.build_conclusion == 'success' }}
uses: ./.github/workflows/sycl-linux-run-tests.yml
with:
name: Intel PVC L0 oneAPI
runner: '["Linux", "pvc"]'
target_devices: level_zero:gpu
extra_lit_opts: -j 50
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
ref: ${{ github.sha }}
merge_ref: ''
sycl_toolchain_artifact: sycl_linux_oneapi
sycl_toolchain_archive: ${{ needs.ubuntu2404_oneapi_build.outputs.artifact_archive_name }}
sycl_toolchain_decompress_command: ${{ needs.ubuntu2404_oneapi_build.outputs.artifact_decompress_command }}

build-win:
uses: ./.github/workflows/sycl-windows-build.yml
if: github.repository == 'intel/llvm'
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/sycl-windows-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,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
Expand Down
22 changes: 22 additions & 0 deletions devops/actions/setup_linux_oneapi_env/action.yml
Original file line number Diff line number Diff line change
@@ -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"
22 changes: 0 additions & 22 deletions devops/containers/ubuntu2404_build_oneapi.Dockerfile

This file was deleted.

0 comments on commit 08974d7

Please sign in to comment.