Skip to content
Draft
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 15 additions & 41 deletions .github/workflows/sycl-linux-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -223,47 +223,6 @@ jobs:
fi

cmake --build $GITHUB_WORKSPACE/build --target check-llvm
- name: check-clang
if: ${{ !cancelled() && contains(inputs.changes, 'clang') }}
env:
# Can't inline to support possible quotes inside:
BUILD_CONFIGURE_EXTRA_ARGS: ${{ inputs.build_configure_extra_args }}
run: |
# Can we move this to Dockerfile? Hopefully, noop on Windows.
export XDG_CACHE_HOME=$GITHUB_WORKSPACE/os_cache
if [[ "${BUILD_CONFIGURE_EXTRA_ARGS}" == *"--use-libcxx"* ]]; then
# https://github.com/llvm/llvm-project/issues/59428
export LIT_FILTER_OUT="(E|e)xception"
fi
cmake --build $GITHUB_WORKSPACE/build --target check-clang
- name: check-sycl
if: ${{ !cancelled() && contains(inputs.changes, 'sycl') }}
run: |
# TODO consider moving this to Dockerfile.
export LD_LIBRARY_PATH=/usr/local/cuda/compat/:/usr/local/cuda/lib64:$LD_LIBRARY_PATH
cmake --build $GITHUB_WORKSPACE/build --target check-sycl
- name: check-sycl-unittests
if: ${{ !cancelled() && contains(inputs.changes, 'sycl') }}
run: |
# TODO consider moving this to Dockerfile.
export LD_LIBRARY_PATH=/usr/local/cuda/compat/:/usr/local/cuda/lib64:$LD_LIBRARY_PATH
cmake --build $GITHUB_WORKSPACE/build --target check-sycl-unittests
- name: check-llvm-spirv
if: ${{ !cancelled() && contains(inputs.changes, 'llvm_spirv') }}
run: |
cmake --build $GITHUB_WORKSPACE/build --target check-llvm-spirv
- name: check-xptifw
if: ${{ !cancelled() && contains(inputs.changes, 'xptifw') }}
run: |
cmake --build $GITHUB_WORKSPACE/build --target check-xptifw
- name: check-libclc
if: ${{ !cancelled() && contains(inputs.changes, 'libclc') }}
run: |
cmake --build $GITHUB_WORKSPACE/build --target check-libclc
- name: check-libdevice
if: ${{ !cancelled() && contains(inputs.changes, 'sycl') }}
run: |
cmake --build $GITHUB_WORKSPACE/build --target check-libdevice
- name: Check E2E test requirements
if: ${{ !cancelled() && !contains(inputs.changes, 'sycl') }}
run: |
Expand Down Expand Up @@ -368,3 +327,18 @@ jobs:
binaries_artifact: ${{ inputs.e2e_binaries_preview_artifact }}
sycl_compiler: $GITHUB_WORKSPACE/toolchain/bin/clang++
extra_lit_opts: --param test-preview-mode=True

- name: Build E2E tests with NewOffloadModel
if: |
inputs.e2e_binaries_preview_artifact &&
!cancelled()
&& steps.build.conclusion == 'success' &&
contains(github.event.pull_request.labels.*.name, "new-offload-model")
uses: ./devops/actions/run-tests/e2e
with:
ref: ${{ inputs.ref || github.sha }}
testing_mode: build-only
target_devices: all
binaries_artifact: ${{ inputs.e2e_binaries_with_new_offload_model }}
sycl_compiler: $GITHUB_WORKSPACE/toolchain/bin/clang++
extra_lit_opts: --param enable_new_offload_model=True
100 changes: 99 additions & 1 deletion .github/workflows/sycl-linux-precommit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -219,7 +219,105 @@ jobs:
toolchain_artifact_filename: ${{ needs.build.outputs.toolchain_artifact_filename }}
toolchain_decompress_command: ${{ needs.build.outputs.toolchain_decompress_command }}
binaries_artifact: ${{ matrix.binaries_artifact || 'e2e_bin' }}
testing_mode: 'run-only'
testing_mode: ${{ matrix.testing_mode || 'run-only' }}

# Do not install drivers on AMD and CUDA runners.
install_igc_driver: >-
${{ !contains(matrix.target_devices, 'cuda') &&
!contains(matrix.target_devices, 'hip') &&
contains(needs.detect_changes.outputs.filters, 'drivers') }}
install_dev_igc_driver: >-
${{ !contains(matrix.target_devices, 'cuda') &&
!contains(matrix.target_devices, 'hip') &&
matrix.use_igc_dev &&
(contains(needs.detect_changes.outputs.filters, 'devigccfg') || contains(needs.detect_changes.outputs.filters, 'drivers')) ||
'false' }}
# Run only if the PR does not have the 'ci-no-devigc' label.
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/"}') }}

E2E-with-new-offload-model:
needs: [build, detect_changes, compat_read_exclude]
if: |
!cancelled() &&
needs.build.outputs.build_conclusion == 'success' &&
contains(github.event.pull_request.labels.*.name, "new-offload-model")
permissions:
contents: write
packages: read
strategy:
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
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
runner: '["Linux", "pvc"]'
image: ghcr.io/intel/llvm/sycl_prebuilt_tests:sycl-rel-6_2
target_devices: level_zero:gpu
extra_lit_opts: '--param test-preview-mode=False --filter-out "${{ needs.compat_read_exclude.outputs.FILTER_6_2 }}"'
binaries_artifact: 'in-container'
skip_run: true
- name: ABI compatibility / sycl-rel-6_3
runner: '["Linux", "pvc"]'
image: ghcr.io/intel/llvm/sycl_prebuilt_tests:sycl-rel-6_3
target_devices: level_zero:gpu
extra_lit_opts: '--param test-preview-mode=False --filter-out "${{ needs.compat_read_exclude.outputs.FILTER_6_3 }}"'
binaries_artifact: 'in-container'
skip_run: true

uses: ./.github/workflows/sycl-linux-run-tests.yml
with:
name: ${{ matrix.name }}
runner: ${{ matrix.runner }}
image: ${{ matrix.image }}
image_options: ${{ matrix.image_options || '-u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN' }}
target_devices: ${{ matrix.target_devices }}
extra_lit_opts: ${{ matrix.extra_lit_opts }} " --param enable_new_offload_model=True"
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 }}
binaries_artifact: ${{ matrix.binaries_artifact || 'e2e_bin' }}
testing_mode: ${{ matrix.testing_mode || 'run-only' }}

# Do not install drivers on AMD and CUDA runners.
install_igc_driver: >-
Expand Down
Loading
Loading