Skip to content
1 change: 1 addition & 0 deletions .github/workflows/sycl-linux-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -206,6 +206,7 @@ jobs:
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
-DLLVM_INSTALL_UTILS=ON \
-DSYCL_UR_FORCE_FETCH_LEVEL_ZERO=ON
# DSYCL_UR_USE_LEVEL_ZERO_V2=1
- name: Compile
id: build
# Emulate default value for manual dispatch as we've run out of available arguments.
Expand Down
219 changes: 112 additions & 107 deletions .github/workflows/sycl-linux-precommit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,39 +69,39 @@ jobs:

# Build and run native cpu e2e tests separately as cannot currently
# build all the e2e tests
build_run_native_cpu_e2e_tests:
if: ${{ !cancelled() && needs.build.outputs.build_conclusion == 'success' }}
runs-on: [Linux, build]
needs: [build]
container:
image: ghcr.io/intel/llvm/sycl_ubuntu2404_nightly:latest
options: -u 1001:1001
steps:
- uses: actions/checkout@v5
with:
sparse-checkout: |
devops/
# build_run_native_cpu_e2e_tests:
# if: ${{ !cancelled() && needs.build.outputs.build_conclusion == 'success' }}
# runs-on: [Linux, build]
# needs: [build]
# container:
# image: ghcr.io/intel/llvm/sycl_ubuntu2404_nightly:latest
# options: -u 1001:1001
# steps:
# - uses: actions/checkout@v5
# with:
# sparse-checkout: |
# devops/

# download build artefact
- name: Download toolchain
uses: actions/download-artifact@v6
with:
name: sycl_linux_default
- name: Extract SYCL toolchain
shell: bash
run: |
mkdir toolchain
tar -xf llvm_sycl.tar.zst -C toolchain
rm llvm_sycl.tar.zst
- name: Build and run E2E tests
uses: ./devops/actions/run-tests/e2e
with:
ref: ${{ inputs.ref || github.sha }}
testing_mode: full
target_devices: native_cpu:cpu
sycl_compiler: $GITHUB_WORKSPACE/toolchain/bin/clang++
extra_lit_opts: --param sycl_build_targets="native_cpu"
extra_cmake_args: -DSYCL_TEST_E2E_TARGETS="native_cpu:cpu" -DSYCL_TEST_E2E_STANDALONE=ON
# # download build artefact
# - name: Download toolchain
# uses: actions/download-artifact@v6
# with:
# name: sycl_linux_default
# - name: Extract SYCL toolchain
# shell: bash
# run: |
# mkdir toolchain
# tar -xf llvm_sycl.tar.zst -C toolchain
# rm llvm_sycl.tar.zst
# - name: Build and run E2E tests
# uses: ./devops/actions/run-tests/e2e
# with:
# ref: ${{ inputs.ref || github.sha }}
# testing_mode: full
# target_devices: native_cpu:cpu
# sycl_compiler: $GITHUB_WORKSPACE/toolchain/bin/clang++
# extra_lit_opts: --param sycl_build_targets="native_cpu"
# extra_cmake_args: -DSYCL_TEST_E2E_TARGETS="native_cpu:cpu" -DSYCL_TEST_E2E_STANDALONE=ON

# If a PR changes CUDA adapter, run the build on Ubuntu 22.04 as well.
# Ubuntu 22.04 container has CUDA 12.1 installed while Ubuntu 24.0 image
Expand Down Expand Up @@ -151,44 +151,49 @@ jobs:
fail-fast: false
matrix:
include:
- name: Intel / GEN 12 Integrated
runner: '["Linux", "gen12"]'
target_devices: level_zero:gpu;opencl:gpu;opencl:cpu
- name: NVIDIA/CUDA
runner: '["Linux", "cuda"]'
image_options: -u 1001 --gpus all --cap-add SYS_ADMIN
target_devices: cuda:gpu
- name: AMD/HIP
runner: '["Linux", "amdgpu"]'
image_options: -u 1001 --device=/dev/dri --device=/dev/kfd
target_devices: hip:gpu
extra_lit_opts: -j 1
- name: Intel / Arc A-Series Graphics
runner: '["Linux", "arc"]'
target_devices: level_zero:gpu;opencl:gpu;level_zero_v2:gpu
- name: Intel Dev IGC / Arc A-Series Graphics
runner: '["Linux", "arc"]'
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:devigc
target_devices: level_zero:gpu
use_igc_dev: true
env: '{"LIT_FILTER":"Matrix/"}'
- name: Intel / Ponte Vecchio GPU
runner: '["Linux", "pvc"]'
target_devices: level_zero:gpu;opencl:gpu;level_zero_v2:gpu
- name: Intel Dev IGC / Ponte Vecchio GPU
runner: '["Linux", "pvc"]'
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:devigc
target_devices: level_zero:gpu
use_igc_dev: true
env: '{"LIT_FILTER":"Matrix/"}'
- name: Intel / Battlemage Graphics
runner: '["Linux", "bmg"]'
target_devices: level_zero_v1:gpu;level_zero_v2:gpu
- name: Preview Mode
runner: '["Linux", "gen12"]'
target_devices: level_zero:gpu;opencl:gpu;opencl:cpu
# - name: Intel / GEN 12 Integrated
# runner: '["Linux", "gen12"]'
# target_devices: level_zero:gpu;opencl:gpu;opencl:cpu
# - name: NVIDIA/CUDA
# runner: '["Linux", "cuda"]'
# image_options: -u 1001 --gpus all --cap-add SYS_ADMIN
# target_devices: cuda:gpu
# - name: AMD/HIP
# runner: '["Linux", "amdgpu"]'
# image_options: -u 1001 --device=/dev/dri --device=/dev/kfd
# target_devices: hip:gpu
# extra_lit_opts: -j 1
# - name: Intel / Arc A-Series Graphics
# runner: '["Linux", "arc"]'
# target_devices: level_zero:gpu;opencl:gpu;level_zero_v2:gpu
# - name: Intel Dev IGC / Arc A-Series Graphics
# runner: '["Linux", "arc"]'
# image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:devigc
# target_devices: level_zero:gpu
# use_igc_dev: true
# env: '{"LIT_FILTER":"Matrix/"}'
# - name: Intel / Ponte Vecchio GPU
# runner: '["Linux", "pvc"]'
# target_devices: level_zero:gpu;opencl:gpu;level_zero_v2:gpu
# - name: Intel Dev IGC / Ponte Vecchio GPU
# runner: '["Linux", "pvc"]'
# image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:devigc
# target_devices: level_zero:gpu
# use_igc_dev: true
# env: '{"LIT_FILTER":"Matrix/"}'
# - name: Intel / Battlemage Graphics
# runner: '["Linux", "bmg"]'
# target_devices: level_zero_v1:gpu;level_zero_v2:gpu
# - name: Preview Mode
# runner: '["Linux", "gen12"]'
# target_devices: level_zero:gpu;opencl:gpu;opencl:cpu
# extra_lit_opts: --param test-preview-mode=True
# binaries_artifact: e2e_bin_preview
- name: L0 v2
runner: '["TEST_PERF"]'
# runner: '["Linux", "L0v2"]'
target_devices: level_zero_v2:arch-intel_gpu_mtl_u
extra_lit_opts: --param test-preview-mode=True
binaries_artifact: e2e_bin_preview

# We're in an ABI-breaking window, so these don't make sense for now.
- name: ABI compatibility / sycl-rel-6_2
Expand Down Expand Up @@ -236,44 +241,44 @@ jobs:
skip_run: ${{matrix.use_igc_dev && contains(github.event.pull_request.labels.*.name, 'ci-no-devigc') || matrix.skip_run || 'false'}}
env: ${{ matrix.env || (contains(needs.detect_changes.outputs.filters, 'esimd') && '{}' || '{"LIT_FILTER_OUT":"ESIMD/"}') }}

test-perf:
needs: [build, detect_changes]
permissions:
contents: write
packages: read
if: |
!cancelled()
&& needs.build.outputs.build_conclusion == 'success'
&& (contains(github.event.pull_request.labels.*.name, 'run-perf-tests')
|| contains(needs.detect_changes.outputs.filters, 'perf-tests'))
strategy:
fail-fast: false
matrix:
include:
- name: Intel GEN12 Graphics system
runner: '["Linux", "gen12"]'
image_extra_opts: --device=/dev/dri
- name: Intel Arc A-Series Graphics system
runner: '["Linux", "arc"]'
image_extra_opts: --device=/dev/dri
- name: AMD system
runner: '["Linux", "amdgpu"]'
image_extra_opts: --device=/dev/dri --device=/dev/kfd
- name: CUDA system
runner: '["Linux", "cuda"]'
image_extra_opts: --gpus all
uses: ./.github/workflows/sycl-linux-run-tests.yml
with:
name: Perf tests on ${{ matrix.name }}
runner: ${{ matrix. runner }}
image_options: -u 1001 --privileged --cap-add SYS_ADMIN ${{ matrix.image_extra_opts }}
target_devices: all
# test-perf:
# needs: [build, detect_changes]
# permissions:
# contents: write
# packages: read
# if: |
# !cancelled()
# && needs.build.outputs.build_conclusion == 'success'
# && (contains(github.event.pull_request.labels.*.name, 'run-perf-tests')
# || contains(needs.detect_changes.outputs.filters, 'perf-tests'))
# strategy:
# fail-fast: false
# matrix:
# include:
# - name: Intel GEN12 Graphics system
# runner: '["Linux", "gen12"]'
# image_extra_opts: --device=/dev/dri
# - name: Intel Arc A-Series Graphics system
# runner: '["Linux", "arc"]'
# image_extra_opts: --device=/dev/dri
# - name: AMD system
# runner: '["Linux", "amdgpu"]'
# image_extra_opts: --device=/dev/dri --device=/dev/kfd
# - name: CUDA system
# runner: '["Linux", "cuda"]'
# image_extra_opts: --gpus all
# uses: ./.github/workflows/sycl-linux-run-tests.yml
# with:
# name: Perf tests on ${{ matrix.name }}
# runner: ${{ matrix. runner }}
# image_options: -u 1001 --privileged --cap-add SYS_ADMIN ${{ matrix.image_extra_opts }}
# target_devices: all

env: '{"LIT_FILTER":"PerformanceTests/"}'
extra_lit_opts: -a -j 1 --param enable-perf-tests=True
# env: '{"LIT_FILTER":"PerformanceTests/"}'
# extra_lit_opts: -a -j 1 --param enable-perf-tests=True

repo_ref: ${{ github.sha }}
# repo_ref: ${{ github.sha }}

toolchain_artifact: ${{ needs.build.outputs.toolchain_artifact }}
toolchain_artifact_filename: ${{ needs.build.outputs.toolchain_artifact_filename }}
toolchain_decompress_command: ${{ needs.build.outputs.toolchain_decompress_command }}
# toolchain_artifact: ${{ needs.build.outputs.toolchain_artifact }}
# toolchain_artifact_filename: ${{ needs.build.outputs.toolchain_artifact_filename }}
# toolchain_decompress_command: ${{ needs.build.outputs.toolchain_decompress_command }}
10 changes: 10 additions & 0 deletions .github/workflows/sycl-linux-run-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,7 @@ on:
- '["Linux", "build"]'
- '["cuda"]'
- '["PVC_PERF"]'
- '["Linux", "L0v2"]'
image:
type: choice
options:
Expand All @@ -181,6 +182,7 @@ on:
- 'opencl:gpu'
- 'hip:gpu'
- 'cuda:gpu'
- 'level_zero_v2:arch-intel_gpu_mtl_u'
tests_selector:
type: choice
options:
Expand Down Expand Up @@ -243,6 +245,14 @@ jobs:
sparse-checkout: |
devops
sycl/cts_exclude_filter
- name: Show checkout information
shell: bash
run: |
echo "Current branch: $(git branch --show-current)"
echo "Current commit: $(git rev-parse HEAD)"
echo "Current commit (short): $(git rev-parse --short HEAD)"
echo "Commit message: $(git log -1 --pretty=%B)"
git log -1 --oneline
- name: Register cleanup after job is finished
uses: ./devops/actions/cleanup
- name: Reset Intel GPU
Expand Down
Loading
Loading