Skip to content

Commit b8a7ff6

Browse files
committed
commit
1 parent ceae49b commit b8a7ff6

File tree

9 files changed

+63
-1
lines changed

9 files changed

+63
-1
lines changed

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

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,11 @@ jobs:
189189
target_devices: level_zero:gpu;opencl:gpu;opencl:cpu
190190
extra_lit_opts: --param test-preview-mode=True
191191
binaries_artifact: e2e_bin_preview
192+
- name: New Offload Model
193+
runner: '[Linux, "gen12"]'
194+
target_devices: opencl:cpu
195+
extra_lit_opts: --param enable_new_offload_model=True
196+
testing_mode: 'build-only'
192197

193198
# We're in an ABI-breaking window, so these don't make sense for now.
194199
- name: ABI compatibility / sycl-rel-6_2
@@ -219,7 +224,7 @@ jobs:
219224
toolchain_artifact_filename: ${{ needs.build.outputs.toolchain_artifact_filename }}
220225
toolchain_decompress_command: ${{ needs.build.outputs.toolchain_decompress_command }}
221226
binaries_artifact: ${{ matrix.binaries_artifact || 'e2e_bin' }}
222-
testing_mode: 'run-only'
227+
testing_mode: ${{ matrix.testing_mode || 'run-only' }}
223228

224229
# Do not install drivers on AMD and CUDA runners.
225230
install_igc_driver: >-

.github/workflows/sycl-nightly.yml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,28 @@ jobs:
197197
toolchain_artifact_filename: ${{ needs.ubuntu2404_oneapi_build.outputs.toolchain_artifact_filename }}
198198
toolchain_decompress_command: ${{ needs.ubuntu2404_oneapi_build.outputs.toolchain_decompress_command }}
199199

200+
e2e-with-new-offload-model:
201+
needs: [ubuntu2204_build]
202+
if: ${{ !cancelled() && needs.ubuntu2204_build.outputs.build_conclusion == 'success' }}
203+
strategy:
204+
fail-fast: false
205+
uses: ./.github/workflows/sycl-linux-run-tests.yml
206+
permissions:
207+
contents: write
208+
packages: read
209+
with:
210+
name: "E2E with enabled NewOffloadModel"
211+
runner: ${{ inputs.runner }}
212+
image_options: ${{ inputs.image_options }}
213+
tests_selector: e2e
214+
testing_mode: ${{ inputs.testing_mode }}
215+
target_devices: ${{ inputs.target_devices }}
216+
extra_lit_opts: "--param enable_new_offload_model=True"
217+
tests_ref: ${{ github.sha }}
218+
toolchain_artifact: ${{ needs.ubuntu2204_build.outputs.toolchain_artifact }}
219+
toolchain_artifact_filename: ${{ needs.ubuntu2204_build.outputs.toolchain_artifact_filename }}
220+
toolchain_decompress_command: ${{ needs.ubuntu2204_build.outputs.toolchain_decompress_command }}
221+
200222
build-win:
201223
needs: get_date
202224
uses: ./.github/workflows/sycl-windows-build.yml
@@ -239,6 +261,22 @@ jobs:
239261
target_devices: ${{ matrix.target_devices }}
240262
toolchain_artifact_filename: ${{ needs.build-win.outputs.toolchain_artifact_filename }}
241263

264+
e2e-win-with-new-offload-model:
265+
needs: [build-win]
266+
if: ${{ !cancelled() && needs.build-win.outputs.build_conclusion == 'success' }}
267+
strategy:
268+
fail-fast: false
269+
uses: ./.github/workflows/sycl-windows-run-tests.yml
270+
permissions: read-all
271+
with:
272+
name: "E2E Windows with enabled NewOffloadModel"
273+
runner: '["Windows", arc"]'
274+
tests_selector: e2e
275+
testing_mode: ${{ inputs.testing_mode }}
276+
target_devices: level_zero:gpu
277+
extra_lit_opts: "--param enable_new_offload_model=True"
278+
toolchain_artifact_filename: ${{ needs.build-win.outputs.toolchain_artifact_filename }}
279+
242280
cuda-aws-start:
243281
needs: [ubuntu2204_build]
244282
if: ${{ !cancelled() && needs.ubuntu2204_build.outputs.build_conclusion == 'success' }}

sycl/test-e2e/AOT/double.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@
1313
// for pvc on windows.)
1414
// RUN: %if !windows %{ %clangxx -fsycl -fsycl-targets=intel_gpu_pvc -o %t.pvc.out %s %}
1515

16+
// UNSUPPORTED: new-offload-model
17+
// UNSUPPORTED-TRACKER: CMPLRLLVM-71777
18+
1619
// UNSUPPORTED: target-native_cpu
1720
// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/20142
1821

sycl/test-e2e/AOT/reqd-sg-size.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55
// RUN: %clangxx -fsycl -fsycl-targets=intel_gpu_tgllp -o %t.tgllp.out %s
66
// RUN: %clangxx -fsycl -fsycl-targets=spir64_x86_64 -o %t.x86.out %s
77

8+
// UNSUPPORTED: new-offload-model
9+
// UNSUPPORTED-TRACKER: CMPLRLLVM-71777
10+
811
// ocloc on windows does not have support for PVC, so this command will
912
// result in an error when on windows. (In general, there is no support
1013
// for pvc on windows.)

sycl/test-e2e/Compression/compression_separate_compile.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@
99
// XFAIL: target-native_cpu
1010
// XFAIL-TRACKER: https://github.com/intel/llvm/issues/20397
1111

12+
// UNSUPPORTED: new-offload-model
13+
// UNSUPPORTED-TRACKER: CMPLRLLVM-71777
14+
1215
// CPU AOT targets host isa, so we compile everything on the run system instead.
1316
////////////////////// Compile device images
1417
// RUN: %{run-aux} %clangxx -fsycl -fsycl-targets=spir64_x86_64 -fsycl-host-compiler=clang++ -fsycl-host-compiler-options='-std=c++17 -Wno-attributes -Wno-deprecated-declarations -fPIC -DENABLE_KERNEL1' -DENABLE_KERNEL1 -c %s -o %t_kernel1_aot.o

sycl/test-e2e/E2EExpr.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ class E2EExpr(BooleanExpression):
4848
"pdtracker",
4949
"ze_debug",
5050
"device-config-file",
51+
"new-offload-model",
5152
}
5253

5354
def __init__(self, string, variables, build_only_mode, final_unknown_value):

sycl/test-e2e/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -323,6 +323,7 @@ configure specific single test execution in the command line:
323323
by CMake variable HIP_LIBS_DIR (autodetected).
324324
* **run_launcher** - part of `%{run*}` expansion/substitution to alter execution
325325
of the test by, e.g., running it through Valgrind.
326+
* **enable_new_offload_model** - enables New Offload Model driver mode for all tests.
326327
327328
Example:
328329

sycl/test-e2e/SeparateCompile/test.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
// UNSUPPORTED: new-offload-model
2+
// UNSUPPORTED-TRACKER: CMPLRLLVM-71777
3+
14
// REQUIRES: target-spir
25
//
36
// FIXME Disabled fallback assert as it'll require either online linking or

sycl/test-e2e/lit.cfg.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -984,6 +984,11 @@ def get_sycl_ls_verbose(sycl_device, env):
984984
"sycl-jit was not found. Tests requiring sycl-jit will be skipped."
985985
)
986986

987+
# Check for enabled NewOffloadModel
988+
if lit_config.params.get("enable_new_offload_model", "False") != "False":
989+
config.available_features.add("new-offload-model")
990+
config.cxx_flags += "--offload-new-driver "
991+
987992
# That has to be executed last so that all device-independent features have been
988993
# discovered already.
989994
config.sycl_dev_features = {}

0 commit comments

Comments
 (0)