Skip to content

Commit

Permalink
[CI] Run E2E tests on PVC on postcommit (#15308)
Browse files Browse the repository at this point in the history
This PR enables running E2E tests on PVC in the post-commit.

Currently, the latest PVC driver hangs when a large number of jobs are
submitted to it in parallel. Due to this, E2E tests might timeout
spuriously on PVC. The PVC bug is being tracked internally via
GSD-10241. To prevent spurious test timeouts, we restrict the number of
parallel E2E test runs on PVC and to prevent disruption in CI, we are
currently enabling PVC in post-commit only. When the bug gets fixed, we
can move PVC testing to pre-commit.
  • Loading branch information
uditagarwal97 authored Dec 24, 2024
1 parent a62b220 commit 864038a
Show file tree
Hide file tree
Showing 14 changed files with 51 additions and 5 deletions.
1 change: 1 addition & 0 deletions .github/workflows/sycl-linux-run-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,7 @@ on:
- '["Linux", "gen12"]'
- '["amdgpu"]'
- '["Linux", "arc"]'
- '["Linux", "pvc"]'
- '["cts-cpu"]'
- '["Linux", "build"]'
image:
Expand Down
15 changes: 15 additions & 0 deletions .github/workflows/sycl-post-commit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,21 @@ jobs:
image_options: -u 1001 --device=/dev/dri --device=/dev/kfd
target_devices: ext_oneapi_hip:gpu
reset_intel_gpu: false
- name: E2E tests on Intel Ponte Vecchio GPU
runner: '["Linux", "pvc"]'
env: '{"LIT_FILTER_OUT":"ESIMD/unified_memory_api/"}'
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest
image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN
target_devices: ext_oneapi_level_zero:gpu;opencl:gpu
extra_lit_opts: -j 50
- name: E2E tests with dev igc on Intel Ponte Vecchio GPU
runner: '["Linux", "pvc"]'
env: '{"LIT_FILTER_OUT":"ESIMD/unified_memory_api/"}'
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:devigc
image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN
target_devices: ext_oneapi_level_zero:gpu;opencl:gpu
use_igc_dev: true
extra_lit_opts: -j 50
# Performance tests below. Specifics:
# - only run performance tests (use LIT_FILTER env)
# - ask llvm-lit to show all the output, even for PASS (-a)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@
// RUN: %{build} %device_asan_flags -O2 -g -o %t3.out
// RUN: %{run} not %t3.out 2>&1 | FileCheck %s

// Flakily timesout on PVC
// UNSUPPORTED: arch-intel_gpu_pvc
// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/16401

#include <sycl/detail/core.hpp>

#include <sycl/ext/oneapi/device_global/device_global.hpp>
Expand Down
4 changes: 4 additions & 0 deletions sycl/test-e2e/Basic/accessor/accessor.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
// RUN: %{build} -DSYCL2020_DISABLE_DEPRECATION_WARNINGS -o %t.out
// RUN: %{run} %t.out

// Test flakily fails on PVC.
// UNSUPPORTED: arch-intel_gpu_pvc
// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/16401

//==----------------accessor.cpp - SYCL accessor basic test ----------------==//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
// REQUIRES: arch-intel_gpu_pvc, ocloc

// XFAIL: arch-intel_gpu_pvc
// XFAIL-TRACKER: https://github.com/intel/llvm/issues/16401

// RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_pvc %s -o %t.out
// RUN: %{run} %t.out

Expand Down
2 changes: 2 additions & 0 deletions sycl/test-e2e/DeviceCodeSplit/grf.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
// compiler option

// REQUIRES: arch-intel_gpu_pvc
// XFAIL: arch-intel_gpu_pvc
// XFAIL-TRACKER: https://github.com/intel/llvm/issues/16401

// RUN: %{build} -Wno-error=deprecated-declarations -o %t1.out
// RUN: env SYCL_UR_TRACE=2 %{run} %t1.out 2>&1 | FileCheck %s --check-prefixes=CHECK,CHECK-NO-VAR
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@
// RUN: env NEOReadDebugKeys=1 CreateMultipleRootDevices=3 SYCL_CACHE_PERSISTENT=1 SYCL_CACHE_TRACE=1 SYCL_CACHE_DIR=%t/cache_dir env -u XDG_CACHE_HOME env -u HOME %{run} %t.out 2>&1 | FileCheck %s --check-prefixes=CHECK-BUILD
// RUN: env NEOReadDebugKeys=1 CreateMultipleRootDevices=3 SYCL_CACHE_PERSISTENT=1 SYCL_CACHE_TRACE=1 SYCL_CACHE_DIR=%t/cache_dir env -u XDG_CACHE_HOME env -u HOME %{run} %t.out 2>&1 | FileCheck %s --check-prefixes=CHECK-CACHE

// XFAIL: arch-intel_gpu_pvc
// XFAIL-TRACKER: https://github.com/intel/llvm/issues/16401

// Test checks that persistent cache works correctly with multiple devices.

#include <sycl/detail/core.hpp>
Expand Down
7 changes: 4 additions & 3 deletions sycl/test-e2e/MemorySanitizer/lit.local.cfg
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
# TRACKER: https://github.com/intel/llvm/issues/16184
has_arch_gpu_intel_pvc = any('arch-intel_gpu_pvc' in T for T in config.sycl_dev_features.values())
if not has_arch_gpu_intel_pvc:
config.unsupported_features += ['gpu']
# TRACKER for PVC: https://github.com/intel/llvm/issues/16401
#has_arch_gpu_intel_pvc = any('arch-intel_gpu_pvc' in T for T in config.sycl_dev_features.values())
#if not has_arch_gpu_intel_pvc:
config.unsupported_features += ['gpu']

config.substitutions.append(
("%device_msan_flags", "-Xarch_device -fsanitize=memory")
Expand Down
2 changes: 1 addition & 1 deletion sycl/test-e2e/OnlineCompiler/online_compiler_L0.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// REQUIRES: level_zero, level_zero_dev_kit, cm-compiler
// XFAIL: gpu
// XFAIL: gpu && !(arch-intel_gpu_pvc && igc-dev)
// XFAIL-TRACKER: https://github.com/intel/llvm/issues/16406
// RUN: %{build} -Wno-error=deprecated-declarations -DRUN_KERNELS %level_zero_options -o %t.out
// RUN: %{run} %t.out
Expand Down
2 changes: 1 addition & 1 deletion sycl/test-e2e/OnlineCompiler/online_compiler_OpenCL.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// REQUIRES: opencl, opencl_icd, cm-compiler
// XFAIL: gpu || cpu || accelerator
// XFAIL: (gpu && !(arch-intel_gpu_pvc && igc-dev)) || cpu || accelerator
// XFAIL-TRACKER: https://github.com/intel/llvm/issues/16406
// RUN: %{build} -Wno-error=deprecated-declarations -DRUN_KERNELS %opencl_lib -o %t.out
// RUN: %{run} %t.out
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@
// RUN: %{build} -o %t.out
// RUN: env NEOReadDebugKeys=1 CreateMultipleRootDevices=3 SYCL_UR_TRACE=2 %{run} %t.out | FileCheck %s

// XFAIL: arch-intel_gpu_pvc
// XFAIL-TRACKER: https://github.com/intel/llvm/issues/16401

#include <sycl/detail/core.hpp>
#include <sycl/kernel_bundle.hpp>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@
// Check the case when in-memory caching of the programs is disabled.
// RUN: env SYCL_CACHE_IN_MEM=0 NEOReadDebugKeys=1 CreateMultipleRootDevices=4 %{run} %t.out

// XFAIL: arch-intel_gpu_pvc
// XFAIL-TRACKER: https://github.com/intel/llvm/issues/16401

#include <cmath>
#include <complex>
#include <sycl/detail/core.hpp>
Expand Down
4 changes: 4 additions & 0 deletions sycl/test-e2e/Regression/multithread_write_accessor.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
// RUN: %{build} -o %t.out %threads_lib
// RUN: %{run} %t.out

// XFAIL: arch-intel_gpu_pvc
// XFAIL-TRACKER: https://github.com/intel/llvm/issues/16401

#include <sycl/detail/core.hpp>

#include <cassert>
Expand Down
3 changes: 3 additions & 0 deletions sycl/test-e2e/syclcompat/launch/launch_policy_lmem.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@
// UNSUPPORTED: linux && opencl && (gpu-intel-gen12 || gpu-intel-dg2)
// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/15275

// XFAIL: arch-intel_gpu_pvc
// XFAIL-TRACKER: https://github.com/intel/llvm/issues/16401

#include <sycl/detail/core.hpp>
#include <sycl/ext/oneapi/properties/properties.hpp>
#include <sycl/group_barrier.hpp>
Expand Down

0 comments on commit 864038a

Please sign in to comment.