Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
994f724
[SYCL][L0v2] Enable queue_priority, usm_residency, queue_submit_mode …
kekaczma Aug 25, 2026
1e47a4b
[SYCL][L0v2] Enable v2 adapter tests
kekaczma Aug 25, 2026
a833509
[SYCL][L0v2] Fix low-effort v2 test mismatches
kekaczma Sep 8, 2026
f41d40c
[SYCL][L0v2] Fix imm_cmdlist_per_thread.cpp v2 CHECK
kekaczma Sep 11, 2026
b2f4988
Revert: [SYCL][L0v2] Fix imm_cmdlist_per_thread.cpp v2 CHECK
kekaczma Sep 11, 2026
294ffe8
[SYCL][L0v2] Enable 4 verified L0v2 tests, revert the rest to UNSUPPO…
kekaczma Sep 11, 2026
4775f0d
[SYCL][L0v2] Comment cleanup: precise and unify UNSUPPORTED-INTENDED …
kekaczma Sep 11, 2026
78c1bc6
[SYCL][L0v2] Fix interop-direct.cpp: merge v2 build+run into one RUN …
kekaczma Sep 11, 2026
7f38e22
[SYCL][L0v2] Enable events_caching.cpp for v2 adapter
kekaczma Sep 15, 2026
c21cf33
[SYCL][L0v2] Fix interop-direct.cpp: select device via SYCL, not raw …
kekaczma Sep 15, 2026
2e086df
[SYCL][L0v2] Port merged buffer-aliasing UB fix from #23217
kekaczma Sep 28, 2026
415c7d3
Merge remote-tracking branch 'origin/sycl' into enable-l0v2-tests
kekaczma Sep 28, 2026
aebca30
[SYCL][L0v2] Update commnets for unduported L0v2 test cases
kekaczma Sep 29, 2026
9303205
[SYCL][L0v2] Restore UNSUPPORTED-INTENDED tag required by e2e lint check
kekaczma Oct 9, 2026
d9355c7
[SYCL][L0v2] Accept both counter-based event API names in events_cach…
kekaczma Oct 15, 2026
66b99fc
Merge remote-tracking branch 'origin/sycl' into enable-l0v2-tests
kekaczma Oct 15, 2026
cced82b
[SYCL][L0v2] Check zeEventDestroy instead of the create-side name
kekaczma Oct 16, 2026
d02c21f
[SYCL][L0v2] Test event reuse via distinct native handle count, not t…
kekaczma Oct 16, 2026
6729e39
[SYCL][L0v2] Combine distinct-handle and destroy-count signals
kekaczma Oct 19, 2026
690a6b9
[SYCL][L0v2] Trim events_caching.cpp comment
kekaczma Oct 19, 2026
5532d1e
[SYCL][L0v2] Fix event caching checks ordering and count boundaries
kekaczma Oct 19, 2026
dc2f8a4
[SYCL][L0v2] Use UR configuration variables in USM pooling test
kekaczma Oct 23, 2026
d286a41
[SYCL][L0v2] Describe only current reasons in UNSUPPORTED-INTENDED co…
kekaczma Oct 23, 2026
331bd70
[SYCL][L0v2] Accept high-priority levels in queue_priority test
kekaczma Oct 23, 2026
e279b83
Merge origin/sycl into enable-l0v2-tests
kekaczma Oct 26, 2026
735c4b4
[SYCL][L0v2] Test only the public contract in queue_priority
kekaczma Oct 26, 2026
2c17196
[SYCL][L0v2] Bound pool size instead of exact count in queue_create
kekaczma Oct 26, 2026
0055e17
[SYCL][L0v2] Tighten command list bound in queue_create
kekaczma Oct 26, 2026
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
3 changes: 2 additions & 1 deletion sycl/test-e2e/Adapters/level_zero/batch_barrier.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// REQUIRES: gpu, level_zero, level_zero_dev_kit
// UNSUPPORTED: level_zero_v2_adapter
// UNSUPPORTED-INTENDED: v2 adapter does not support regular cmd lists
// UNSUPPORTED-INTENDED: this test relies on L0v1 regular-command-list
// batching behavior.

// UNSUPPORTED: windows && gpu-intel-gen12
// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/21556
Expand Down
3 changes: 2 additions & 1 deletion sycl/test-e2e/Adapters/level_zero/batch_event_status.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/21556

// UNSUPPORTED: level_zero_v2_adapter
// UNSUPPORTED-INTENDED: v2 adapter does not support regular cmd lists
// UNSUPPORTED-INTENDED: this test relies on L0v1 regular-command-list
// batching behavior.

// UNSUPPORTED: ze_debug
// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/22347
Expand Down
4 changes: 2 additions & 2 deletions sycl/test-e2e/Adapters/level_zero/batch_test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
// UNSUPPORTED: ze_debug
// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/22347
// UNSUPPORTED: level_zero_v2_adapter
// UNSUPPORTED-INTENDED: V1-only; V2 does not preserve zeCommandListClose/
// zeCommandQueueExecuteCommandLists flush points.
// UNSUPPORTED-INTENDED: this test relies on L0v1 regular-command-list
// batching behavior.

// UNSUPPORTED: windows && gpu-intel-gen12
// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/21556
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
// UNSUPPORTED: ze_debug
// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/22347
// UNSUPPORTED: level_zero_v2_adapter
// UNSUPPORTED-INTENDED: V1-only; V2 does not preserve zeCommandListClose/
// zeCommandQueueExecuteCommandLists flush points.
// UNSUPPORTED-INTENDED: this test relies on L0v1 regular-command-list
// batching behavior.

// UNSUPPORTED: windows && (gpu-intel-gen12 || gpu-intel-dg2)
// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/21556
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
// UNSUPPORTED: ze_debug
// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/22347
// UNSUPPORTED: level_zero_v2_adapter
// UNSUPPORTED-INTENDED: V1-only
// UNSUPPORTED-INTENDED: UR_L0_DEVICE_SCOPE_EVENTS is V1-only.

// UNSUPPORTED: windows && (gpu-intel-gen12 || gpu-intel-dg2)
// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/21766
Expand Down
4 changes: 2 additions & 2 deletions sycl/test-e2e/Adapters/level_zero/eager_init.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
// function names that we match in the test.

// UNSUPPORTED: level_zero_v2_adapter
// UNSUPPORTED-INTENDED: Level Zero v2 adapter performs lazy initialization
// and does not support SYCL_EAGER_INIT=1, which this test requires.
// UNSUPPORTED-INTENDED: L0v2 does not consume SYCL_EAGER_INIT/UR_L0_EAGER_INIT;
// queue execution resources are initialized eagerly by design.

// UNSUPPORTED: windows && gpu-intel-gen12
// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/21556
Expand Down
22 changes: 17 additions & 5 deletions sycl/test-e2e/Adapters/level_zero/events_caching.cpp
Original file line number Diff line number Diff line change
@@ -1,32 +1,44 @@
// REQUIRES: gpu, level_zero
// UNSUPPORTED: level_zero_v2_adapter
// UNSUPPORTED-INTENDED: v2 adapter does not allow disabling caching

// RUN: %{build} -o %t.out

// RUN: %{l0_leak_check} %{run} %t.out 2>&1 | FileCheck --check-prefixes=CACHING-ENABLED %s
// RUN: env SYCL_PI_LEVEL_ZERO_DISABLE_EVENTS_CACHING=0 %{l0_leak_check} %{run} %t.out 2>&1 | FileCheck --check-prefixes=CACHING-ENABLED %s
// RUN: env SYCL_PI_LEVEL_ZERO_DISABLE_EVENTS_CACHING=1 %{l0_leak_check} %{run} %t.out 2>&1 | FileCheck --check-prefixes=CACHING-DISABLED %s
// RUN: %{l0_leak_check} %{run} %t.out 2>&1 | FileCheck --check-prefixes=%if level_zero_v2_adapter %{CHECK-V2%} %else %{CACHING-ENABLED%} %s
// RUN: %if !level_zero_v2_adapter %{env SYCL_PI_LEVEL_ZERO_DISABLE_EVENTS_CACHING=0 %{l0_leak_check} %{run} %t.out 2>&1 | FileCheck --check-prefixes=CACHING-ENABLED %s%}
// RUN: %if !level_zero_v2_adapter %{env SYCL_PI_LEVEL_ZERO_DISABLE_EVENTS_CACHING=1 %{l0_leak_check} %{run} %t.out 2>&1 | FileCheck --check-prefixes=CACHING-DISABLED %s%}
//
// With events caching we should be reusing them and 9 should be enough.
// Might require more than one if previous one hasn't been released by the time
// we need a new one.
//
// L0v2 has no on/off switch for event caching, so check reuse directly.
// Handle reuse alone may result from driver address recycling.
// A low destroy count confirms resource reuse.

// CACHING-ENABLED: zeEventCreate = {{[1-9]}}
// CACHING-DISABLED: zeEventCreate = 256
// CHECK-V2-DAG: Distinct native event handles: {{[1-9][0-9]?[[:space:]]*$}}
// CHECK-V2-DAG: zeEventDestroy = {{[1-9][0-9]?([[:space:]]|$)}}

// Check event caching modes in the L0 adapter.

#include <iostream>
#include <set>
#include <sycl/detail/core.hpp>
#include <sycl/ext/oneapi/backend/level_zero.hpp>

int main() {
sycl::queue deviceQueue;
std::set<ze_event_handle_t> distinctEvents;

for (int i = 0; i < 256; i++) {
auto Event = deviceQueue.submit([&](sycl::handler &cgh) {
cgh.single_task<class SimpleKernel>([=]() {});
});
Event.wait();
distinctEvents.insert(
sycl::get_native<sycl::backend::ext_oneapi_level_zero>(Event));
}
std::cout << "Distinct native event handles: " << distinctEvents.size()
<< "\n";
return 0;
}
80 changes: 33 additions & 47 deletions sycl/test-e2e/Adapters/level_zero/interop-direct.cpp
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
// REQUIRES: level_zero, level_zero_dev_kit
// UNSUPPORTED: ze_debug
// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/22347
// UNSUPPORTED: level_zero_v2_adapter
// UNSUPPORTED-INTENDED: V1-only behavior for
// UR_L0_USE_IMMEDIATE_COMMANDLISTS=0/1

// RUN: %{build} %level_zero_options -o %t.out
// RUN: env UR_L0_USE_IMMEDIATE_COMMANDLISTS=0 %{run} %t.out
// RUN: env UR_L0_USE_IMMEDIATE_COMMANDLISTS=1 %{run} %t.out
// RUN: %if !level_zero_v2_adapter %{env UR_L0_USE_IMMEDIATE_COMMANDLISTS=0 %{run} %t.out%}
// RUN: %if !level_zero_v2_adapter %{env UR_L0_USE_IMMEDIATE_COMMANDLISTS=1 %{run} %t.out%}
//
// L0v2 make_queue() supports wrapping an in-order immediate command list,
// but not a bare command queue.
// RUN: %if level_zero_v2_adapter %{%{build} %level_zero_options -DTEST_LEVEL_ZERO_V2_NATIVE_INTEROP -o %t_v2.out && %{run} %t_v2.out%}

#include <iostream>
#include <level_zero/ze_api.h>
Expand All @@ -31,26 +32,14 @@ int main() {
return 1;
}

// Create Driver
uint32_t driver_handle_count = 0;
result = zeDriverGet(&driver_handle_count, nullptr);
if (result != ZE_RESULT_SUCCESS) {
std::cout << "zeDriverGet failed\n";
return 1;
}
std::cout << "Found " << driver_handle_count << " driver(s)\n";
if (driver_handle_count == 0)
return 1;

std::vector<ze_driver_handle_t> driver_handles(driver_handle_count);
result = zeDriverGet(&driver_handle_count, driver_handles.data());
if (result != ZE_RESULT_SUCCESS) {
std::cout << "zeDriverGet failed\n";
return 1;
}

ze_driver_handle_t ZeDriver = driver_handles[0];
std::cout << "Using default driver, index 0\n";
// Respects ONEAPI_DEVICE_SELECTOR, unlike raw zeDriverGet/zeDeviceGet.
device SyclSelectedDevice;
platform SyclSelectedPlatform = SyclSelectedDevice.get_platform();
ze_driver_handle_t ZeDriver =
get_native<backend::ext_oneapi_level_zero>(SyclSelectedPlatform);
ze_device_handle_t ZeDevice0 =
get_native<backend::ext_oneapi_level_zero>(SyclSelectedDevice);
std::cout << "Using SYCL-selected driver and device\n";

// Everything below is created with ownership::keep, so this test owns the
// Level Zero handles and must destroy them. Declared before the SYCL interop
Expand Down Expand Up @@ -79,42 +68,31 @@ int main() {
}
ZeOwned.Context = ZeContext;

// Create Devices
uint32_t device_count = 0;
result = zeDeviceGet(ZeDriver, &device_count, nullptr);
if (result != ZE_RESULT_SUCCESS) {
std::cout << "zeDeviceGet failed to get count of devices\n";
return 1;
}

std::vector<ze_device_handle_t> ZeDevices(device_count);
result = zeDeviceGet(ZeDriver, &device_count, ZeDevices.data());
if (result != ZE_RESULT_SUCCESS) {
std::cout << "zeDeviceGet failed to get device handles\n";
return 1;
}
std::cout << "Using default device, index 0\n";

// Create Command Queue
ze_command_queue_desc_t Qdescriptor = {};
Qdescriptor.stype = ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC;
Qdescriptor.mode = ZE_COMMAND_QUEUE_MODE_ASYNCHRONOUS;
Qdescriptor.ordinal = 0;
Qdescriptor.index = 0;
#ifdef TEST_LEVEL_ZERO_V2_NATIVE_INTEROP
Qdescriptor.flags = ZE_COMMAND_QUEUE_FLAG_IN_ORDER;
#endif

#ifndef TEST_LEVEL_ZERO_V2_NATIVE_INTEROP
ze_command_queue_handle_t ZeCommand_queue = nullptr;
result = zeCommandQueueCreate(ZeContext, ZeDevices[0], &Qdescriptor,
result = zeCommandQueueCreate(ZeContext, ZeDevice0, &Qdescriptor,
&ZeCommand_queue);
if (result != ZE_RESULT_SUCCESS) {
std::cout << "zeCommandQueueCreate failed\n";
return 1;
}
ZeOwned.Queue = ZeCommand_queue;
std::cout << "Commandqueue created: " << ZeCommand_queue << std::endl;
#endif

// Create Command List
ze_command_list_handle_t ZeCommand_list = nullptr;
result = zeCommandListCreateImmediate(ZeContext, ZeDevices[0], &Qdescriptor,
result = zeCommandListCreateImmediate(ZeContext, ZeDevice0, &Qdescriptor,
&ZeCommand_list);
if (result != ZE_RESULT_SUCCESS) {
std::cout << "zeCommandListCreate failed\n";
Expand All @@ -125,7 +103,7 @@ int main() {

// Interop object creation
backend_traits<backend::ext_oneapi_level_zero>::return_type<device> ZeDevice;
ZeDevice = ZeDevices[0];
ZeDevice = ZeDevice0;

backend_input_t<backend::ext_oneapi_level_zero, platform>
InteropPlatformInput{ZeDriver};
Expand All @@ -146,6 +124,7 @@ int main() {
make_context<backend::ext_oneapi_level_zero>(InteropContextInput);
std::cout << "Made context\n";

#ifndef TEST_LEVEL_ZERO_V2_NATIVE_INTEROP
backend_input_t<backend::ext_oneapi_level_zero, queue> InteropQueueInputCQ{
ZeCommand_queue, InteropDevice, ext::oneapi::level_zero::ownership::keep};
queue InteropQueueCQ = make_queue<backend::ext_oneapi_level_zero>(
Expand All @@ -170,6 +149,7 @@ int main() {
return 1;
}
}
#endif

backend_input_t<backend::ext_oneapi_level_zero, queue> InteropQueueInputCL{
ZeCommand_list, InteropDevice, ext::oneapi::level_zero::ownership::keep};
Expand All @@ -195,6 +175,12 @@ int main() {
return 1;
}

#ifdef TEST_LEVEL_ZERO_V2_NATIVE_INTEROP
queue &InteropQueueForOps = InteropQueueCL;
#else
queue &InteropQueueForOps = InteropQueueCQ;
#endif

int dataSycl[3] = {7, 8, 0};
int dataCQ[3] = {7, 8, 0};
int dataCL[3] = {7, 8, 0};
Expand Down Expand Up @@ -225,9 +211,9 @@ int main() {
std::cout << "GPU Result from SYCL Q = {" << hostOut[0] << ", "
<< hostOut[1] << ", " << hostOut[2] << "}" << std::endl;

// Try interop queue with standard commandlist
InteropQueueCQ.copy<int>(addend, deviceData, 2).wait();
InteropQueueCQ.submit([&](handler &cgh) {
// Try interop queue (command queue on v1, immediate command list on v2)
InteropQueueForOps.copy<int>(addend, deviceData, 2).wait();
InteropQueueForOps.submit([&](handler &cgh) {
accessor numbers{bufDataCQ, cgh, read_write};
cgh.parallel_for(dataCount,
[=](id<1> Id) { numbers[Id] += deviceData[0]; });
Expand Down
3 changes: 2 additions & 1 deletion sycl/test-e2e/Adapters/level_zero/memory_fill.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// REQUIRES: gpu, level_zero, level_zero_dev_kit
// UNSUPPORTED: level_zero_v2_adapter
// UNSUPPORTED-INTENDED: v2 adapter does not allow specifying command queue.
// UNSUPPORTED-INTENDED: the engine-selection control used by this test is
// V1-only.

// UNSUPPORTED: windows && (gpu-intel-gen12 || gpu-intel-dg2)
// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/21556
Expand Down
18 changes: 13 additions & 5 deletions sycl/test-e2e/Adapters/level_zero/queue_create.cpp
Original file line number Diff line number Diff line change
@@ -1,12 +1,20 @@
// REQUIRES: level_zero, level_zero_dev_kit
// UNSUPPORTED: level_zero_v2_adapter
// UNSUPPORTED-INTENDED: v2 adapter does not support regular cmd lists
// RUN: %{build} %level_zero_options -o %t.out
// RUN: env SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=0 %{l0_leak_check} %{run} %t.out 2>&1 | FileCheck %s
// RUN: env SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=0 %{l0_leak_check} %{run} %t.out 2>&1 | FileCheck %s --check-prefixes=%if level_zero_v2_adapter %{CHECK-V2%} %else %{CHECK%}
//
// The test checks that the Level Zero execution resources associated with a
// SYCL queue are created once and reused across all 1000 submissions,
// rather than being recreated per-submission, using the embedded
// UR_L0_LEAKS_DEBUG=1 testing capability.
//
// v1 creates a single regular command queue for the whole run:
// CHECK: zeCommandQueueCreate = 1 \---> zeCommandQueueDestroy = 1
// The test is to check that there is only a single level zero queue created
// with the embedded UR_L0_LEAKS_DEBUG=1 testing capability.
//
// L0v2 creates a queue's immediate command lists once, in its constructor (a
// pool of 4 today), so the count must not grow with the 1000 submissions; 1-16
// leaves headroom. Every list that was created must be destroyed.
// CHECK-V2: zeCommandListCreateImmediate = [[N:[1-9]|1[0-6]]]{{([[:space:]]|$)}}
// CHECK-V2: zeCommandListCreate = 0 \---> zeCommandListDestroy = [[N]]{{([[:space:]]|$)}}
//

#include <sycl/detail/core.hpp>
Expand Down
15 changes: 11 additions & 4 deletions sycl/test-e2e/Adapters/level_zero/queue_priority.cpp
Original file line number Diff line number Diff line change
@@ -1,15 +1,20 @@
// REQUIRES: gpu, level_zero, level_zero_dev_kit
// UNSUPPORTED: level_zero_v2_adapter
// UNSUPPORTED-INTENDED: v2 adapter does not support regular cmd lists
// RUN: %{build} %level_zero_options -o %t.out
// RUN: env UR_L0_DEBUG=1 SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=0 %{run} %t.out 2>&1 | FileCheck %s --check-prefixes=CHECK-STD
// RUN: env UR_L0_DEBUG=1 SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=1 %{run} %t.out 2>&1 | FileCheck %s --check-prefixes=CHECK-IMM
// RUN: env UR_L0_DEBUG=1 SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=0 %{run} %t.out 2>&1 | FileCheck %s --check-prefixes=%if level_zero_v2_adapter %{CHECK-V2%} %else %{CHECK-STD%}
// RUN: env UR_L0_DEBUG=1 SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=1 %{run} %t.out 2>&1 | FileCheck %s --check-prefixes=%if level_zero_v2_adapter %{CHECK-V2%} %else %{CHECK-IMM%}
//
// Check that queue priority is passed to Level Zero runtime
// This is the last value in the ZE_STRUCTURE_TYPE_COMMAND_QUEUE_DESC
//
// With immediate command lists the command lists are recycled between queues in
// a context.
//
// SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS is a v1-only selector between
// regular (CHECK-STD) and immediate (CHECK-IMM) command lists; v2 always uses
// immediate command lists and does not read this variable, so both RUN lines
// exercise the same v2 code path (CHECK-V2). The v2 checks cover only the
// public contract; how priorities map to Level Zero is covered by the adapter
// tests.
#include <iostream>
#include <sycl/detail/core.hpp>
#include <sycl/properties/all_properties.hpp>
Expand Down Expand Up @@ -45,6 +50,7 @@ int main(int Argc, const char *Argv[]) {

// CHECK-STD: Queue cannot be constructed with different priorities.
// CHECK-IMM: Queue cannot be constructed with different priorities.
// CHECK-V2: Queue cannot be constructed with different priorities.
try {
test(C, D,
{sycl::ext::oneapi::property::queue::priority_low{},
Expand All @@ -53,6 +59,7 @@ int main(int Argc, const char *Argv[]) {
std::cerr << E.what() << std::endl;
}

// CHECK-V2: The test passed.
std::cout << "The test passed." << std::endl;
return 0;
}
3 changes: 2 additions & 1 deletion sycl/test-e2e/Adapters/level_zero/usm_residency.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// REQUIRES: gpu, level_zero
// UNSUPPORTED: level_zero_v2_adapter
// UNSUPPORTED-INTENDED: v2 adapter does not support changing residency.
// UNSUPPORTED-INTENDED: this test relies on the L0v1-specific
// SYCL_PI_LEVEL_ZERO_USM_RESIDENT configuration.

// RUN: %{build} %level_zero_options -o %t.out
// RUN: env SYCL_UR_TRACE=2 UR_L0_DEBUG=-1 %{l0_leak_check} %{run} %t.out 2>&1 | FileCheck --check-prefixes=DEVICE %s
Expand Down
6 changes: 3 additions & 3 deletions sycl/test-e2e/Adapters/queue_submit_mode.cpp
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
// REQUIRES: gpu, level_zero
// UNSUPPORTED: level_zero_v2_adapter
// UNSUPPORTED-INTENDED: v2 adapter does support regular cmd lists
// RUN: %{build} %level_zero_options -o %t.out
// RUN: env %{l0_leak_check} SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=0 %{run} %t.out 0 2>&1 | FileCheck %s --check-prefixes=CHECK-STD
// RUN: env %{l0_leak_check} SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=1 %{run} %t.out 1 2>&1 | FileCheck %s --check-prefixes=CHECK-IMM
// RUN: env %{l0_leak_check} SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=1 %{run} %t.out 1 2>&1 | FileCheck %s --check-prefixes=%if level_zero_v2_adapter %{CHECK-IMM-V2%} %else %{CHECK-IMM%}
//
// UNSUPPORTED: target-native_cpu
// UNSUPPORTED-TRACKER: https://github.com/intel/llvm/issues/20142
Expand Down Expand Up @@ -38,6 +36,8 @@ int main(int argc, char *argv[]) {

// CHECK-STD: zeCommandListCreateImmediate = 1
// CHECK-IMM: zeCommandListCreateImmediate = 2
// L0v2 out-of-order queues use a fixed pool of 4 immediate command lists.
// CHECK-IMM-V2: zeCommandListCreateImmediate = 4
queue Q1{P};
queue_submit(Q1);

Expand Down
Loading
Loading