From 49968e8dcdfc04f0c73e0af4dc9afa2fc93ea6d3 Mon Sep 17 00:00:00 2001 From: Ewan Crawford Date: Mon, 4 Mar 2024 15:03:04 +0000 Subject: [PATCH] Change device info query to aspect Based on DPC++ maintainer feedback that an aspect is more useful for sycl-ls and lit testing. Our emulation mode has also never been implemented. --- .../llvm/SYCLLowerIR/DeviceConfigFile.td | 3 +- .../sycl_ext_oneapi_graph.asciidoc | 35 +++++-------------- sycl/include/sycl/device_aspect_macros.hpp | 10 ++++++ sycl/include/sycl/info/aspects.def | 1 + .../sycl/info/ext_oneapi_device_traits.def | 5 --- sycl/include/sycl/info/info_desc.hpp | 9 ++--- sycl/source/detail/device_impl.cpp | 25 +++++++++++++ sycl/source/detail/device_info.hpp | 35 ------------------- sycl/source/detail/graph_impl.cpp | 22 ++---------- sycl/source/detail/graph_impl.hpp | 4 +-- sycl/test-e2e/Graph/Error/lit.local.cfg | 2 +- sycl/test-e2e/Graph/Explicit/lit.local.cfg | 2 +- sycl/test-e2e/Graph/Profiling/lit.local.cfg | 2 +- .../exception_inconsistent_devices.cpp | 8 ++--- .../test-e2e/Graph/RecordReplay/lit.local.cfg | 2 +- sycl/test-e2e/Graph/Threading/lit.local.cfg | 2 +- .../Graph/UnsupportedDevice/device_query.cpp | 15 +++----- .../exception_unsupported_backend.cpp | 7 ++-- sycl/test-e2e/Graph/ValidUsage/lit.local.cfg | 2 +- sycl/test-e2e/Graph/graph_common.hpp | 9 ----- .../in_order_ext_oneapi_submit_barrier.cpp | 3 +- sycl/test-e2e/lit.cfg.py | 6 ---- sycl/test/abi/sycl_symbols_linux.dump | 2 -- sycl/test/abi/sycl_symbols_windows.dump | 2 -- sycl/tools/sycl-ls/sycl-ls.cpp | 7 ---- 25 files changed, 71 insertions(+), 149 deletions(-) diff --git a/llvm/include/llvm/SYCLLowerIR/DeviceConfigFile.td b/llvm/include/llvm/SYCLLowerIR/DeviceConfigFile.td index 72bc18e1a1385..8b805ff3fe1fb 100644 --- a/llvm/include/llvm/SYCLLowerIR/DeviceConfigFile.td +++ b/llvm/include/llvm/SYCLLowerIR/DeviceConfigFile.td @@ -69,6 +69,7 @@ def AspectExt_oneapi_tangle_group : Aspect<"ext_oneapi_tangle_group">; def AspectExt_intel_matrix : Aspect<"ext_intel_matrix">; def AspectExt_oneapi_is_composite : Aspect<"ext_oneapi_is_composite">; def AspectExt_oneapi_is_component : Aspect<"ext_oneapi_is_component">; +def AspectExt_oneapi_graph : Aspect<"ext_oneapi_graph">; // Deprecated aspects def AspectInt64_base_atomics : Aspect<"int64_base_atomics">; def AspectInt64_extended_atomics : Aspect<"int64_extended_atomics">; @@ -119,7 +120,7 @@ def : TargetInfo<"__TestAspectList", AspectExt_oneapi_interop_semaphore_import, AspectExt_oneapi_interop_semaphore_export, AspectExt_oneapi_mipmap, AspectExt_oneapi_mipmap_anisotropy, AspectExt_oneapi_mipmap_level_reference, AspectExt_intel_esimd, AspectExt_oneapi_ballot_group, AspectExt_oneapi_fixed_size_group, AspectExt_oneapi_opportunistic_group, - AspectExt_oneapi_tangle_group, AspectExt_intel_matrix, AspectExt_oneapi_is_composite, AspectExt_oneapi_is_component], + AspectExt_oneapi_tangle_group, AspectExt_intel_matrix, AspectExt_oneapi_is_composite, AspectExt_oneapi_is_component, AspectExt_oneapi_graph], []>; // This definition serves the only purpose of testing whether the deprecated aspect list defined in here and in SYCL RT // match. diff --git a/sycl/doc/extensions/experimental/sycl_ext_oneapi_graph.asciidoc b/sycl/doc/extensions/experimental/sycl_ext_oneapi_graph.asciidoc index f2a4532b2c81c..f498e9276642f 100644 --- a/sycl/doc/extensions/experimental/sycl_ext_oneapi_graph.asciidoc +++ b/sycl/doc/extensions/experimental/sycl_ext_oneapi_graph.asciidoc @@ -43,6 +43,7 @@ Dan Holmes, Intel + Greg Lueck, Intel + Steffen Larsen, Intel + Jaime Arteaga Molina, Intel + +Andrei Elovikov, Intel + Ewan Crawford, Codeplay + Ben Tracy, Codeplay + Duncan McBain, Codeplay + @@ -296,38 +297,20 @@ Adding an executable graph as a sub-graph does not affect its existing node dependencies, such that it could be submitted in future without any side effects of prior uses as a sub-graph. -=== Device Info Query - -[source, c++] ----- -namespace sycl::ext::oneapi::experimental { -enum class graph_support_level { - unsupported, - native, - emulated -}; -} ----- +=== Querying Device Support Due to the experimental nature of the extension, support is not available across -all devices. The following device support query is added to the -`sycl::ext::oneapi::experimental` namespace for reporting devices which are -are currently supported, and how that support is implemented. +all devices. -Table {counter: tableNumber}. Device Info Queries. +Table {counter: tableNumber}. Device Support Aspect. [%header] |=== -| Device Descriptors | Return Type | Description - -|`info::device::graph_support` -|`graph_support_level` -|When passed to `device::get_info<...>()`, the function returns `native` -if there is an underlying SYCL backend command-buffer construct which is used -to propagate the graph to the backend. If no backend construct exists, or -building on top of it has not yet been implemented, then `emulated` is -returned. Otherwise `unsupported` is returned if the SYCL device doesn't -support using this graph extension. +| Device Descriptor | Description +|`aspect::ext_oneapi_graph` +| Indicates that the device supports the extension using an + underlying SYCL backend command-buffer construct to propagate the graph to + the backend. |=== diff --git a/sycl/include/sycl/device_aspect_macros.hpp b/sycl/include/sycl/device_aspect_macros.hpp index 489163c556223..b9303862f3db0 100644 --- a/sycl/include/sycl/device_aspect_macros.hpp +++ b/sycl/include/sycl/device_aspect_macros.hpp @@ -313,6 +313,11 @@ #define __SYCL_ALL_DEVICES_HAVE_ext_oneapi_is_component__ 0 #endif +#ifndef __SYCL_ALL_DEVICES_HAVE_ext_oneapi_graph__ +// __SYCL_ASPECT(ext_oneapi_graph, 61) +#define __SYCL_ALL_DEVICES_HAVE_ext_oneapi_graph__ 0 +#endif + #ifndef __SYCL_ANY_DEVICE_HAS_host__ // __SYCL_ASPECT(host, 0) #define __SYCL_ANY_DEVICE_HAS_host__ 0 @@ -617,3 +622,8 @@ // __SYCL_ASPECT(ext_oneapi_is_component, 60) #define __SYCL_ANY_DEVICE_HAS_ext_oneapi_is_component__ 0 #endif + +#ifndef __SYCL_ANY_DEVICE_HAS_ext_oneapi_graph__ +// __SYCL_ASPECT(ext_oneapi_graph, 61) +#define __SYCL_ANY_DEVICE_HAS_ext_oneapi_graph__ 0 +#endif diff --git a/sycl/include/sycl/info/aspects.def b/sycl/include/sycl/info/aspects.def index a4a2296609e56..841ed995851c4 100644 --- a/sycl/include/sycl/info/aspects.def +++ b/sycl/include/sycl/info/aspects.def @@ -55,3 +55,4 @@ __SYCL_ASPECT(ext_oneapi_tangle_group, 57) __SYCL_ASPECT(ext_intel_matrix, 58) __SYCL_ASPECT(ext_oneapi_is_composite, 59) __SYCL_ASPECT(ext_oneapi_is_component, 60) +__SYCL_ASPECT(ext_oneapi_graph, 61) diff --git a/sycl/include/sycl/info/ext_oneapi_device_traits.def b/sycl/include/sycl/info/ext_oneapi_device_traits.def index 1842d66760e85..3d04318449343 100644 --- a/sycl/include/sycl/info/ext_oneapi_device_traits.def +++ b/sycl/include/sycl/info/ext_oneapi_device_traits.def @@ -13,11 +13,6 @@ __SYCL_PARAM_TRAITS_SPEC(ext::oneapi::experimental, device, matrix_combinations, std::vector, PI_EXT_ONEAPI_DEVICE_INFO_MATRIX_COMBINATIONS) -__SYCL_PARAM_TRAITS_SPEC( - ext::oneapi::experimental, device, graph_support, - ext::oneapi::experimental::graph_support_level, - 0 /* No PI device code needed */) - // Bindless images pitched allocation __SYCL_PARAM_TRAITS_SPEC(ext::oneapi::experimental, device, image_row_pitch_align, uint32_t, diff --git a/sycl/include/sycl/info/info_desc.hpp b/sycl/include/sycl/info/info_desc.hpp index 82cf18b5a30a6..5b79b642076c7 100644 --- a/sycl/include/sycl/info/info_desc.hpp +++ b/sycl/include/sycl/info/info_desc.hpp @@ -193,14 +193,9 @@ template struct compatibility_param_traits {}; } /*namespace info */ \ } /*namespace Namespace */ -namespace ext::oneapi::experimental { - -enum class graph_support_level { unsupported = 0, native = 1, emulated = 2 }; - -namespace info::device { +namespace ext::oneapi::experimental::info::device { template struct max_work_groups; -} // namespace info::device -} // namespace ext::oneapi::experimental +} // namespace ext::oneapi::experimental::info::device #include #include #include diff --git a/sycl/source/detail/device_impl.cpp b/sycl/source/detail/device_impl.cpp index a78daf5fe0f28..6bf833e3ab396 100644 --- a/sycl/source/detail/device_impl.cpp +++ b/sycl/source/detail/device_impl.cpp @@ -602,6 +602,31 @@ bool device_impl::has(aspect Aspect) const { return Result != nullptr; } + case aspect::ext_oneapi_graph: { + size_t ResultSize = 0; + bool CallSuccessful = getPlugin()->call_nocheck( + MDevice, PI_DEVICE_INFO_EXTENSIONS, 0, nullptr, + &ResultSize) == PI_SUCCESS; + if (!CallSuccessful || ResultSize == 0) { + return PI_FALSE; + } + + std::unique_ptr Result(new char[ResultSize]); + CallSuccessful = getPlugin()->call_nocheck( + MDevice, PI_DEVICE_INFO_EXTENSIONS, ResultSize, + Result.get(), nullptr) == PI_SUCCESS; + + if (!CallSuccessful) { + return PI_FALSE; + } + + std::string_view ExtensionsString(Result.get()); + std::cout << ExtensionsString; + const bool Support = + ExtensionsString.find("ur_exp_command_buffer") != std::string::npos; + + return Support; + } } throw runtime_error("This device aspect has not been implemented yet.", PI_ERROR_INVALID_DEVICE); diff --git a/sycl/source/detail/device_info.hpp b/sycl/source/detail/device_info.hpp index 55b2615d90d12..f0585260bdbe3 100644 --- a/sycl/source/detail/device_info.hpp +++ b/sycl/source/detail/device_info.hpp @@ -1171,34 +1171,6 @@ struct get_device_info_impl< } }; -// Specialization for graph extension support -template <> -struct get_device_info_impl< - ext::oneapi::experimental::graph_support_level, - ext::oneapi::experimental::info::device::graph_support> { - static ext::oneapi::experimental::graph_support_level - get(const DeviceImplPtr &Dev) { - size_t ResultSize = 0; - Dev->getPlugin()->call( - Dev->getHandleRef(), PI_DEVICE_INFO_EXTENSIONS, 0, nullptr, - &ResultSize); - if (ResultSize == 0) - return ext::oneapi::experimental::graph_support_level::unsupported; - - std::unique_ptr Result(new char[ResultSize]); - Dev->getPlugin()->call( - Dev->getHandleRef(), PI_DEVICE_INFO_EXTENSIONS, ResultSize, - Result.get(), nullptr); - - std::string_view ExtensionsString(Result.get()); - bool CmdBufferSupport = - ExtensionsString.find("ur_exp_command_buffer") != std::string::npos; - return CmdBufferSupport - ? ext::oneapi::experimental::graph_support_level::native - : ext::oneapi::experimental::graph_support_level::unsupported; - } -}; - // Specialization for composite devices extension. template <> struct get_device_info_impl< @@ -2161,13 +2133,6 @@ inline uint32_t get_device_info_host< PI_ERROR_INVALID_DEVICE); } -template <> -inline ext::oneapi::experimental::graph_support_level -get_device_info_host() { - // No support for graphs on the host device. - return ext::oneapi::experimental::graph_support_level::unsupported; -} - template <> inline uint32_t get_device_info_host< ext::oneapi::experimental::info::device::image_row_pitch_align>() { diff --git a/sycl/source/detail/graph_impl.cpp b/sycl/source/detail/graph_impl.cpp index bdfc90537b520..15b1a18ddd0c9 100644 --- a/sycl/source/detail/graph_impl.cpp +++ b/sycl/source/detail/graph_impl.cpp @@ -16,10 +16,6 @@ #include #include -// Developer switch to use emulation mode on all backends, even those that -// report native support, this is useful for debugging. -#define FORCE_EMULATION_MODE 0 - namespace sycl { inline namespace _V1 { @@ -1280,21 +1276,9 @@ void executable_command_graph::finalizeImpl() { impl->makePartitions(); auto Device = impl->getGraphImpl()->getDevice(); - bool CmdBufSupport = - Device - .get_info() == - graph_support_level::native; - -#if FORCE_EMULATION_MODE - // Above query should still succeed in emulation mode, but ignore the - // result and use emulation. - CmdBufSupport = false; -#endif - if (CmdBufSupport) { - for (auto Partition : impl->getPartitions()) { - if (!Partition->isHostTask()) { - impl->createCommandBuffers(Device, Partition); - } + for (auto Partition : impl->getPartitions()) { + if (!Partition->isHostTask()) { + impl->createCommandBuffers(Device, Partition); } } } diff --git a/sycl/source/detail/graph_impl.hpp b/sycl/source/detail/graph_impl.hpp index eafb66b1dca9b..27f9c742c6d82 100644 --- a/sycl/source/detail/graph_impl.hpp +++ b/sycl/source/detail/graph_impl.hpp @@ -586,9 +586,7 @@ class graph_impl { MAllowBuffers = true; } - if (SyclDevice.get_info< - ext::oneapi::experimental::info::device::graph_support>() == - graph_support_level::unsupported) { + if (!SyclDevice.has(aspect::ext_oneapi_graph)) { std::stringstream Stream; Stream << SyclDevice.get_backend(); std::string BackendString = Stream.str(); diff --git a/sycl/test-e2e/Graph/Error/lit.local.cfg b/sycl/test-e2e/Graph/Error/lit.local.cfg index ad4643b247ba8..9c0c4cc846295 100644 --- a/sycl/test-e2e/Graph/Error/lit.local.cfg +++ b/sycl/test-e2e/Graph/Error/lit.local.cfg @@ -1 +1 @@ -config.required_features += ['graph-extension'] +config.required_features += ['aspect-ext_oneapi_graph'] diff --git a/sycl/test-e2e/Graph/Explicit/lit.local.cfg b/sycl/test-e2e/Graph/Explicit/lit.local.cfg index ad4643b247ba8..9c0c4cc846295 100644 --- a/sycl/test-e2e/Graph/Explicit/lit.local.cfg +++ b/sycl/test-e2e/Graph/Explicit/lit.local.cfg @@ -1 +1 @@ -config.required_features += ['graph-extension'] +config.required_features += ['aspect-ext_oneapi_graph'] diff --git a/sycl/test-e2e/Graph/Profiling/lit.local.cfg b/sycl/test-e2e/Graph/Profiling/lit.local.cfg index ad4643b247ba8..9c0c4cc846295 100644 --- a/sycl/test-e2e/Graph/Profiling/lit.local.cfg +++ b/sycl/test-e2e/Graph/Profiling/lit.local.cfg @@ -1 +1 @@ -config.required_features += ['graph-extension'] +config.required_features += ['aspect-ext_oneapi_graph'] diff --git a/sycl/test-e2e/Graph/RecordReplay/exception_inconsistent_devices.cpp b/sycl/test-e2e/Graph/RecordReplay/exception_inconsistent_devices.cpp index 329922e8b5c40..38a71ca2506f8 100644 --- a/sycl/test-e2e/Graph/RecordReplay/exception_inconsistent_devices.cpp +++ b/sycl/test-e2e/Graph/RecordReplay/exception_inconsistent_devices.cpp @@ -2,7 +2,7 @@ // RUN: %{run-unfiltered-devices} %t.out // -// This test checks that an expection is thrown when we try to +// This test checks that an exception is thrown when we try to // record a graph whose device differs from the queue device. // We ensure that the exception code matches the expected code. @@ -30,12 +30,12 @@ int main() { return 0; } - queue Queue{Dev1}; - - if (!are_graphs_supported(Queue)) { + if (!Dev0.has(aspect::ext_oneapi_graph)) { + std::cout << "Test skipped: device doesn't support graphs" << std::endl; return 0; } + queue Queue{Dev1}; 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/lit.local.cfg b/sycl/test-e2e/Graph/RecordReplay/lit.local.cfg index ad4643b247ba8..9c0c4cc846295 100644 --- a/sycl/test-e2e/Graph/RecordReplay/lit.local.cfg +++ b/sycl/test-e2e/Graph/RecordReplay/lit.local.cfg @@ -1 +1 @@ -config.required_features += ['graph-extension'] +config.required_features += ['aspect-ext_oneapi_graph'] diff --git a/sycl/test-e2e/Graph/Threading/lit.local.cfg b/sycl/test-e2e/Graph/Threading/lit.local.cfg index ad4643b247ba8..9c0c4cc846295 100644 --- a/sycl/test-e2e/Graph/Threading/lit.local.cfg +++ b/sycl/test-e2e/Graph/Threading/lit.local.cfg @@ -1 +1 @@ -config.required_features += ['graph-extension'] +config.required_features += ['aspect-ext_oneapi_graph'] diff --git a/sycl/test-e2e/Graph/UnsupportedDevice/device_query.cpp b/sycl/test-e2e/Graph/UnsupportedDevice/device_query.cpp index 104bdf250d444..21c3baf32b413 100644 --- a/sycl/test-e2e/Graph/UnsupportedDevice/device_query.cpp +++ b/sycl/test-e2e/Graph/UnsupportedDevice/device_query.cpp @@ -10,21 +10,16 @@ int main() { queue Queue; auto Device = Queue.get_device(); - - exp_ext::graph_support_level SupportsGraphs = - Device.get_info(); + bool SupportsGraphs = Device.has(aspect::ext_oneapi_graph); auto Backend = Device.get_backend(); if ((Backend == backend::ext_oneapi_level_zero) || (Backend == backend::ext_oneapi_cuda) || (Backend == backend::ext_oneapi_hip)) { - assert(SupportsGraphs == exp_ext::graph_support_level::native); - } else if (Backend == backend::opencl) { + assert(SupportsGraphs); + } else if (Backend != backend::opencl) { // OpenCL backend support is conditional on the cl_khr_command_buffer - // extension being available - assert(SupportsGraphs == exp_ext::graph_support_level::native || - SupportsGraphs == exp_ext::graph_support_level::unsupported); - } else { - assert(SupportsGraphs == exp_ext::graph_support_level::unsupported); + // extension being available. + assert(!SupportsGraphs); } } diff --git a/sycl/test-e2e/Graph/UnsupportedDevice/exception_unsupported_backend.cpp b/sycl/test-e2e/Graph/UnsupportedDevice/exception_unsupported_backend.cpp index d3f758c21ad2f..b8f62ade21b84 100644 --- a/sycl/test-e2e/Graph/UnsupportedDevice/exception_unsupported_backend.cpp +++ b/sycl/test-e2e/Graph/UnsupportedDevice/exception_unsupported_backend.cpp @@ -10,17 +10,14 @@ int GetUnsupportedBackend(const sycl::device &Dev) { // Return 1 if the device backend is unsupported or 0 else. // 0 does not prevent another device to be picked as a second choice - return Dev.get_info< - ext::oneapi::experimental::info::device::graph_support>() == - ext::oneapi::experimental::graph_support_level::unsupported; + return !Dev.has(aspect::ext_oneapi_graph); } int main() { sycl::device Dev{GetUnsupportedBackend}; queue Queue{Dev}; - if (Dev.get_info() != - ext::oneapi::experimental::graph_support_level::unsupported) + if (Dev.has(aspect::ext_oneapi_graph)) return 0; std::error_code ExceptionCode = make_error_code(sycl::errc::success); diff --git a/sycl/test-e2e/Graph/ValidUsage/lit.local.cfg b/sycl/test-e2e/Graph/ValidUsage/lit.local.cfg index ad4643b247ba8..9c0c4cc846295 100644 --- a/sycl/test-e2e/Graph/ValidUsage/lit.local.cfg +++ b/sycl/test-e2e/Graph/ValidUsage/lit.local.cfg @@ -1 +1 @@ -config.required_features += ['graph-extension'] +config.required_features += ['aspect-ext_oneapi_graph'] diff --git a/sycl/test-e2e/Graph/graph_common.hpp b/sycl/test-e2e/Graph/graph_common.hpp index 8905bbda7264f..eda7f3255f4ba 100644 --- a/sycl/test-e2e/Graph/graph_common.hpp +++ b/sycl/test-e2e/Graph/graph_common.hpp @@ -457,12 +457,3 @@ 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/InorderQueue/in_order_ext_oneapi_submit_barrier.cpp b/sycl/test-e2e/InorderQueue/in_order_ext_oneapi_submit_barrier.cpp index 698edc3e226e6..5bf864c1d9036 100644 --- a/sycl/test-e2e/InorderQueue/in_order_ext_oneapi_submit_barrier.cpp +++ b/sycl/test-e2e/InorderQueue/in_order_ext_oneapi_submit_barrier.cpp @@ -70,8 +70,7 @@ int main() { {sycl::property::queue::in_order{}, sycl::ext::intel::property::queue::no_immediate_command_list{}}}; - if (GQueue.get_device().get_info() != - syclex::graph_support_level::unsupported) { + if (GQueue.get_device().has(sycl::aspect::ext_oneapi_graph)) { std::cout << "Test 4" << std::endl; syclex::command_graph Graph{GQueue.get_context(), GQueue.get_device()}; *Res = 1; diff --git a/sycl/test-e2e/lit.cfg.py b/sycl/test-e2e/lit.cfg.py index 29f0bc9c800d0..869dce39a5a13 100644 --- a/sycl/test-e2e/lit.cfg.py +++ b/sycl/test-e2e/lit.cfg.py @@ -619,7 +619,6 @@ dev_aspects = [] dev_sg_sizes = [] - graph_support = False # See format.py's parse_min_intel_driver_req for explanation. is_intel_driver = False intel_driver_ver = {} @@ -644,8 +643,6 @@ # str.removeprefix isn't universally available... sg_sizes_str = line.strip().replace("info::device::sub_group_sizes: ", "") dev_sg_sizes.append(sg_sizes_str.strip().split(" ")) - if re.match(r" *sycl_ext_oneapi_graph", line): - graph_support = True if dev_aspects == []: lit_config.error( @@ -677,9 +674,6 @@ features.update(aspect_features) features.update(sg_size_features) - if graph_support: - features.add("graph-extension") - be, dev = sycl_device.split(":") features.add(dev.replace("fpga", "accelerator")) # Use short names for LIT rules. diff --git a/sycl/test/abi/sycl_symbols_linux.dump b/sycl/test/abi/sycl_symbols_linux.dump index 4fe3042f807ab..2a1ad47f148ff 100644 --- a/sycl/test/abi/sycl_symbols_linux.dump +++ b/sycl/test/abi/sycl_symbols_linux.dump @@ -4312,7 +4312,6 @@ _ZNK4sycl3_V16detail11device_impl8get_infoINS0_3ext5intel4info6device25max_compu _ZNK4sycl3_V16detail11device_impl8get_infoINS0_3ext5intel4info6device4uuidEEENT_11return_typeEv _ZNK4sycl3_V16detail11device_impl8get_infoINS0_3ext5intel4info6device9device_idEEENT_11return_typeEv _ZNK4sycl3_V16detail11device_impl8get_infoINS0_3ext6oneapi12experimental4info6device12architectureEEENT_11return_typeEv -_ZNK4sycl3_V16detail11device_impl8get_infoINS0_3ext6oneapi12experimental4info6device13graph_supportEEENT_11return_typeEv _ZNK4sycl3_V16detail11device_impl8get_infoINS0_3ext6oneapi12experimental4info6device15max_work_groupsILi1EEEEENT_11return_typeEv _ZNK4sycl3_V16detail11device_impl8get_infoINS0_3ext6oneapi12experimental4info6device15max_work_groupsILi2EEEEENT_11return_typeEv _ZNK4sycl3_V16detail11device_impl8get_infoINS0_3ext6oneapi12experimental4info6device15max_work_groupsILi3EEEEENT_11return_typeEv @@ -4494,7 +4493,6 @@ _ZNK4sycl3_V16device8get_infoINS0_3ext5intel4info6device25max_compute_queue_indi _ZNK4sycl3_V16device8get_infoINS0_3ext5intel4info6device4uuidEEENS0_6detail19is_device_info_descIT_E11return_typeEv _ZNK4sycl3_V16device8get_infoINS0_3ext5intel4info6device9device_idEEENS0_6detail19is_device_info_descIT_E11return_typeEv _ZNK4sycl3_V16device8get_infoINS0_3ext6oneapi12experimental4info6device12architectureEEENS0_6detail19is_device_info_descIT_E11return_typeEv -_ZNK4sycl3_V16device8get_infoINS0_3ext6oneapi12experimental4info6device13graph_supportEEENS0_6detail19is_device_info_descIT_E11return_typeEv _ZNK4sycl3_V16device8get_infoINS0_3ext6oneapi12experimental4info6device15max_work_groupsILi1EEEEENS0_6detail19is_device_info_descIT_E11return_typeEv _ZNK4sycl3_V16device8get_infoINS0_3ext6oneapi12experimental4info6device15max_work_groupsILi2EEEEENS0_6detail19is_device_info_descIT_E11return_typeEv _ZNK4sycl3_V16device8get_infoINS0_3ext6oneapi12experimental4info6device15max_work_groupsILi3EEEEENS0_6detail19is_device_info_descIT_E11return_typeEv diff --git a/sycl/test/abi/sycl_symbols_windows.dump b/sycl/test/abi/sycl_symbols_windows.dump index 435176097e7bd..bc0811431836f 100644 --- a/sycl/test/abi/sycl_symbols_windows.dump +++ b/sycl/test/abi/sycl_symbols_windows.dump @@ -104,8 +104,6 @@ ??$get_info@Ugpu_slices@device@info@intel@ext@_V1@sycl@@@device_impl@detail@_V1@sycl@@QEBAIXZ ??$get_info@Ugpu_subslices_per_slice@device@info@intel@ext@_V1@sycl@@@device@_V1@sycl@@QEBAIXZ ??$get_info@Ugpu_subslices_per_slice@device@info@intel@ext@_V1@sycl@@@device_impl@detail@_V1@sycl@@QEBAIXZ -??$get_info@Ugraph_support@device@info@experimental@oneapi@ext@_V1@sycl@@@device@_V1@sycl@@QEBA?AW4graph_support_level@experimental@oneapi@ext@12@XZ -??$get_info@Ugraph_support@device@info@experimental@oneapi@ext@_V1@sycl@@@device_impl@detail@_V1@sycl@@QEBA?AW4graph_support_level@experimental@oneapi@ext@23@XZ ??$get_info@Uhalf_fp_config@device@info@_V1@sycl@@@device@_V1@sycl@@QEBA?AV?$vector@W4fp_config@info@_V1@sycl@@V?$allocator@W4fp_config@info@_V1@sycl@@@std@@@std@@XZ ??$get_info@Uhost_unified_memory@device@info@_V1@sycl@@@device@_V1@sycl@@QEBA_NXZ ??$get_info@Uimage2d_max_height@device@info@_V1@sycl@@@device@_V1@sycl@@QEBA_KXZ diff --git a/sycl/tools/sycl-ls/sycl-ls.cpp b/sycl/tools/sycl-ls/sycl-ls.cpp index db626739a8483..1e7e69964cd6a 100644 --- a/sycl/tools/sycl-ls/sycl-ls.cpp +++ b/sycl/tools/sycl-ls/sycl-ls.cpp @@ -26,7 +26,6 @@ using namespace sycl; using namespace std::literals; -namespace exp_ext = sycl::ext::oneapi::experimental; // Controls verbose output vs. concise. bool verbose; @@ -90,12 +89,6 @@ static void printDeviceInfo(const device &Device, bool Verbose, for (auto size : sg_sizes) std::cout << " " << size; std::cout << std::endl; - - auto GraphSupport = Device.get_info(); - if (GraphSupport != exp_ext::graph_support_level::unsupported) { - std::cout << Prepend << "sycl_ext_oneapi_graph" << std::endl; - } - } else { std::cout << Prepend << ", " << DeviceName << " " << DeviceVersion << " [" << DeviceDriverVersion << "]" << std::endl;