diff --git a/sycl/test-e2e/Graph/Explicit/add_node_while_recording.cpp b/sycl/test-e2e/Graph/Explicit/add_node_while_recording.cpp index 8745a10e7ab97..0e8e0b7750780 100644 --- a/sycl/test-e2e/Graph/Explicit/add_node_while_recording.cpp +++ b/sycl/test-e2e/Graph/Explicit/add_node_while_recording.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG @@ -14,6 +13,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + bool Success = false; exp_ext::command_graph Graph{Queue.get_context(), Queue.get_device()}; diff --git a/sycl/test-e2e/Graph/Explicit/add_nodes_after_finalize.cpp b/sycl/test-e2e/Graph/Explicit/add_nodes_after_finalize.cpp index d41484a285602..b8ded93403359 100644 --- a/sycl/test-e2e/Graph/Explicit/add_nodes_after_finalize.cpp +++ b/sycl/test-e2e/Graph/Explicit/add_nodes_after_finalize.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/Explicit/assume_buffer_outlives_graph_property.cpp b/sycl/test-e2e/Graph/Explicit/assume_buffer_outlives_graph_property.cpp index 91754164259e3..29feb8fa9a9f2 100644 --- a/sycl/test-e2e/Graph/Explicit/assume_buffer_outlives_graph_property.cpp +++ b/sycl/test-e2e/Graph/Explicit/assume_buffer_outlives_graph_property.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/Explicit/basic_buffer.cpp b/sycl/test-e2e/Graph/Explicit/basic_buffer.cpp index 60d83b985078d..7b9ec947ac6b8 100644 --- a/sycl/test-e2e/Graph/Explicit/basic_buffer.cpp +++ b/sycl/test-e2e/Graph/Explicit/basic_buffer.cpp @@ -1,4 +1,3 @@ -// REQUIRES: level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/Explicit/basic_usm.cpp b/sycl/test-e2e/Graph/Explicit/basic_usm.cpp index b6d765c60090e..22a6b543518fc 100644 --- a/sycl/test-e2e/Graph/Explicit/basic_usm.cpp +++ b/sycl/test-e2e/Graph/Explicit/basic_usm.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/Explicit/basic_usm_host.cpp b/sycl/test-e2e/Graph/Explicit/basic_usm_host.cpp index ac4564ce5797f..7a0a5cdf38bfb 100644 --- a/sycl/test-e2e/Graph/Explicit/basic_usm_host.cpp +++ b/sycl/test-e2e/Graph/Explicit/basic_usm_host.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/Explicit/basic_usm_mixed.cpp b/sycl/test-e2e/Graph/Explicit/basic_usm_mixed.cpp index 17a2827372667..279cba30a736f 100644 --- a/sycl/test-e2e/Graph/Explicit/basic_usm_mixed.cpp +++ b/sycl/test-e2e/Graph/Explicit/basic_usm_mixed.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/Explicit/basic_usm_shared.cpp b/sycl/test-e2e/Graph/Explicit/basic_usm_shared.cpp index 39843f07ff876..bbe7f2811cd6d 100644 --- a/sycl/test-e2e/Graph/Explicit/basic_usm_shared.cpp +++ b/sycl/test-e2e/Graph/Explicit/basic_usm_shared.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/Explicit/basic_usm_system.cpp b/sycl/test-e2e/Graph/Explicit/basic_usm_system.cpp index 2a8c69c2afca8..722e080d0ae50 100644 --- a/sycl/test-e2e/Graph/Explicit/basic_usm_system.cpp +++ b/sycl/test-e2e/Graph/Explicit/basic_usm_system.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/Explicit/buffer_copy.cpp b/sycl/test-e2e/Graph/Explicit/buffer_copy.cpp index 09b6e47608e1e..bab2d1245d065 100644 --- a/sycl/test-e2e/Graph/Explicit/buffer_copy.cpp +++ b/sycl/test-e2e/Graph/Explicit/buffer_copy.cpp @@ -1,4 +1,3 @@ -// REQUIRES: level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/Explicit/buffer_copy_2d.cpp b/sycl/test-e2e/Graph/Explicit/buffer_copy_2d.cpp index 65084bfb186d0..87c00e471fb82 100644 --- a/sycl/test-e2e/Graph/Explicit/buffer_copy_2d.cpp +++ b/sycl/test-e2e/Graph/Explicit/buffer_copy_2d.cpp @@ -1,4 +1,3 @@ -// REQUIRES: level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/Explicit/buffer_copy_host2target.cpp b/sycl/test-e2e/Graph/Explicit/buffer_copy_host2target.cpp index c8f8f39804721..da21eec096d40 100644 --- a/sycl/test-e2e/Graph/Explicit/buffer_copy_host2target.cpp +++ b/sycl/test-e2e/Graph/Explicit/buffer_copy_host2target.cpp @@ -1,4 +1,3 @@ -// REQUIRES: level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/Explicit/buffer_copy_host2target_2d.cpp b/sycl/test-e2e/Graph/Explicit/buffer_copy_host2target_2d.cpp index da31f17c0c7dd..e070dfa0a0b38 100644 --- a/sycl/test-e2e/Graph/Explicit/buffer_copy_host2target_2d.cpp +++ b/sycl/test-e2e/Graph/Explicit/buffer_copy_host2target_2d.cpp @@ -1,4 +1,3 @@ -// REQUIRES: level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/Explicit/buffer_copy_host2target_offset.cpp b/sycl/test-e2e/Graph/Explicit/buffer_copy_host2target_offset.cpp index d29520d5ac9c5..d9f624f77b5c5 100644 --- a/sycl/test-e2e/Graph/Explicit/buffer_copy_host2target_offset.cpp +++ b/sycl/test-e2e/Graph/Explicit/buffer_copy_host2target_offset.cpp @@ -1,4 +1,3 @@ -// REQUIRES: level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/Explicit/buffer_copy_offsets.cpp b/sycl/test-e2e/Graph/Explicit/buffer_copy_offsets.cpp index 920828cac20d3..29dd8e9380220 100644 --- a/sycl/test-e2e/Graph/Explicit/buffer_copy_offsets.cpp +++ b/sycl/test-e2e/Graph/Explicit/buffer_copy_offsets.cpp @@ -1,4 +1,3 @@ -// REQUIRES: level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/Explicit/buffer_copy_target2host.cpp b/sycl/test-e2e/Graph/Explicit/buffer_copy_target2host.cpp index 9b5175567f9b8..a8a01c9d4cb70 100644 --- a/sycl/test-e2e/Graph/Explicit/buffer_copy_target2host.cpp +++ b/sycl/test-e2e/Graph/Explicit/buffer_copy_target2host.cpp @@ -1,4 +1,3 @@ -// REQUIRES: level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/Explicit/buffer_copy_target2host_2d.cpp b/sycl/test-e2e/Graph/Explicit/buffer_copy_target2host_2d.cpp index 09762d7b97897..5e80d6ec723de 100644 --- a/sycl/test-e2e/Graph/Explicit/buffer_copy_target2host_2d.cpp +++ b/sycl/test-e2e/Graph/Explicit/buffer_copy_target2host_2d.cpp @@ -1,4 +1,3 @@ -// REQUIRES: level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/Explicit/buffer_copy_target2host_offset.cpp b/sycl/test-e2e/Graph/Explicit/buffer_copy_target2host_offset.cpp index 012b9df7dfe32..6bf7b01799db4 100644 --- a/sycl/test-e2e/Graph/Explicit/buffer_copy_target2host_offset.cpp +++ b/sycl/test-e2e/Graph/Explicit/buffer_copy_target2host_offset.cpp @@ -1,4 +1,3 @@ -// REQUIRES: level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/Explicit/buffer_ordering.cpp b/sycl/test-e2e/Graph/Explicit/buffer_ordering.cpp index 2c2edd374febc..0ca1cd25c4973 100644 --- a/sycl/test-e2e/Graph/Explicit/buffer_ordering.cpp +++ b/sycl/test-e2e/Graph/Explicit/buffer_ordering.cpp @@ -1,4 +1,3 @@ -// REQUIRES: level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/Explicit/cycle_error.cpp b/sycl/test-e2e/Graph/Explicit/cycle_error.cpp index bb0558c43f26e..762cf4fdcec63 100644 --- a/sycl/test-e2e/Graph/Explicit/cycle_error.cpp +++ b/sycl/test-e2e/Graph/Explicit/cycle_error.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out @@ -17,6 +16,10 @@ void CreateGraphWithCyclesTest(bool DisableCycleChecks) { queue Queue; + if (!are_graphs_supported(Queue)) { + return; + } + property_list Props; if (DisableCycleChecks) { diff --git a/sycl/test-e2e/Graph/Explicit/debug_print_graph.cpp b/sycl/test-e2e/Graph/Explicit/debug_print_graph.cpp index d35fb1a923517..17b20d5f40c8e 100644 --- a/sycl/test-e2e/Graph/Explicit/debug_print_graph.cpp +++ b/sycl/test-e2e/Graph/Explicit/debug_print_graph.cpp @@ -1,11 +1,9 @@ -// REQUIRES: level_zero || cuda, gpu // RUN: %{build} -o %t.out -// RUN: %if linux %{ %{run} %t.out ; FileCheck %s --input-file graph.dot %} -// RUN: %if windows %{ %{run} %t.out %} +// RUN: %if linux && (ext_oneapi_level_zero || ext_oneapi_cuda) %{ %{run} %t.out ; FileCheck %s --input-file graph.dot %} %else %{ %{run} %t.out %} // Windows output format differs from linux format. // The filecheck-based output checking is suited to linux standards. // On Windows, we only test that printing takes place correctly and does not -// trigger errors or throw execeptions. +// trigger errors or throw exceptions. // // CHECK: digraph dot { // CHECK-NEXT: "0x[[#%x,NODE1:]]" diff --git a/sycl/test-e2e/Graph/Explicit/debug_print_graph_verbose.cpp b/sycl/test-e2e/Graph/Explicit/debug_print_graph_verbose.cpp index 2fa6ed85ccf78..d322b9e91b311 100644 --- a/sycl/test-e2e/Graph/Explicit/debug_print_graph_verbose.cpp +++ b/sycl/test-e2e/Graph/Explicit/debug_print_graph_verbose.cpp @@ -1,7 +1,5 @@ -// REQUIRES: level_zero || cuda, gpu // RUN: %{build} -o %t.out -// RUN: %if linux %{ %{run} %t.out ; FileCheck %s --input-file graph_verbose.dot %} -// RUN: %if windows %{ %{run} %t.out %} +// RUN: %if linux && (ext_oneapi_level_zero || ext_oneapi_cuda) %{ %{run} %t.out ; FileCheck %s --input-file graph_verbose.dot %} %else %{ %{run} %t.out %} // Windows output format differs from linux format. // The filecheck-based output checking is suited to linux standards. // On Windows, we only test that printing takes place correctly and does not diff --git a/sycl/test-e2e/Graph/Explicit/depends_on.cpp b/sycl/test-e2e/Graph/Explicit/depends_on.cpp index 77e979f3edf4d..8d6ba2febf0e7 100644 --- a/sycl/test-e2e/Graph/Explicit/depends_on.cpp +++ b/sycl/test-e2e/Graph/Explicit/depends_on.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG @@ -13,9 +12,12 @@ #include "../graph_common.hpp" int main() { - queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + exp_ext::command_graph Graph{Queue.get_context(), Queue.get_device()}; const size_t N = 10; diff --git a/sycl/test-e2e/Graph/Explicit/dotp_buffer_reduction.cpp b/sycl/test-e2e/Graph/Explicit/dotp_buffer_reduction.cpp index 9557bfd814240..4e0efb64844c9 100644 --- a/sycl/test-e2e/Graph/Explicit/dotp_buffer_reduction.cpp +++ b/sycl/test-e2e/Graph/Explicit/dotp_buffer_reduction.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG @@ -6,8 +5,8 @@ // // CHECK-NOT: LEAK -// Expected fail as reduction support is not complete. -// XFAIL: * +// Skip as reduction support is not complete. +// REQUIRES: NOT_YET_IMPLEMENTED #define GRAPH_E2E_EXPLICIT diff --git a/sycl/test-e2e/Graph/Explicit/dotp_usm_reduction.cpp b/sycl/test-e2e/Graph/Explicit/dotp_usm_reduction.cpp index df66e5e9bb146..81a57f291f9a6 100644 --- a/sycl/test-e2e/Graph/Explicit/dotp_usm_reduction.cpp +++ b/sycl/test-e2e/Graph/Explicit/dotp_usm_reduction.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG @@ -6,8 +5,8 @@ // // CHECK-NOT: LEAK -// Expected fail as reduction support is not complete. -// XFAIL: * +// Skip as reduction support is not complete. +// REQUIRES: NOT_YET_IMPLEMENTED #define GRAPH_E2E_EXPLICIT diff --git a/sycl/test-e2e/Graph/Explicit/double_buffer.cpp b/sycl/test-e2e/Graph/Explicit/double_buffer.cpp index 2468592c0f0cf..5b85a7b862194 100644 --- a/sycl/test-e2e/Graph/Explicit/double_buffer.cpp +++ b/sycl/test-e2e/Graph/Explicit/double_buffer.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG @@ -6,8 +5,8 @@ // // CHECK-NOT: LEAK -// Expected fail as executable graph update isn't implemented yet -// XFAIL: * +// Skip as executable graph update isn't implemented yet +// REQUIRES: NOT_YET_IMPLEMENTED #define GRAPH_E2E_EXPLICIT diff --git a/sycl/test-e2e/Graph/Explicit/empty_node.cpp b/sycl/test-e2e/Graph/Explicit/empty_node.cpp index 638ccbde77e18..72065fe022317 100644 --- a/sycl/test-e2e/Graph/Explicit/empty_node.cpp +++ b/sycl/test-e2e/Graph/Explicit/empty_node.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/Explicit/enqueue_ordering.cpp b/sycl/test-e2e/Graph/Explicit/enqueue_ordering.cpp index 198da9a7129de..d28c61b4d3217 100644 --- a/sycl/test-e2e/Graph/Explicit/enqueue_ordering.cpp +++ b/sycl/test-e2e/Graph/Explicit/enqueue_ordering.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG @@ -12,9 +11,12 @@ #include "../graph_common.hpp" int main() { - queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + exp_ext::command_graph Graph{Queue.get_context(), Queue.get_device()}; const size_t N = 10; diff --git a/sycl/test-e2e/Graph/Explicit/event_status_querying.cpp b/sycl/test-e2e/Graph/Explicit/event_status_querying.cpp index 6a4c1db81cfe4..8e2745805637c 100644 --- a/sycl/test-e2e/Graph/Explicit/event_status_querying.cpp +++ b/sycl/test-e2e/Graph/Explicit/event_status_querying.cpp @@ -1,6 +1,5 @@ -// REQUIRES: level_zero, gpu // RUN: %{build} -o %t.out -// RUN: %{run} %t.out 2>&1 | FileCheck %s +// RUN: %if ext_oneapi_level_zero || ext_oneapi_cuda %{ %{run} %t.out 2>&1 | FileCheck %s %} %else %{ %{run} %t.out %} // // CHECK: complete // diff --git a/sycl/test-e2e/Graph/Explicit/executable_graph_update.cpp b/sycl/test-e2e/Graph/Explicit/executable_graph_update.cpp index 9a56e18724d72..438bd1161d143 100644 --- a/sycl/test-e2e/Graph/Explicit/executable_graph_update.cpp +++ b/sycl/test-e2e/Graph/Explicit/executable_graph_update.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG @@ -6,8 +5,8 @@ // // CHECK-NOT: LEAK -// Expected fail as executable graph update not implemented yet -// XFAIL: * +// Skip as executable graph update not implemented yet +// REQUIRES: NOT_YET_IMPLEMENTED #define GRAPH_E2E_EXPLICIT diff --git a/sycl/test-e2e/Graph/Explicit/executable_graph_update_ordering.cpp b/sycl/test-e2e/Graph/Explicit/executable_graph_update_ordering.cpp index caed7820467dc..ccece1daf1815 100644 --- a/sycl/test-e2e/Graph/Explicit/executable_graph_update_ordering.cpp +++ b/sycl/test-e2e/Graph/Explicit/executable_graph_update_ordering.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG @@ -6,9 +5,9 @@ // // CHECK-NOT: LEAK -// Expected fail as executable graph update and host tasks both aren't +// Skip as executable graph update and host tasks both aren't // implemented. -// XFAIL: * +// REQUIRES: NOT_YET_IMPLEMENTED #define GRAPH_E2E_EXPLICIT diff --git a/sycl/test-e2e/Graph/Explicit/host_task.cpp b/sycl/test-e2e/Graph/Explicit/host_task.cpp index 3aff7e2807ee8..68c6df74ed865 100644 --- a/sycl/test-e2e/Graph/Explicit/host_task.cpp +++ b/sycl/test-e2e/Graph/Explicit/host_task.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG @@ -6,8 +5,8 @@ // // CHECK-NOT: LEAK -// Expected fail as host tasks aren't implemented yet. -// XFAIL: * +// Skip as host tasks aren't implemented yet. +// REQUIRES: NOT_YET_IMPLEMENTED #define GRAPH_E2E_EXPLICIT diff --git a/sycl/test-e2e/Graph/Explicit/kernel_bundle.cpp b/sycl/test-e2e/Graph/Explicit/kernel_bundle.cpp index 0d301200b089d..2ec26de313d9a 100644 --- a/sycl/test-e2e/Graph/Explicit/kernel_bundle.cpp +++ b/sycl/test-e2e/Graph/Explicit/kernel_bundle.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %if ext_oneapi_cuda %{ %{run} %t.out %} // RUN: %if ext_oneapi_level_zero %{env SYCL_PI_TRACE=2 %{run} %t.out | FileCheck %s %} diff --git a/sycl/test-e2e/Graph/Explicit/multiple_exec_graphs.cpp b/sycl/test-e2e/Graph/Explicit/multiple_exec_graphs.cpp index 9de3fd735eee5..28cf36552b3e1 100644 --- a/sycl/test-e2e/Graph/Explicit/multiple_exec_graphs.cpp +++ b/sycl/test-e2e/Graph/Explicit/multiple_exec_graphs.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/Explicit/multiple_kernel_bundles.cpp b/sycl/test-e2e/Graph/Explicit/multiple_kernel_bundles.cpp index 19a05d610e13f..9731ade77ed70 100644 --- a/sycl/test-e2e/Graph/Explicit/multiple_kernel_bundles.cpp +++ b/sycl/test-e2e/Graph/Explicit/multiple_kernel_bundles.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/Explicit/node_ordering.cpp b/sycl/test-e2e/Graph/Explicit/node_ordering.cpp index 6e3d965619c98..75f5855f41093 100644 --- a/sycl/test-e2e/Graph/Explicit/node_ordering.cpp +++ b/sycl/test-e2e/Graph/Explicit/node_ordering.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG @@ -12,9 +11,12 @@ #include "../graph_common.hpp" int main() { - queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + exp_ext::command_graph Graph{Queue.get_context(), Queue.get_device()}; const size_t N = 10; diff --git a/sycl/test-e2e/Graph/Explicit/queue_shortcuts.cpp b/sycl/test-e2e/Graph/Explicit/queue_shortcuts.cpp index 61d6ddad5a62b..35bb2a8baec4f 100644 --- a/sycl/test-e2e/Graph/Explicit/queue_shortcuts.cpp +++ b/sycl/test-e2e/Graph/Explicit/queue_shortcuts.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/Explicit/repeated_exec.cpp b/sycl/test-e2e/Graph/Explicit/repeated_exec.cpp index 495a5c3e7b2f7..faf83d080d51b 100644 --- a/sycl/test-e2e/Graph/Explicit/repeated_exec.cpp +++ b/sycl/test-e2e/Graph/Explicit/repeated_exec.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/Explicit/single_node.cpp b/sycl/test-e2e/Graph/Explicit/single_node.cpp index 0fae78023b49d..95bb0a967f240 100644 --- a/sycl/test-e2e/Graph/Explicit/single_node.cpp +++ b/sycl/test-e2e/Graph/Explicit/single_node.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG @@ -11,9 +10,12 @@ #include "../graph_common.hpp" int main() { - queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + exp_ext::command_graph Graph{Queue.get_context(), Queue.get_device()}; const size_t N = 10; diff --git a/sycl/test-e2e/Graph/Explicit/spec_constants_handler_api.cpp b/sycl/test-e2e/Graph/Explicit/spec_constants_handler_api.cpp index 823786de3d694..e0c41c21965c4 100644 --- a/sycl/test-e2e/Graph/Explicit/spec_constants_handler_api.cpp +++ b/sycl/test-e2e/Graph/Explicit/spec_constants_handler_api.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/Explicit/spec_constants_kernel_bundle_api.cpp b/sycl/test-e2e/Graph/Explicit/spec_constants_kernel_bundle_api.cpp index 3417dbc9754bd..3b6e15d863d24 100644 --- a/sycl/test-e2e/Graph/Explicit/spec_constants_kernel_bundle_api.cpp +++ b/sycl/test-e2e/Graph/Explicit/spec_constants_kernel_bundle_api.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/Explicit/stream.cpp b/sycl/test-e2e/Graph/Explicit/stream.cpp index eaa55adafa302..c547c43a537b2 100644 --- a/sycl/test-e2e/Graph/Explicit/stream.cpp +++ b/sycl/test-e2e/Graph/Explicit/stream.cpp @@ -1,12 +1,11 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out %GPU_CHECK_PLACEHOLDER // RUN: %if ext_oneapi_level_zero %{env ZE_DEBUG=4 %{run} %t.out %GPU_CHECK_PLACEHOLDER 2>&1 | FileCheck %s %} // // CHECK-NOT: LEAK -// Expected fail as sycl streams aren't implemented yet -// XFAIL: * +// Skip as sycl streams aren't implemented yet +// REQUIRES: NOT_YET_IMPLEMENTED #define GRAPH_E2E_EXPLICIT diff --git a/sycl/test-e2e/Graph/Explicit/sub_graph.cpp b/sycl/test-e2e/Graph/Explicit/sub_graph.cpp index ff3a8c1b2eea9..51b0f29885a30 100644 --- a/sycl/test-e2e/Graph/Explicit/sub_graph.cpp +++ b/sycl/test-e2e/Graph/Explicit/sub_graph.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/Explicit/sub_graph_execute_without_parent.cpp b/sycl/test-e2e/Graph/Explicit/sub_graph_execute_without_parent.cpp index ad0badd14ed98..e4a503cd8b248 100644 --- a/sycl/test-e2e/Graph/Explicit/sub_graph_execute_without_parent.cpp +++ b/sycl/test-e2e/Graph/Explicit/sub_graph_execute_without_parent.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/Explicit/sub_graph_multiple_submission.cpp b/sycl/test-e2e/Graph/Explicit/sub_graph_multiple_submission.cpp index bc66115d8fa35..0883dc4411e8a 100644 --- a/sycl/test-e2e/Graph/Explicit/sub_graph_multiple_submission.cpp +++ b/sycl/test-e2e/Graph/Explicit/sub_graph_multiple_submission.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/Explicit/sub_graph_nested.cpp b/sycl/test-e2e/Graph/Explicit/sub_graph_nested.cpp index a1dc0e479da73..0d4a4736c124f 100644 --- a/sycl/test-e2e/Graph/Explicit/sub_graph_nested.cpp +++ b/sycl/test-e2e/Graph/Explicit/sub_graph_nested.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/Explicit/sub_graph_reduction.cpp b/sycl/test-e2e/Graph/Explicit/sub_graph_reduction.cpp index 97e437cbc0f53..fda0628d2e210 100644 --- a/sycl/test-e2e/Graph/Explicit/sub_graph_reduction.cpp +++ b/sycl/test-e2e/Graph/Explicit/sub_graph_reduction.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG @@ -6,8 +5,8 @@ // // CHECK-NOT: LEAK -// Expected fail as reduction support is not complete. -// XFAIL: * +// Skip as reduction support is not complete. +// REQUIRES: NOT_YET_IMPLEMENTED #define GRAPH_E2E_EXPLICIT diff --git a/sycl/test-e2e/Graph/Explicit/sub_graph_two_parent_graphs.cpp b/sycl/test-e2e/Graph/Explicit/sub_graph_two_parent_graphs.cpp index 7847981a86577..e7dbf124c595a 100644 --- a/sycl/test-e2e/Graph/Explicit/sub_graph_two_parent_graphs.cpp +++ b/sycl/test-e2e/Graph/Explicit/sub_graph_two_parent_graphs.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/Explicit/temp_buffer_reinterpret.cpp b/sycl/test-e2e/Graph/Explicit/temp_buffer_reinterpret.cpp index c8fd1d803266c..c0dc132aa8ab8 100644 --- a/sycl/test-e2e/Graph/Explicit/temp_buffer_reinterpret.cpp +++ b/sycl/test-e2e/Graph/Explicit/temp_buffer_reinterpret.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/Explicit/usm_copy.cpp b/sycl/test-e2e/Graph/Explicit/usm_copy.cpp index 6025d1429ae84..e8a34aa1f75c4 100644 --- a/sycl/test-e2e/Graph/Explicit/usm_copy.cpp +++ b/sycl/test-e2e/Graph/Explicit/usm_copy.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/Explicit/usm_fill.cpp b/sycl/test-e2e/Graph/Explicit/usm_fill.cpp index 0605004c6b113..46279fdb1cf93 100644 --- a/sycl/test-e2e/Graph/Explicit/usm_fill.cpp +++ b/sycl/test-e2e/Graph/Explicit/usm_fill.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/Explicit/usm_fill_host.cpp b/sycl/test-e2e/Graph/Explicit/usm_fill_host.cpp index e1fdd8a40fbd9..5ca3ad3e766f1 100644 --- a/sycl/test-e2e/Graph/Explicit/usm_fill_host.cpp +++ b/sycl/test-e2e/Graph/Explicit/usm_fill_host.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/Explicit/usm_fill_shared.cpp b/sycl/test-e2e/Graph/Explicit/usm_fill_shared.cpp index 064dc20273548..9980cce327def 100644 --- a/sycl/test-e2e/Graph/Explicit/usm_fill_shared.cpp +++ b/sycl/test-e2e/Graph/Explicit/usm_fill_shared.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/Inputs/add_nodes_after_finalize.cpp b/sycl/test-e2e/Graph/Inputs/add_nodes_after_finalize.cpp index 3a11b20cb997a..aa39218bc5f9b 100644 --- a/sycl/test-e2e/Graph/Inputs/add_nodes_after_finalize.cpp +++ b/sycl/test-e2e/Graph/Inputs/add_nodes_after_finalize.cpp @@ -7,6 +7,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + using T = unsigned int; std::vector DataA(Size), DataB(Size), DataC(Size), DataOut(Size); diff --git a/sycl/test-e2e/Graph/Inputs/assume_buffer_outlives_graph_property.cpp b/sycl/test-e2e/Graph/Inputs/assume_buffer_outlives_graph_property.cpp index 415767c7888d9..4024b3bd6b49d 100644 --- a/sycl/test-e2e/Graph/Inputs/assume_buffer_outlives_graph_property.cpp +++ b/sycl/test-e2e/Graph/Inputs/assume_buffer_outlives_graph_property.cpp @@ -6,6 +6,10 @@ int main() { queue Queue; + if (!are_graphs_supported(Queue)) { + return 0; + } + using T = unsigned short; buffer Buffer{range<1>{1}}; diff --git a/sycl/test-e2e/Graph/Inputs/basic_buffer.cpp b/sycl/test-e2e/Graph/Inputs/basic_buffer.cpp index 91308be25761d..ea46da424dccf 100644 --- a/sycl/test-e2e/Graph/Inputs/basic_buffer.cpp +++ b/sycl/test-e2e/Graph/Inputs/basic_buffer.cpp @@ -6,6 +6,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + using T = unsigned short; std::vector DataA(Size), DataB(Size), DataC(Size); diff --git a/sycl/test-e2e/Graph/Inputs/basic_usm.cpp b/sycl/test-e2e/Graph/Inputs/basic_usm.cpp index 6caa3a5d42aef..c5674ba6b4f67 100644 --- a/sycl/test-e2e/Graph/Inputs/basic_usm.cpp +++ b/sycl/test-e2e/Graph/Inputs/basic_usm.cpp @@ -7,6 +7,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + using T = int; const unsigned NumThreads = std::thread::hardware_concurrency(); diff --git a/sycl/test-e2e/Graph/Inputs/basic_usm_host.cpp b/sycl/test-e2e/Graph/Inputs/basic_usm_host.cpp index 59447ee3a213d..153ef5ec0b95b 100644 --- a/sycl/test-e2e/Graph/Inputs/basic_usm_host.cpp +++ b/sycl/test-e2e/Graph/Inputs/basic_usm_host.cpp @@ -6,6 +6,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + if (!Queue.get_device().has(sycl::aspect::usm_host_allocations)) { return 0; } diff --git a/sycl/test-e2e/Graph/Inputs/basic_usm_mixed.cpp b/sycl/test-e2e/Graph/Inputs/basic_usm_mixed.cpp index 3db89123a69fb..91d8977a6f8c6 100644 --- a/sycl/test-e2e/Graph/Inputs/basic_usm_mixed.cpp +++ b/sycl/test-e2e/Graph/Inputs/basic_usm_mixed.cpp @@ -6,6 +6,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + if (!Queue.get_device().has(sycl::aspect::usm_shared_allocations)) { return 0; } diff --git a/sycl/test-e2e/Graph/Inputs/basic_usm_shared.cpp b/sycl/test-e2e/Graph/Inputs/basic_usm_shared.cpp index d769b4af34072..2ae585e095800 100644 --- a/sycl/test-e2e/Graph/Inputs/basic_usm_shared.cpp +++ b/sycl/test-e2e/Graph/Inputs/basic_usm_shared.cpp @@ -6,6 +6,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + if (!Queue.get_device().has(sycl::aspect::usm_shared_allocations)) { return 0; } diff --git a/sycl/test-e2e/Graph/Inputs/basic_usm_system.cpp b/sycl/test-e2e/Graph/Inputs/basic_usm_system.cpp index 1b199cc55a4a3..07deda4a18b3e 100644 --- a/sycl/test-e2e/Graph/Inputs/basic_usm_system.cpp +++ b/sycl/test-e2e/Graph/Inputs/basic_usm_system.cpp @@ -6,6 +6,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + if (!Queue.get_device().has(sycl::aspect::usm_system_allocations)) { return 0; } diff --git a/sycl/test-e2e/Graph/Inputs/buffer_copy.cpp b/sycl/test-e2e/Graph/Inputs/buffer_copy.cpp index 76be8ec030534..26bcb74dfc499 100644 --- a/sycl/test-e2e/Graph/Inputs/buffer_copy.cpp +++ b/sycl/test-e2e/Graph/Inputs/buffer_copy.cpp @@ -5,6 +5,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + using T = int; const T ModValue = 7; diff --git a/sycl/test-e2e/Graph/Inputs/buffer_copy_2d.cpp b/sycl/test-e2e/Graph/Inputs/buffer_copy_2d.cpp index 3476e4a534527..a29139b997a87 100644 --- a/sycl/test-e2e/Graph/Inputs/buffer_copy_2d.cpp +++ b/sycl/test-e2e/Graph/Inputs/buffer_copy_2d.cpp @@ -6,6 +6,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + using T = int; const T ModValue = 7; diff --git a/sycl/test-e2e/Graph/Inputs/buffer_copy_host2target.cpp b/sycl/test-e2e/Graph/Inputs/buffer_copy_host2target.cpp index 3cafeec7068bb..68146e55c2fd5 100644 --- a/sycl/test-e2e/Graph/Inputs/buffer_copy_host2target.cpp +++ b/sycl/test-e2e/Graph/Inputs/buffer_copy_host2target.cpp @@ -6,6 +6,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + using T = int; std::vector DataA(Size), DataB(Size); diff --git a/sycl/test-e2e/Graph/Inputs/buffer_copy_host2target_2d.cpp b/sycl/test-e2e/Graph/Inputs/buffer_copy_host2target_2d.cpp index 48081164859b1..87da3daf26bd5 100644 --- a/sycl/test-e2e/Graph/Inputs/buffer_copy_host2target_2d.cpp +++ b/sycl/test-e2e/Graph/Inputs/buffer_copy_host2target_2d.cpp @@ -6,6 +6,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + using T = int; std::vector DataA(Size * Size), DataB(Size * Size); diff --git a/sycl/test-e2e/Graph/Inputs/buffer_copy_host2target_offset.cpp b/sycl/test-e2e/Graph/Inputs/buffer_copy_host2target_offset.cpp index 42a9d7a4f69b4..315c70835691a 100644 --- a/sycl/test-e2e/Graph/Inputs/buffer_copy_host2target_offset.cpp +++ b/sycl/test-e2e/Graph/Inputs/buffer_copy_host2target_offset.cpp @@ -6,6 +6,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + using T = int; std::vector DataA(Size + Offset), DataB(Size); diff --git a/sycl/test-e2e/Graph/Inputs/buffer_copy_offsets.cpp b/sycl/test-e2e/Graph/Inputs/buffer_copy_offsets.cpp index ae70dfd4c44da..3d1974e883e03 100644 --- a/sycl/test-e2e/Graph/Inputs/buffer_copy_offsets.cpp +++ b/sycl/test-e2e/Graph/Inputs/buffer_copy_offsets.cpp @@ -6,6 +6,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + using T = int; size_t OffsetSrc = 2 * size_t(Size / 4); diff --git a/sycl/test-e2e/Graph/Inputs/buffer_copy_target2host.cpp b/sycl/test-e2e/Graph/Inputs/buffer_copy_target2host.cpp index a37b941ac40e3..911b18b6cd32c 100644 --- a/sycl/test-e2e/Graph/Inputs/buffer_copy_target2host.cpp +++ b/sycl/test-e2e/Graph/Inputs/buffer_copy_target2host.cpp @@ -6,6 +6,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + using T = int; std::vector DataA(Size), DataB(Size); diff --git a/sycl/test-e2e/Graph/Inputs/buffer_copy_target2host_2d.cpp b/sycl/test-e2e/Graph/Inputs/buffer_copy_target2host_2d.cpp index 5f5058814f261..e5888dc4efb93 100644 --- a/sycl/test-e2e/Graph/Inputs/buffer_copy_target2host_2d.cpp +++ b/sycl/test-e2e/Graph/Inputs/buffer_copy_target2host_2d.cpp @@ -6,6 +6,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + using T = int; std::vector DataA(Size * Size), DataB(Size * Size); diff --git a/sycl/test-e2e/Graph/Inputs/buffer_copy_target2host_offset.cpp b/sycl/test-e2e/Graph/Inputs/buffer_copy_target2host_offset.cpp index 9f6338a7436b8..2db984e64a999 100644 --- a/sycl/test-e2e/Graph/Inputs/buffer_copy_target2host_offset.cpp +++ b/sycl/test-e2e/Graph/Inputs/buffer_copy_target2host_offset.cpp @@ -6,6 +6,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + using T = int; std::vector DataA(Size), DataB(Size); diff --git a/sycl/test-e2e/Graph/Inputs/buffer_ordering.cpp b/sycl/test-e2e/Graph/Inputs/buffer_ordering.cpp index e317857f43fe6..2cfe245c9e423 100644 --- a/sycl/test-e2e/Graph/Inputs/buffer_ordering.cpp +++ b/sycl/test-e2e/Graph/Inputs/buffer_ordering.cpp @@ -15,6 +15,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + const size_t N = 10; std::vector Arr(N, 0); diff --git a/sycl/test-e2e/Graph/Inputs/debug_print_graph.cpp b/sycl/test-e2e/Graph/Inputs/debug_print_graph.cpp index c6ee2bd4f5aeb..3acef35788c37 100644 --- a/sycl/test-e2e/Graph/Inputs/debug_print_graph.cpp +++ b/sycl/test-e2e/Graph/Inputs/debug_print_graph.cpp @@ -6,6 +6,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + using T = unsigned short; std::vector DataA(Size), DataB(Size), DataC(Size); diff --git a/sycl/test-e2e/Graph/Inputs/debug_print_graph_verbose.cpp b/sycl/test-e2e/Graph/Inputs/debug_print_graph_verbose.cpp index f6fc761f6da0e..018953de3ee13 100644 --- a/sycl/test-e2e/Graph/Inputs/debug_print_graph_verbose.cpp +++ b/sycl/test-e2e/Graph/Inputs/debug_print_graph_verbose.cpp @@ -6,6 +6,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + using T = unsigned short; std::vector DataA(Size), DataB(Size), DataC(Size); diff --git a/sycl/test-e2e/Graph/Inputs/dotp_buffer_reduction.cpp b/sycl/test-e2e/Graph/Inputs/dotp_buffer_reduction.cpp index a3a3f7a57ad22..f42764db749c4 100644 --- a/sycl/test-e2e/Graph/Inputs/dotp_buffer_reduction.cpp +++ b/sycl/test-e2e/Graph/Inputs/dotp_buffer_reduction.cpp @@ -3,9 +3,12 @@ #include "../graph_common.hpp" int main() { - queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + int DotpData = 0; const size_t N = 10; diff --git a/sycl/test-e2e/Graph/Inputs/dotp_usm_reduction.cpp b/sycl/test-e2e/Graph/Inputs/dotp_usm_reduction.cpp index 2c076765893dc..3b4d941b167a0 100644 --- a/sycl/test-e2e/Graph/Inputs/dotp_usm_reduction.cpp +++ b/sycl/test-e2e/Graph/Inputs/dotp_usm_reduction.cpp @@ -6,6 +6,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + exp_ext::command_graph Graph{Queue.get_context(), Queue.get_device()}; int *Dotp = malloc_device(1, Queue); diff --git a/sycl/test-e2e/Graph/Inputs/double_buffer.cpp b/sycl/test-e2e/Graph/Inputs/double_buffer.cpp index 413a9bc105437..9fafdfccecdf4 100644 --- a/sycl/test-e2e/Graph/Inputs/double_buffer.cpp +++ b/sycl/test-e2e/Graph/Inputs/double_buffer.cpp @@ -7,6 +7,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + using T = int; std::vector DataA(Size), DataB(Size), DataC(Size); diff --git a/sycl/test-e2e/Graph/Inputs/empty_node.cpp b/sycl/test-e2e/Graph/Inputs/empty_node.cpp index 63efccebb4a56..fedb8c2818775 100644 --- a/sycl/test-e2e/Graph/Inputs/empty_node.cpp +++ b/sycl/test-e2e/Graph/Inputs/empty_node.cpp @@ -6,6 +6,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + auto MyProperties = property_list{exp_ext::property::graph::no_cycle_check()}; exp_ext::command_graph Graph{Queue.get_context(), Queue.get_device(), MyProperties}; diff --git a/sycl/test-e2e/Graph/Inputs/event_status_querying.cpp b/sycl/test-e2e/Graph/Inputs/event_status_querying.cpp index 2ed308bfccad9..a68b78c4ca371 100644 --- a/sycl/test-e2e/Graph/Inputs/event_status_querying.cpp +++ b/sycl/test-e2e/Graph/Inputs/event_status_querying.cpp @@ -36,6 +36,10 @@ std::string event_status_name(sycl::info::event_command_status status) { int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + using T = int; const T ModValue = 7; diff --git a/sycl/test-e2e/Graph/Inputs/executable_graph_update.cpp b/sycl/test-e2e/Graph/Inputs/executable_graph_update.cpp index 9e5aca403420c..b8ad1c789a138 100644 --- a/sycl/test-e2e/Graph/Inputs/executable_graph_update.cpp +++ b/sycl/test-e2e/Graph/Inputs/executable_graph_update.cpp @@ -6,6 +6,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + using T = int; std::vector DataA(Size), DataB(Size), DataC(Size); diff --git a/sycl/test-e2e/Graph/Inputs/executable_graph_update_ordering.cpp b/sycl/test-e2e/Graph/Inputs/executable_graph_update_ordering.cpp index e920daf7addf2..96d1ec510d108 100644 --- a/sycl/test-e2e/Graph/Inputs/executable_graph_update_ordering.cpp +++ b/sycl/test-e2e/Graph/Inputs/executable_graph_update_ordering.cpp @@ -7,6 +7,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + using T = int; if (!Queue.get_device().has(sycl::aspect::usm_shared_allocations)) { diff --git a/sycl/test-e2e/Graph/Inputs/host_task.cpp b/sycl/test-e2e/Graph/Inputs/host_task.cpp index bfc00bde45776..f7f1d0d30f393 100644 --- a/sycl/test-e2e/Graph/Inputs/host_task.cpp +++ b/sycl/test-e2e/Graph/Inputs/host_task.cpp @@ -5,6 +5,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + using T = int; if (!Queue.get_device().has(sycl::aspect::usm_shared_allocations)) { diff --git a/sycl/test-e2e/Graph/Inputs/kernel_bundle.cpp b/sycl/test-e2e/Graph/Inputs/kernel_bundle.cpp index 38571971064b4..444473c769c21 100644 --- a/sycl/test-e2e/Graph/Inputs/kernel_bundle.cpp +++ b/sycl/test-e2e/Graph/Inputs/kernel_bundle.cpp @@ -14,6 +14,10 @@ int main() { Dev, {sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + sycl::kernel_id KernelID = sycl::get_kernel_id(); sycl::kernel_bundle KernelBundleInput = diff --git a/sycl/test-e2e/Graph/Inputs/multiple_exec_graphs.cpp b/sycl/test-e2e/Graph/Inputs/multiple_exec_graphs.cpp index 21b4ed1ba4145..18a922d91c694 100644 --- a/sycl/test-e2e/Graph/Inputs/multiple_exec_graphs.cpp +++ b/sycl/test-e2e/Graph/Inputs/multiple_exec_graphs.cpp @@ -6,6 +6,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + using T = int; std::vector DataA(Size), DataB(Size), DataC(Size); diff --git a/sycl/test-e2e/Graph/Inputs/multiple_kernel_bundles.cpp b/sycl/test-e2e/Graph/Inputs/multiple_kernel_bundles.cpp index a250bb5037c23..fdf6cd47357a1 100644 --- a/sycl/test-e2e/Graph/Inputs/multiple_kernel_bundles.cpp +++ b/sycl/test-e2e/Graph/Inputs/multiple_kernel_bundles.cpp @@ -18,6 +18,10 @@ int main() { Dev, {sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + sycl::kernel_id Kernel1ID = sycl::get_kernel_id(); sycl::kernel_id Kernel2ID = sycl::get_kernel_id(); diff --git a/sycl/test-e2e/Graph/Inputs/queue_shortcuts.cpp b/sycl/test-e2e/Graph/Inputs/queue_shortcuts.cpp index 45041b7486708..0e16ba16242c5 100644 --- a/sycl/test-e2e/Graph/Inputs/queue_shortcuts.cpp +++ b/sycl/test-e2e/Graph/Inputs/queue_shortcuts.cpp @@ -5,6 +5,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + using T = int; std::vector DataA(Size), DataB(Size), DataC(Size); diff --git a/sycl/test-e2e/Graph/Inputs/repeated_exec.cpp b/sycl/test-e2e/Graph/Inputs/repeated_exec.cpp index 13349d51f2e1e..0819cd75a063d 100644 --- a/sycl/test-e2e/Graph/Inputs/repeated_exec.cpp +++ b/sycl/test-e2e/Graph/Inputs/repeated_exec.cpp @@ -3,9 +3,12 @@ #include "../graph_common.hpp" int main() { - queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + exp_ext::command_graph Graph{Queue.get_context(), Queue.get_device()}; const size_t N = 10; diff --git a/sycl/test-e2e/Graph/Inputs/spec_constants_handler_api.cpp b/sycl/test-e2e/Graph/Inputs/spec_constants_handler_api.cpp index a278378655844..03e24cef2ad03 100644 --- a/sycl/test-e2e/Graph/Inputs/spec_constants_handler_api.cpp +++ b/sycl/test-e2e/Graph/Inputs/spec_constants_handler_api.cpp @@ -36,6 +36,10 @@ int main() { queue Queue{ExceptionHandler, {sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + unsigned Errors = 0; if (!test_default_values(Queue)) { std::cout << "Test for default values of specialization constants failed!" diff --git a/sycl/test-e2e/Graph/Inputs/spec_constants_kernel_bundle_api.cpp b/sycl/test-e2e/Graph/Inputs/spec_constants_kernel_bundle_api.cpp index 63b8f350c38a3..d9311c72d42eb 100644 --- a/sycl/test-e2e/Graph/Inputs/spec_constants_kernel_bundle_api.cpp +++ b/sycl/test-e2e/Graph/Inputs/spec_constants_kernel_bundle_api.cpp @@ -33,6 +33,10 @@ int main() { queue Queue{ExceptionHandler, {sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + unsigned Errors = 0; if (!test_default_values(Queue)) { std::cout << "Test for default values of specialization constants failed!" diff --git a/sycl/test-e2e/Graph/Inputs/stream.cpp b/sycl/test-e2e/Graph/Inputs/stream.cpp index edf27513c2684..dc6527c9ddf82 100644 --- a/sycl/test-e2e/Graph/Inputs/stream.cpp +++ b/sycl/test-e2e/Graph/Inputs/stream.cpp @@ -6,6 +6,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + using T = int; size_t WorkItems = 16; diff --git a/sycl/test-e2e/Graph/Inputs/sub_graph.cpp b/sycl/test-e2e/Graph/Inputs/sub_graph.cpp index b1cb2a8299f0d..725aacc778d94 100644 --- a/sycl/test-e2e/Graph/Inputs/sub_graph.cpp +++ b/sycl/test-e2e/Graph/Inputs/sub_graph.cpp @@ -6,6 +6,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + using T = short; // Values used to modify data inside kernels. diff --git a/sycl/test-e2e/Graph/Inputs/sub_graph_execute_without_parent.cpp b/sycl/test-e2e/Graph/Inputs/sub_graph_execute_without_parent.cpp index 54077ac3b6790..8c930e06a2381 100644 --- a/sycl/test-e2e/Graph/Inputs/sub_graph_execute_without_parent.cpp +++ b/sycl/test-e2e/Graph/Inputs/sub_graph_execute_without_parent.cpp @@ -6,6 +6,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + exp_ext::command_graph Graph{Queue.get_context(), Queue.get_device()}; exp_ext::command_graph SubGraph{Queue.get_context(), Queue.get_device()}; diff --git a/sycl/test-e2e/Graph/Inputs/sub_graph_multiple_submission.cpp b/sycl/test-e2e/Graph/Inputs/sub_graph_multiple_submission.cpp index 4c895feffe4b4..190853f585b4e 100644 --- a/sycl/test-e2e/Graph/Inputs/sub_graph_multiple_submission.cpp +++ b/sycl/test-e2e/Graph/Inputs/sub_graph_multiple_submission.cpp @@ -6,6 +6,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + exp_ext::command_graph Graph{Queue.get_context(), Queue.get_device()}; exp_ext::command_graph SubGraph{Queue.get_context(), Queue.get_device()}; diff --git a/sycl/test-e2e/Graph/Inputs/sub_graph_nested.cpp b/sycl/test-e2e/Graph/Inputs/sub_graph_nested.cpp index 588e91351f363..82f56e606e2c9 100644 --- a/sycl/test-e2e/Graph/Inputs/sub_graph_nested.cpp +++ b/sycl/test-e2e/Graph/Inputs/sub_graph_nested.cpp @@ -26,6 +26,10 @@ int reference(size_t i) { int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + exp_ext::command_graph Graph{Queue.get_context(), Queue.get_device()}; exp_ext::command_graph SubGraph{Queue.get_context(), Queue.get_device()}; exp_ext::command_graph XSubSubGraph{Queue.get_context(), Queue.get_device()}; diff --git a/sycl/test-e2e/Graph/Inputs/sub_graph_reduction.cpp b/sycl/test-e2e/Graph/Inputs/sub_graph_reduction.cpp index 1982924dd22b6..3813fdb96d817 100644 --- a/sycl/test-e2e/Graph/Inputs/sub_graph_reduction.cpp +++ b/sycl/test-e2e/Graph/Inputs/sub_graph_reduction.cpp @@ -6,6 +6,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + exp_ext::command_graph Graph{Queue.get_context(), Queue.get_device()}; exp_ext::command_graph SubGraph{Queue.get_context(), Queue.get_device()}; diff --git a/sycl/test-e2e/Graph/Inputs/sub_graph_two_parent_graphs.cpp b/sycl/test-e2e/Graph/Inputs/sub_graph_two_parent_graphs.cpp index 3edabb3f7b00b..b3f11d21eea7f 100644 --- a/sycl/test-e2e/Graph/Inputs/sub_graph_two_parent_graphs.cpp +++ b/sycl/test-e2e/Graph/Inputs/sub_graph_two_parent_graphs.cpp @@ -6,6 +6,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + exp_ext::command_graph GraphA{Queue.get_context(), Queue.get_device()}; exp_ext::command_graph GraphB{Queue.get_context(), Queue.get_device()}; exp_ext::command_graph SubGraph{Queue.get_context(), Queue.get_device()}; diff --git a/sycl/test-e2e/Graph/Inputs/temp_buffer_reinterpret.cpp b/sycl/test-e2e/Graph/Inputs/temp_buffer_reinterpret.cpp index f98a2bac8896e..2a251d2edb688 100644 --- a/sycl/test-e2e/Graph/Inputs/temp_buffer_reinterpret.cpp +++ b/sycl/test-e2e/Graph/Inputs/temp_buffer_reinterpret.cpp @@ -8,6 +8,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + using T = int; std::vector DataA(Size), DataB(Size), DataC(Size); diff --git a/sycl/test-e2e/Graph/Inputs/usm_copy.cpp b/sycl/test-e2e/Graph/Inputs/usm_copy.cpp index ca75bb844b747..9904b2da7dd47 100644 --- a/sycl/test-e2e/Graph/Inputs/usm_copy.cpp +++ b/sycl/test-e2e/Graph/Inputs/usm_copy.cpp @@ -5,6 +5,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + using T = int; const T ModValue = 7; diff --git a/sycl/test-e2e/Graph/Inputs/usm_fill.cpp b/sycl/test-e2e/Graph/Inputs/usm_fill.cpp index 677a949c88e9c..e2872efd5aff6 100644 --- a/sycl/test-e2e/Graph/Inputs/usm_fill.cpp +++ b/sycl/test-e2e/Graph/Inputs/usm_fill.cpp @@ -3,15 +3,18 @@ #include "../graph_common.hpp" int main() { - queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + exp_ext::command_graph Graph{Queue.get_context(), Queue.get_device()}; const size_t N = 10; int *Arr = malloc_device(N, Queue); - int Pattern = 3.14f; + int Pattern = 3; auto NodeA = add_node(Graph, Queue, [&](handler &CGH) { CGH.fill(Arr, Pattern, N); }); diff --git a/sycl/test-e2e/Graph/Inputs/usm_fill_host.cpp b/sycl/test-e2e/Graph/Inputs/usm_fill_host.cpp index 0fd2b30ab7696..3954f2807af80 100644 --- a/sycl/test-e2e/Graph/Inputs/usm_fill_host.cpp +++ b/sycl/test-e2e/Graph/Inputs/usm_fill_host.cpp @@ -3,8 +3,12 @@ #include "../graph_common.hpp" int main() { - queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + + if (!are_graphs_supported(Queue)) { + return 0; + } + if (!Queue.get_device().has(sycl::aspect::usm_host_allocations)) { return 0; } @@ -14,7 +18,7 @@ int main() { const size_t N = 10; int *Arr = malloc_host(N, Queue); - int Pattern = 3.14f; + int Pattern = 3; auto NodeA = add_node(Graph, Queue, [&](handler &CGH) { CGH.fill(Arr, Pattern, N); }); diff --git a/sycl/test-e2e/Graph/Inputs/usm_fill_shared.cpp b/sycl/test-e2e/Graph/Inputs/usm_fill_shared.cpp index 84fca03a44ac8..1782dd58ff43d 100644 --- a/sycl/test-e2e/Graph/Inputs/usm_fill_shared.cpp +++ b/sycl/test-e2e/Graph/Inputs/usm_fill_shared.cpp @@ -3,9 +3,12 @@ #include "../graph_common.hpp" int main() { - queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + if (!Queue.get_device().has(sycl::aspect::usm_shared_allocations)) { return 0; } @@ -15,7 +18,7 @@ int main() { const size_t N = 10; int *Arr = malloc_shared(N, Queue); - int Pattern = 3.14f; + int Pattern = 3; auto NodeA = add_node(Graph, Queue, [&](handler &CGH) { CGH.fill(Arr, Pattern, N); }); diff --git a/sycl/test-e2e/Graph/RecordReplay/add_nodes_after_finalize.cpp b/sycl/test-e2e/Graph/RecordReplay/add_nodes_after_finalize.cpp index 711a7c0838a1b..ff7d92c01bfbb 100644 --- a/sycl/test-e2e/Graph/RecordReplay/add_nodes_after_finalize.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/add_nodes_after_finalize.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/RecordReplay/after_use.cpp b/sycl/test-e2e/Graph/RecordReplay/after_use.cpp index 01cc5aa51a1a6..d506619d9a4d2 100644 --- a/sycl/test-e2e/Graph/RecordReplay/after_use.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/after_use.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG @@ -14,6 +13,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + using T = int; std::vector DataA(Size), DataB(Size), DataC(Size); diff --git a/sycl/test-e2e/Graph/RecordReplay/assume_buffer_outlives_graph_property.cpp b/sycl/test-e2e/Graph/RecordReplay/assume_buffer_outlives_graph_property.cpp index 5a561a0835cb6..57f352d893216 100644 --- a/sycl/test-e2e/Graph/RecordReplay/assume_buffer_outlives_graph_property.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/assume_buffer_outlives_graph_property.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/RecordReplay/barrier_with_work.cpp b/sycl/test-e2e/Graph/RecordReplay/barrier_with_work.cpp index d88706474430f..e199e8fa9b2db 100644 --- a/sycl/test-e2e/Graph/RecordReplay/barrier_with_work.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/barrier_with_work.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG @@ -64,6 +63,10 @@ event run_kernels_usm_with_barrier(queue Q, const size_t Size, T *DataA, int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + using T = int; std::vector DataA(Size), DataB(Size), DataC(Size); diff --git a/sycl/test-e2e/Graph/RecordReplay/basic_buffer.cpp b/sycl/test-e2e/Graph/RecordReplay/basic_buffer.cpp index aeee4b6f4cf2b..195dec15b8eb5 100644 --- a/sycl/test-e2e/Graph/RecordReplay/basic_buffer.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/basic_buffer.cpp @@ -1,4 +1,3 @@ -// REQUIRES: level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/RecordReplay/basic_usm.cpp b/sycl/test-e2e/Graph/RecordReplay/basic_usm.cpp index 988e22b75d049..6ba2a9a1a9b94 100644 --- a/sycl/test-e2e/Graph/RecordReplay/basic_usm.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/basic_usm.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/RecordReplay/basic_usm_host.cpp b/sycl/test-e2e/Graph/RecordReplay/basic_usm_host.cpp index d60dc0f454242..9f2ff2e154355 100644 --- a/sycl/test-e2e/Graph/RecordReplay/basic_usm_host.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/basic_usm_host.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/RecordReplay/basic_usm_mixed.cpp b/sycl/test-e2e/Graph/RecordReplay/basic_usm_mixed.cpp index 4645f079cd004..c80e358c43d0d 100644 --- a/sycl/test-e2e/Graph/RecordReplay/basic_usm_mixed.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/basic_usm_mixed.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/RecordReplay/basic_usm_shared.cpp b/sycl/test-e2e/Graph/RecordReplay/basic_usm_shared.cpp index 51747fa00f7a6..e0515e86e3b55 100644 --- a/sycl/test-e2e/Graph/RecordReplay/basic_usm_shared.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/basic_usm_shared.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/RecordReplay/basic_usm_system.cpp b/sycl/test-e2e/Graph/RecordReplay/basic_usm_system.cpp index 360cb915f757e..e4891371e0857 100644 --- a/sycl/test-e2e/Graph/RecordReplay/basic_usm_system.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/basic_usm_system.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/RecordReplay/buffer_copy.cpp b/sycl/test-e2e/Graph/RecordReplay/buffer_copy.cpp index b78ee6d160395..52e5dfd3dcdcd 100644 --- a/sycl/test-e2e/Graph/RecordReplay/buffer_copy.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/buffer_copy.cpp @@ -1,4 +1,3 @@ -// REQUIRES: level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/RecordReplay/buffer_copy_2d.cpp b/sycl/test-e2e/Graph/RecordReplay/buffer_copy_2d.cpp index f72ed81b5856a..3cac441875d9b 100644 --- a/sycl/test-e2e/Graph/RecordReplay/buffer_copy_2d.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/buffer_copy_2d.cpp @@ -1,4 +1,3 @@ -// REQUIRES: level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/RecordReplay/buffer_copy_host2target.cpp b/sycl/test-e2e/Graph/RecordReplay/buffer_copy_host2target.cpp index b72759f0a4067..be52a35bfeeb2 100644 --- a/sycl/test-e2e/Graph/RecordReplay/buffer_copy_host2target.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/buffer_copy_host2target.cpp @@ -1,4 +1,3 @@ -// REQUIRES: level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/RecordReplay/buffer_copy_host2target_2d.cpp b/sycl/test-e2e/Graph/RecordReplay/buffer_copy_host2target_2d.cpp index 5af65c7a679a4..ed0d52deb5963 100644 --- a/sycl/test-e2e/Graph/RecordReplay/buffer_copy_host2target_2d.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/buffer_copy_host2target_2d.cpp @@ -1,4 +1,3 @@ -// REQUIRES: level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/RecordReplay/buffer_copy_host2target_offset.cpp b/sycl/test-e2e/Graph/RecordReplay/buffer_copy_host2target_offset.cpp index da446a0d11085..b366b40395e16 100644 --- a/sycl/test-e2e/Graph/RecordReplay/buffer_copy_host2target_offset.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/buffer_copy_host2target_offset.cpp @@ -1,4 +1,3 @@ -// REQUIRES: level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/RecordReplay/buffer_copy_offsets.cpp b/sycl/test-e2e/Graph/RecordReplay/buffer_copy_offsets.cpp index 75fab329068cb..e4b26eab3c580 100644 --- a/sycl/test-e2e/Graph/RecordReplay/buffer_copy_offsets.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/buffer_copy_offsets.cpp @@ -1,4 +1,3 @@ -// REQUIRES: level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/RecordReplay/buffer_copy_target2host.cpp b/sycl/test-e2e/Graph/RecordReplay/buffer_copy_target2host.cpp index bc5889d6c4f6b..3bc14b0dbb99e 100644 --- a/sycl/test-e2e/Graph/RecordReplay/buffer_copy_target2host.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/buffer_copy_target2host.cpp @@ -1,4 +1,3 @@ -// REQUIRES: level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/RecordReplay/buffer_copy_target2host_2d.cpp b/sycl/test-e2e/Graph/RecordReplay/buffer_copy_target2host_2d.cpp index 46091b899edcb..b7dfee6f132c7 100644 --- a/sycl/test-e2e/Graph/RecordReplay/buffer_copy_target2host_2d.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/buffer_copy_target2host_2d.cpp @@ -1,4 +1,3 @@ -// REQUIRES: level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/RecordReplay/buffer_copy_target2host_offset.cpp b/sycl/test-e2e/Graph/RecordReplay/buffer_copy_target2host_offset.cpp index 72b1f5772ffca..f9d57efc11793 100644 --- a/sycl/test-e2e/Graph/RecordReplay/buffer_copy_target2host_offset.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/buffer_copy_target2host_offset.cpp @@ -1,4 +1,3 @@ -// REQUIRES: level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/RecordReplay/buffer_ordering.cpp b/sycl/test-e2e/Graph/RecordReplay/buffer_ordering.cpp index 9910cc82d6e6b..5d3b75e51cdf2 100644 --- a/sycl/test-e2e/Graph/RecordReplay/buffer_ordering.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/buffer_ordering.cpp @@ -1,4 +1,3 @@ -// REQUIRES: level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/RecordReplay/concurrent_queue.cpp b/sycl/test-e2e/Graph/RecordReplay/concurrent_queue.cpp index b48ce2f65df57..1b621ab12a97a 100644 --- a/sycl/test-e2e/Graph/RecordReplay/concurrent_queue.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/concurrent_queue.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG @@ -14,6 +13,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + bool Success = false; exp_ext::command_graph GraphA{Queue.get_context(), Queue.get_device()}; diff --git a/sycl/test-e2e/Graph/RecordReplay/debug_print_graph.cpp b/sycl/test-e2e/Graph/RecordReplay/debug_print_graph.cpp index 18757f5d9aba3..9c7356cfeb4c5 100644 --- a/sycl/test-e2e/Graph/RecordReplay/debug_print_graph.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/debug_print_graph.cpp @@ -1,11 +1,9 @@ -// REQUIRES: level_zero || cuda, gpu // RUN: %{build} -o %t.out -// RUN: %if linux %{ %{run} %t.out ; FileCheck %s --input-file graph.dot %} -// RUN: %if windows %{ %{run} %t.out %} +// RUN: %if linux && (ext_oneapi_level_zero || ext_oneapi_cuda) %{ %{run} %t.out ; FileCheck %s --input-file graph.dot %} %else %{ %{run} %t.out %} // Windows output format differs from linux format. // The filecheck-based output checking is suited to linux standards. // On Windows, we only test that printing takes place correctly and does not -// trigger errors or throw execeptions. +// trigger errors or throw exceptions. // // CHECK: digraph dot { // CHECK-NEXT: "0x[[#%x,NODE1:]]" diff --git a/sycl/test-e2e/Graph/RecordReplay/debug_print_graph_verbose.cpp b/sycl/test-e2e/Graph/RecordReplay/debug_print_graph_verbose.cpp index 799a8261bb0fa..afd9503d6df1b 100644 --- a/sycl/test-e2e/Graph/RecordReplay/debug_print_graph_verbose.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/debug_print_graph_verbose.cpp @@ -1,11 +1,9 @@ -// REQUIRES: level_zero || cuda, gpu // RUN: %{build} -o %t.out -// RUN: %if linux %{ %{run} %t.out ; FileCheck %s --input-file graph_verbose.dot %} -// RUN: %if windows %{ %{run} %t.out %} +// RUN: %if linux && (ext_oneapi_level_zero || ext_oneapi_cuda) %{ %{run} %t.out ; FileCheck %s --input-file graph_verbose.dot %} %else %{ %{run} %t.out %} // Windows output format differs from linux format. // The filecheck-based output checking is suited to linux standards. // On Windows, we only test that printing takes place correctly and does not -// trigger errors or throw execeptions. +// trigger errors or throw exceptions. // // // CHECK: digraph dot { diff --git a/sycl/test-e2e/Graph/RecordReplay/dotp_buffer_reduction.cpp b/sycl/test-e2e/Graph/RecordReplay/dotp_buffer_reduction.cpp index 8a3de62784020..7e0de1981f6c6 100644 --- a/sycl/test-e2e/Graph/RecordReplay/dotp_buffer_reduction.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/dotp_buffer_reduction.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG @@ -6,8 +5,8 @@ // // CHECK-NOT: LEAK -// Expected fail as reduction support is not complete. -// XFAIL: * +// Skip as reduction support is not complete. +// REQUIRES: NOT_YET_IMPLEMENTED #define GRAPH_E2E_RECORD_REPLAY diff --git a/sycl/test-e2e/Graph/RecordReplay/dotp_in_order.cpp b/sycl/test-e2e/Graph/RecordReplay/dotp_in_order.cpp index 505a8716dab1f..00ba8841c54e1 100644 --- a/sycl/test-e2e/Graph/RecordReplay/dotp_in_order.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/dotp_in_order.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG @@ -16,6 +15,10 @@ int main() { sycl::ext::intel::property::queue::no_immediate_command_list{}}; queue Queue{Properties}; + if (!are_graphs_supported(Queue)) { + return 0; + } + exp_ext::command_graph Graph{Queue.get_context(), Queue.get_device()}; int *Dotp = malloc_device(1, Queue); diff --git a/sycl/test-e2e/Graph/RecordReplay/dotp_in_order_with_empty_nodes.cpp b/sycl/test-e2e/Graph/RecordReplay/dotp_in_order_with_empty_nodes.cpp index 20aae12d3b2e8..79254737a3931 100644 --- a/sycl/test-e2e/Graph/RecordReplay/dotp_in_order_with_empty_nodes.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/dotp_in_order_with_empty_nodes.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG @@ -18,6 +17,10 @@ int main() { sycl::ext::intel::property::queue::no_immediate_command_list{}}; queue Queue{Properties}; + if (!are_graphs_supported(Queue)) { + return 0; + } + exp_ext::command_graph Graph{Queue.get_context(), Queue.get_device()}; int *Dotp = malloc_device(1, Queue); diff --git a/sycl/test-e2e/Graph/RecordReplay/dotp_multiple_queues.cpp b/sycl/test-e2e/Graph/RecordReplay/dotp_multiple_queues.cpp index 08d2655d2e29c..a8c009c3d1737 100644 --- a/sycl/test-e2e/Graph/RecordReplay/dotp_multiple_queues.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/dotp_multiple_queues.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG @@ -16,6 +15,11 @@ int main() { property::queue::in_order{}, sycl::ext::intel::property::queue::no_immediate_command_list{}}; queue QueueA{Properties}; + + if (!are_graphs_supported(QueueA)) { + return 0; + } + queue QueueB{QueueA.get_context(), QueueA.get_device(), Properties}; exp_ext::command_graph Graph{QueueA.get_context(), QueueA.get_device()}; diff --git a/sycl/test-e2e/Graph/RecordReplay/dotp_usm_reduction.cpp b/sycl/test-e2e/Graph/RecordReplay/dotp_usm_reduction.cpp index c16582dd20f84..16914440a1735 100644 --- a/sycl/test-e2e/Graph/RecordReplay/dotp_usm_reduction.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/dotp_usm_reduction.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG @@ -6,8 +5,8 @@ // // CHECK-NOT: LEAK -// Expected fail as reduction support is not complete. -// XFAIL: * +// Skip as reduction support is not complete. +// REQUIRES: NOT_YET_IMPLEMENTED #define GRAPH_E2E_RECORD_REPLAY diff --git a/sycl/test-e2e/Graph/RecordReplay/double_buffer.cpp b/sycl/test-e2e/Graph/RecordReplay/double_buffer.cpp index 5eeb2207ec788..852164713faf7 100644 --- a/sycl/test-e2e/Graph/RecordReplay/double_buffer.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/double_buffer.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG @@ -6,8 +5,8 @@ // // CHECK-NOT: LEAK -// Expected fail as executable graph update not yet implemented -// XFAIL: * +// Skip as executable graph update not yet implemented +// REQUIRES: NOT_YET_IMPLEMENTED #define GRAPH_E2E_RECORD_REPLAY diff --git a/sycl/test-e2e/Graph/RecordReplay/empty_node.cpp b/sycl/test-e2e/Graph/RecordReplay/empty_node.cpp index 95cf1baa62835..a9adb7aa9d4da 100644 --- a/sycl/test-e2e/Graph/RecordReplay/empty_node.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/empty_node.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/RecordReplay/event_status_querying.cpp b/sycl/test-e2e/Graph/RecordReplay/event_status_querying.cpp index 6b2b383fbb2fd..4013f4eb75611 100644 --- a/sycl/test-e2e/Graph/RecordReplay/event_status_querying.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/event_status_querying.cpp @@ -1,6 +1,5 @@ -// REQUIRES: level_zero, gpu // RUN: %{build} -o %t.out -// RUN: %{run} %t.out 2>&1 | FileCheck %s +// RUN: %if ext_oneapi_level_zero || ext_oneapi_cuda %{ %{run} %t.out 2>&1 | FileCheck %s %} %else %{ %{run} %t.out %} // // CHECK: complete // diff --git a/sycl/test-e2e/Graph/RecordReplay/exception_inconsistent_contexts.cpp b/sycl/test-e2e/Graph/RecordReplay/exception_inconsistent_contexts.cpp index b7057a96879f5..5770ee8170058 100644 --- a/sycl/test-e2e/Graph/RecordReplay/exception_inconsistent_contexts.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/exception_inconsistent_contexts.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // @@ -12,6 +11,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + context InOrderContext; exp_ext::command_graph Graph{InOrderContext, Queue.get_device()}; diff --git a/sycl/test-e2e/Graph/RecordReplay/exception_inconsistent_devices.cpp b/sycl/test-e2e/Graph/RecordReplay/exception_inconsistent_devices.cpp index cd8fd46a72b6d..329922e8b5c40 100644 --- a/sycl/test-e2e/Graph/RecordReplay/exception_inconsistent_devices.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/exception_inconsistent_devices.cpp @@ -32,6 +32,10 @@ int main() { queue Queue{Dev1}; + if (!are_graphs_supported(Queue)) { + return 0; + } + exp_ext::command_graph Graph{Queue.get_context(), Dev0}; std::error_code ExceptionCode = make_error_code(sycl::errc::success); diff --git a/sycl/test-e2e/Graph/RecordReplay/executable_graph_update.cpp b/sycl/test-e2e/Graph/RecordReplay/executable_graph_update.cpp index 59759b2eb6c75..1294400e06c4e 100644 --- a/sycl/test-e2e/Graph/RecordReplay/executable_graph_update.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/executable_graph_update.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG @@ -6,8 +5,8 @@ // // CHECK-NOT: LEAK -// Expected fail as executable graph update not implemented yet -// XFAIL: * +// Skip as executable graph update not implemented yet +// REQUIRES: NOT_YET_IMPLEMENTED #define GRAPH_E2E_RECORD_REPLAY diff --git a/sycl/test-e2e/Graph/RecordReplay/executable_graph_update_ordering.cpp b/sycl/test-e2e/Graph/RecordReplay/executable_graph_update_ordering.cpp index 9e429f7d06a22..9d514a6045779 100644 --- a/sycl/test-e2e/Graph/RecordReplay/executable_graph_update_ordering.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/executable_graph_update_ordering.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG @@ -6,9 +5,9 @@ // // CHECK-NOT: LEAK -// Expected fail as executable graph update and host tasks both aren't +// Skip as executable graph update and host tasks both aren't // implemented. -// XFAIL: * +// REQUIRES: NOT_YET_IMPLEMENTED #define GRAPH_E2E_RECORD_REPLAY diff --git a/sycl/test-e2e/Graph/RecordReplay/finalize_while_recording.cpp b/sycl/test-e2e/Graph/RecordReplay/finalize_while_recording.cpp index b681ac07ac365..5417da4932d52 100644 --- a/sycl/test-e2e/Graph/RecordReplay/finalize_while_recording.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/finalize_while_recording.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG @@ -14,6 +13,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + exp_ext::command_graph Graph{Queue.get_context(), Queue.get_device()}; Graph.begin_recording(Queue); diff --git a/sycl/test-e2e/Graph/RecordReplay/host_task.cpp b/sycl/test-e2e/Graph/RecordReplay/host_task.cpp index a8c6bd2d6678a..5cb294ebab844 100644 --- a/sycl/test-e2e/Graph/RecordReplay/host_task.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/host_task.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG @@ -6,8 +5,8 @@ // // CHECK-NOT: LEAK -// Expected fail as host tasks are not implemented yet -// XFAIL: * +// Skip as host tasks aren't implemented yet. +// REQUIRES: NOT_YET_IMPLEMENTED #define GRAPH_E2E_RECORD_REPLAY diff --git a/sycl/test-e2e/Graph/RecordReplay/kernel_bundle.cpp b/sycl/test-e2e/Graph/RecordReplay/kernel_bundle.cpp index cf30f29ebc882..b2e843f4ca91a 100644 --- a/sycl/test-e2e/Graph/RecordReplay/kernel_bundle.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/kernel_bundle.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %if ext_oneapi_cuda %{ %{run} %t.out %} // RUN: %if ext_oneapi_level_zero %{env SYCL_PI_TRACE=2 %{run} %t.out | FileCheck %s %} diff --git a/sycl/test-e2e/Graph/RecordReplay/multiple_exec_graphs.cpp b/sycl/test-e2e/Graph/RecordReplay/multiple_exec_graphs.cpp index 1a6754619f7d0..82a9891b143e0 100644 --- a/sycl/test-e2e/Graph/RecordReplay/multiple_exec_graphs.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/multiple_exec_graphs.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/RecordReplay/multiple_kernel_bundles.cpp b/sycl/test-e2e/Graph/RecordReplay/multiple_kernel_bundles.cpp index 0d9030ebbae86..97cb14df7c853 100644 --- a/sycl/test-e2e/Graph/RecordReplay/multiple_kernel_bundles.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/multiple_kernel_bundles.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/RecordReplay/queue_shortcuts.cpp b/sycl/test-e2e/Graph/RecordReplay/queue_shortcuts.cpp index 423fc47a3fe1a..9471464bf49c5 100644 --- a/sycl/test-e2e/Graph/RecordReplay/queue_shortcuts.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/queue_shortcuts.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/RecordReplay/repeated_exec.cpp b/sycl/test-e2e/Graph/RecordReplay/repeated_exec.cpp index 4e5f0d35dbdd5..97e20cf4f0a63 100644 --- a/sycl/test-e2e/Graph/RecordReplay/repeated_exec.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/repeated_exec.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/RecordReplay/return_values.cpp b/sycl/test-e2e/Graph/RecordReplay/return_values.cpp index 7804ae8377935..1cf5a8e943f84 100644 --- a/sycl/test-e2e/Graph/RecordReplay/return_values.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/return_values.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG @@ -13,6 +12,11 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + + if (!are_graphs_supported(Queue)) { + return 0; + } + exp_ext::command_graph Graph{Queue.get_context(), Queue.get_device()}; bool ChangedState = Graph.end_recording(); diff --git a/sycl/test-e2e/Graph/RecordReplay/spec_constants_handler_api.cpp b/sycl/test-e2e/Graph/RecordReplay/spec_constants_handler_api.cpp index c602e6e7d2808..d03f25e5ae74b 100644 --- a/sycl/test-e2e/Graph/RecordReplay/spec_constants_handler_api.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/spec_constants_handler_api.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/RecordReplay/spec_constants_kernel_bundle_api.cpp b/sycl/test-e2e/Graph/RecordReplay/spec_constants_kernel_bundle_api.cpp index da0ed273e102b..ac036515dc762 100644 --- a/sycl/test-e2e/Graph/RecordReplay/spec_constants_kernel_bundle_api.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/spec_constants_kernel_bundle_api.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/RecordReplay/stream.cpp b/sycl/test-e2e/Graph/RecordReplay/stream.cpp index d395b624d5055..f0f25e4c58b0f 100644 --- a/sycl/test-e2e/Graph/RecordReplay/stream.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/stream.cpp @@ -1,12 +1,11 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out %GPU_CHECK_PLACEHOLDER // RUN: %if ext_oneapi_level_zero %{env ZE_DEBUG=4 %{run} %t.out %GPU_CHECK_PLACEHOLDER 2>&1 | FileCheck %s %} // // CHECK-NOT: LEAK -// Expected fail as sycl::stream is not implemented yet -// XFAIL: * +// Skip as sycl::stream is not implemented yet +// REQUIRES: NOT_YET_IMPLEMENTED #define GRAPH_E2E_RECORD_REPLAY diff --git a/sycl/test-e2e/Graph/RecordReplay/sub_graph.cpp b/sycl/test-e2e/Graph/RecordReplay/sub_graph.cpp index 11f89afad5f20..9fbed24d35031 100644 --- a/sycl/test-e2e/Graph/RecordReplay/sub_graph.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/sub_graph.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG @@ -8,4 +7,4 @@ #define GRAPH_E2E_RECORD_REPLAY -#include "../Inputs/sub_graph.cpp" \ No newline at end of file +#include "../Inputs/sub_graph.cpp" diff --git a/sycl/test-e2e/Graph/RecordReplay/sub_graph_execute_without_parent.cpp b/sycl/test-e2e/Graph/RecordReplay/sub_graph_execute_without_parent.cpp index afa6ec38574a4..92e2837026e93 100644 --- a/sycl/test-e2e/Graph/RecordReplay/sub_graph_execute_without_parent.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/sub_graph_execute_without_parent.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/RecordReplay/sub_graph_in_order.cpp b/sycl/test-e2e/Graph/RecordReplay/sub_graph_in_order.cpp index 9bc0d33b92f19..52061b4ceb0d3 100644 --- a/sycl/test-e2e/Graph/RecordReplay/sub_graph_in_order.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/sub_graph_in_order.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG @@ -16,6 +15,10 @@ int main() { sycl::ext::intel::property::queue::no_immediate_command_list{}}; queue Queue{Properties}; + if (!are_graphs_supported(Queue)) { + return 0; + } + exp_ext::command_graph Graph{Queue.get_context(), Queue.get_device()}; exp_ext::command_graph SubGraph{Queue.get_context(), Queue.get_device()}; diff --git a/sycl/test-e2e/Graph/RecordReplay/sub_graph_multiple_submission.cpp b/sycl/test-e2e/Graph/RecordReplay/sub_graph_multiple_submission.cpp index 767cf279b7c06..a4f439ae3b75c 100644 --- a/sycl/test-e2e/Graph/RecordReplay/sub_graph_multiple_submission.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/sub_graph_multiple_submission.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/RecordReplay/sub_graph_nested.cpp b/sycl/test-e2e/Graph/RecordReplay/sub_graph_nested.cpp index 75865f6f08697..d405ff198997c 100644 --- a/sycl/test-e2e/Graph/RecordReplay/sub_graph_nested.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/sub_graph_nested.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/RecordReplay/sub_graph_reduction.cpp b/sycl/test-e2e/Graph/RecordReplay/sub_graph_reduction.cpp index 358a906035569..129a7410d9b10 100644 --- a/sycl/test-e2e/Graph/RecordReplay/sub_graph_reduction.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/sub_graph_reduction.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG @@ -6,8 +5,8 @@ // // CHECK-NOT: LEAK -// Expected fail as reduction support is not complete. -// XFAIL: * +// Skip as reduction support is not complete. +// REQUIRES: NOT_YET_IMPLEMENTED #define GRAPH_E2E_RECORD_REPLAY diff --git a/sycl/test-e2e/Graph/RecordReplay/sub_graph_two_parent_graphs.cpp b/sycl/test-e2e/Graph/RecordReplay/sub_graph_two_parent_graphs.cpp index 382d1ab67fb18..ca9f55a69e0c4 100644 --- a/sycl/test-e2e/Graph/RecordReplay/sub_graph_two_parent_graphs.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/sub_graph_two_parent_graphs.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/RecordReplay/temp_buffer.cpp b/sycl/test-e2e/Graph/RecordReplay/temp_buffer.cpp index 97aa3e8366872..61b9ae7217bab 100644 --- a/sycl/test-e2e/Graph/RecordReplay/temp_buffer.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/temp_buffer.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG @@ -6,8 +5,10 @@ // // CHECK-NOT: LEAK -// Fail that needs investigation -// XFAIL: * +// This test should be removed or modified as using buffers that don't exceed +// the lifetime of the graph doesn't satisfy valid usage of the graphs +// extension. +// REQUIRES: NOT_YET_IMPLEMENTED // This test creates a temporary buffer which is used in kernels, but // destroyed before finalization and execution of the graph. @@ -17,6 +18,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + using T = int; std::vector DataA(Size), DataB(Size), DataC(Size); diff --git a/sycl/test-e2e/Graph/RecordReplay/temp_buffer_reinterpret.cpp b/sycl/test-e2e/Graph/RecordReplay/temp_buffer_reinterpret.cpp index 1a124ae49d3b3..c7e17b9a736c8 100644 --- a/sycl/test-e2e/Graph/RecordReplay/temp_buffer_reinterpret.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/temp_buffer_reinterpret.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/RecordReplay/temp_scope.cpp b/sycl/test-e2e/Graph/RecordReplay/temp_scope.cpp index dfad2e35a664b..22c0c3e007397 100644 --- a/sycl/test-e2e/Graph/RecordReplay/temp_scope.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/temp_scope.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG @@ -26,10 +25,13 @@ void run_some_kernel(queue Queue, int *Data) { } int main() { - queue Queue{default_selector_v, {sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + exp_ext::command_graph Graph{Queue.get_context(), Queue.get_device()}; int *Arr = malloc_device(N, Queue); diff --git a/sycl/test-e2e/Graph/RecordReplay/usm_copy.cpp b/sycl/test-e2e/Graph/RecordReplay/usm_copy.cpp index b9ddfb58189ce..e5070d01d9848 100644 --- a/sycl/test-e2e/Graph/RecordReplay/usm_copy.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/usm_copy.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/RecordReplay/usm_copy_in_order.cpp b/sycl/test-e2e/Graph/RecordReplay/usm_copy_in_order.cpp index 2a1d45a6494b0..bd7f753763c00 100644 --- a/sycl/test-e2e/Graph/RecordReplay/usm_copy_in_order.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/usm_copy_in_order.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG @@ -16,6 +15,10 @@ int main() { sycl::ext::intel::property::queue::no_immediate_command_list{}}; queue Queue{Properties}; + if (!are_graphs_supported(Queue)) { + return 0; + } + exp_ext::command_graph Graph{Queue.get_context(), Queue.get_device()}; const size_t N = 10; diff --git a/sycl/test-e2e/Graph/RecordReplay/usm_fill.cpp b/sycl/test-e2e/Graph/RecordReplay/usm_fill.cpp index 4b48ef5fb4b5f..c0221b14b2144 100644 --- a/sycl/test-e2e/Graph/RecordReplay/usm_fill.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/usm_fill.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/RecordReplay/usm_fill_host.cpp b/sycl/test-e2e/Graph/RecordReplay/usm_fill_host.cpp index ce53c03a22b53..b9c85fdfaa35e 100644 --- a/sycl/test-e2e/Graph/RecordReplay/usm_fill_host.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/usm_fill_host.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/RecordReplay/usm_fill_shared.cpp b/sycl/test-e2e/Graph/RecordReplay/usm_fill_shared.cpp index 9b99e85c634ca..e141c433fcb3b 100644 --- a/sycl/test-e2e/Graph/RecordReplay/usm_fill_shared.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/usm_fill_shared.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG diff --git a/sycl/test-e2e/Graph/RecordReplay/valid_no_end.cpp b/sycl/test-e2e/Graph/RecordReplay/valid_no_end.cpp index ae6847b9c8a88..65916526aded5 100644 --- a/sycl/test-e2e/Graph/RecordReplay/valid_no_end.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/valid_no_end.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // Extra run to check for leaks in Level Zero using ZE_DEBUG @@ -14,6 +13,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + exp_ext::command_graph Graph{Queue.get_context(), Queue.get_device()}; { queue MyQueue(Queue.get_context(), Queue.get_device()); diff --git a/sycl/test-e2e/Graph/Threading/submit.cpp b/sycl/test-e2e/Graph/Threading/submit.cpp index 33ba51988ac2b..9397c063a6cd3 100644 --- a/sycl/test-e2e/Graph/Threading/submit.cpp +++ b/sycl/test-e2e/Graph/Threading/submit.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build_pthread_inc} -o %t.out // RUN: %{run} %t.out // RUN: %if ext_oneapi_level_zero %{env ZE_DEBUG=4 %{run} %t.out 2>&1 | FileCheck %s %} @@ -21,6 +20,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + using T = int; const unsigned NumThreads = std::thread::hardware_concurrency(); diff --git a/sycl/test-e2e/Graph/device_query.cpp b/sycl/test-e2e/Graph/device_query.cpp index d9fbe99a16e2d..51746ae629885 100644 --- a/sycl/test-e2e/Graph/device_query.cpp +++ b/sycl/test-e2e/Graph/device_query.cpp @@ -10,6 +10,10 @@ int main() { queue Queue; + if (!are_graphs_supported(Queue)) { + return 0; + } + auto Device = Queue.get_device(); exp_ext::graph_support_level SupportsGraphs = diff --git a/sycl/test-e2e/Graph/empty_graph.cpp b/sycl/test-e2e/Graph/empty_graph.cpp index 376facc78417e..eae37bae5a729 100644 --- a/sycl/test-e2e/Graph/empty_graph.cpp +++ b/sycl/test-e2e/Graph/empty_graph.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out @@ -10,6 +9,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + ext::oneapi::experimental::command_graph Graph{Queue.get_context(), Queue.get_device()}; diff --git a/sycl/test-e2e/Graph/finalize_twice.cpp b/sycl/test-e2e/Graph/finalize_twice.cpp index 8c4dbb08e5594..9ac7f3cab6339 100644 --- a/sycl/test-e2e/Graph/finalize_twice.cpp +++ b/sycl/test-e2e/Graph/finalize_twice.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out @@ -9,6 +8,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + ext::oneapi::experimental::command_graph Graph{Queue.get_context(), Queue.get_device()}; auto GraphExec = Graph.finalize(); diff --git a/sycl/test-e2e/Graph/graph_common.hpp b/sycl/test-e2e/Graph/graph_common.hpp index eda7f3255f4ba..8905bbda7264f 100644 --- a/sycl/test-e2e/Graph/graph_common.hpp +++ b/sycl/test-e2e/Graph/graph_common.hpp @@ -457,3 +457,12 @@ bool inline check_value(const size_t index, const T &Ref, const T &Got, return true; } + +bool are_graphs_supported(queue &Queue) { + auto Device = Queue.get_device(); + + exp_ext::graph_support_level SupportsGraphs = + Device.get_info(); + + return SupportsGraphs != exp_ext::graph_support_level::unsupported; +} diff --git a/sycl/test-e2e/Graph/graph_exception_global_device_extension.cpp b/sycl/test-e2e/Graph/graph_exception_global_device_extension.cpp index 0e43f6a802efd..6c3e3e9d44e9c 100644 --- a/sycl/test-e2e/Graph/graph_exception_global_device_extension.cpp +++ b/sycl/test-e2e/Graph/graph_exception_global_device_extension.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // @@ -17,24 +16,23 @@ sycl::ext::oneapi::experimental::device_global enum OperationPath { Explicit, RecordReplay, Shortcut }; -template void test() { - queue Q{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; +template void test(queue Queue) { int MemcpyWrite = 42, CopyWrite = 24, MemcpyRead = 1, CopyRead = 2; - exp_ext::command_graph Graph{Q.get_context(), Q.get_device()}; + exp_ext::command_graph Graph{Queue.get_context(), Queue.get_device()}; if constexpr (PathKind != OperationPath::Explicit) { - Graph.begin_recording(Q); + Graph.begin_recording(Queue); } // Copy from device globals before having written anything. std::error_code ExceptionCode = make_error_code(sycl::errc::success); try { if constexpr (PathKind == OperationPath::Shortcut) { - Q.memcpy(&MemcpyRead, MemcpyDeviceGlobal); + Queue.memcpy(&MemcpyRead, MemcpyDeviceGlobal); } if constexpr (PathKind == OperationPath::RecordReplay) { - Q.submit([&](handler &CGH) { + Queue.submit([&](handler &CGH) { return CGH.memcpy(&MemcpyRead, MemcpyDeviceGlobal); }); } @@ -51,10 +49,10 @@ template void test() { ExceptionCode = make_error_code(sycl::errc::success); try { if constexpr (PathKind == OperationPath::Shortcut) { - Q.copy(CopyDeviceGlobal, &CopyRead); + Queue.copy(CopyDeviceGlobal, &CopyRead); } if constexpr (PathKind == OperationPath::RecordReplay) { - Q.submit( + Queue.submit( [&](handler &CGH) { return CGH.copy(CopyDeviceGlobal, &CopyRead); }); } if constexpr (PathKind == OperationPath::Explicit) { @@ -70,10 +68,10 @@ template void test() { ExceptionCode = make_error_code(sycl::errc::success); try { if constexpr (PathKind == OperationPath::Shortcut) { - Q.memcpy(MemcpyDeviceGlobal, &MemcpyWrite); + Queue.memcpy(MemcpyDeviceGlobal, &MemcpyWrite); } if constexpr (PathKind == OperationPath::RecordReplay) { - Q.submit([&](handler &CGH) { + Queue.submit([&](handler &CGH) { return CGH.memcpy(MemcpyDeviceGlobal, &MemcpyWrite); }); } @@ -90,9 +88,9 @@ template void test() { ExceptionCode = make_error_code(sycl::errc::success); try { if constexpr (PathKind == OperationPath::Shortcut) { - Q.copy(&CopyWrite, CopyDeviceGlobal); + Queue.copy(&CopyWrite, CopyDeviceGlobal); } else if constexpr (PathKind == OperationPath::RecordReplay) { - Q.submit( + Queue.submit( [&](handler &CGH) { return CGH.copy(&CopyWrite, CopyDeviceGlobal); }); } else if constexpr (PathKind == OperationPath::Explicit) { Graph.add( @@ -106,9 +104,9 @@ template void test() { ExceptionCode = make_error_code(sycl::errc::success); try { if constexpr (PathKind == OperationPath::Shortcut) { - Q.memcpy(&MemcpyRead, MemcpyDeviceGlobal); + Queue.memcpy(&MemcpyRead, MemcpyDeviceGlobal); } else if constexpr (PathKind == OperationPath::RecordReplay) { - Q.submit([&](handler &CGH) { + Queue.submit([&](handler &CGH) { return CGH.memcpy(&MemcpyRead, MemcpyDeviceGlobal); }); } else if constexpr (PathKind == OperationPath::Explicit) { @@ -124,9 +122,9 @@ template void test() { ExceptionCode = make_error_code(sycl::errc::success); try { if constexpr (PathKind == OperationPath::Shortcut) { - Q.copy(CopyDeviceGlobal, &CopyRead); + Queue.copy(CopyDeviceGlobal, &CopyRead); } else if constexpr (PathKind == OperationPath::RecordReplay) { - Q.submit( + Queue.submit( [&](handler &CGH) { return CGH.copy(CopyDeviceGlobal, &CopyRead); }); } else if constexpr (PathKind == OperationPath::Explicit) { Graph.add( @@ -143,8 +141,14 @@ template void test() { } int main() { - test(); - test(); - test(); + queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + + if (!are_graphs_supported(Queue)) { + return 0; + } + + test(Queue); + test(Queue); + test(Queue); return 0; } diff --git a/sycl/test-e2e/Graph/immediate_command_list_error.cpp b/sycl/test-e2e/Graph/immediate_command_list_error.cpp index bad3fac48007c..f56e0bcb611f3 100644 --- a/sycl/test-e2e/Graph/immediate_command_list_error.cpp +++ b/sycl/test-e2e/Graph/immediate_command_list_error.cpp @@ -18,6 +18,10 @@ int main() { QueueImmediate.get_device(), {sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(QueueNoImmediate)) { + return 0; + } + exp_ext::command_graph Graph{QueueNoImmediate.get_context(), QueueNoImmediate.get_device()}; diff --git a/sycl/test-e2e/Graph/invalid_depends_on.cpp b/sycl/test-e2e/Graph/invalid_depends_on.cpp index dd8fb7ee423e4..9caf5494a96a7 100644 --- a/sycl/test-e2e/Graph/invalid_depends_on.cpp +++ b/sycl/test-e2e/Graph/invalid_depends_on.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out @@ -10,6 +9,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + ext::oneapi::experimental::command_graph Graph{Queue.get_context(), Queue.get_device()}; ext::oneapi::experimental::command_graph Graph2{Queue.get_context(), diff --git a/sycl/test-e2e/Graph/invalid_event_wait.cpp b/sycl/test-e2e/Graph/invalid_event_wait.cpp index 5d72f40954715..173374c08dc15 100644 --- a/sycl/test-e2e/Graph/invalid_event_wait.cpp +++ b/sycl/test-e2e/Graph/invalid_event_wait.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out @@ -10,6 +9,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + ext::oneapi::experimental::command_graph Graph{Queue.get_context(), Queue.get_device()}; Graph.begin_recording(Queue); diff --git a/sycl/test-e2e/Graph/invalid_queue_wait.cpp b/sycl/test-e2e/Graph/invalid_queue_wait.cpp index 003c840ead398..2653b8fe3eb10 100644 --- a/sycl/test-e2e/Graph/invalid_queue_wait.cpp +++ b/sycl/test-e2e/Graph/invalid_queue_wait.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out @@ -9,6 +8,10 @@ int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + ext::oneapi::experimental::command_graph Graph{Queue.get_context(), Queue.get_device()}; Graph.begin_recording(Queue); diff --git a/sycl/test-e2e/Graph/submission_while_executing.cpp b/sycl/test-e2e/Graph/submission_while_executing.cpp index 1cad91e6bab45..15f79cf3fd7b4 100644 --- a/sycl/test-e2e/Graph/submission_while_executing.cpp +++ b/sycl/test-e2e/Graph/submission_while_executing.cpp @@ -1,4 +1,3 @@ -// REQUIRES: cuda || level_zero, gpu // RUN: %{build} -o %t.out // RUN: %{run} %t.out // RUN: %if ext_oneapi_level_zero %{env ZE_DEBUG=4 %{run} %t.out 2>&1 | FileCheck %s %} @@ -20,6 +19,10 @@ isSubmittedOrRunningCommand(sycl::info::event_command_status Status) { int main() { queue Queue{{sycl::ext::intel::property::queue::no_immediate_command_list{}}}; + if (!are_graphs_supported(Queue)) { + return 0; + } + using T = int; size_t LargeSize =