Skip to content

Commit 75aa60c

Browse files
Alexandr-Konovalovsteffenlarsensergey-semenov
authored
[SYCL] Allocate SubmissionInfo completely on stack (#18314)
Move SubmissionInfo to versioned public header and allocate it completely on stack. --------- Signed-off-by: Alexandr Konovalov <alexandr.konovalov@intel.com> Co-authored-by: Steffen Larsen <steffen.larsen@intel.com> Co-authored-by: Sergey Semenov <sergey.semenov@intel.com>
1 parent 1fde061 commit 75aa60c

File tree

7 files changed

+120
-19
lines changed

7 files changed

+120
-19
lines changed

sycl/include/sycl/detail/optional.hpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -63,15 +63,15 @@ template <typename T> class optional {
6363
template <typename U> optional &operator=(const optional<U> &Other) {
6464
if (has_value())
6565
reinterpret_cast<T *>(Storage)->~T();
66-
ContainsValue = Other;
67-
new (Storage) T(Other.Value);
66+
ContainsValue = Other.has_value();
67+
new (Storage) T(Other.value());
6868
return *this;
6969
}
7070
template <typename U> optional &operator=(optional<U> &&Other) noexcept {
7171
if (has_value())
7272
reinterpret_cast<T *>(Storage)->~T();
73-
ContainsValue = Other;
74-
new (Storage) T(std::move(Other.Value));
73+
ContainsValue = Other.has_value();
74+
new (Storage) T(std::move(Other.value()));
7575
return *this;
7676
}
7777

@@ -94,7 +94,7 @@ template <typename T> class optional {
9494
template <typename U> optional &operator=(const std::optional<U> &Other) {
9595
if (has_value())
9696
reinterpret_cast<T *>(Storage)->~T();
97-
ContainsValue = Other;
97+
ContainsValue = Other.has_value();
9898
if (Other)
9999
new (Storage) T(*Other);
100100
return *this;

sycl/include/sycl/queue.hpp

Lines changed: 70 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ inline event submitAssertCapture(queue &, event &, queue *,
7777
// event &Event - event after which post processing should be executed
7878
using SubmitPostProcessF = std::function<void(bool, bool, event &)>;
7979

80+
#ifndef __INTEL_PREVIEW_BREAKING_CHANGES
8081
struct SubmissionInfoImpl;
8182

8283
class __SYCL_EXPORT SubmissionInfo {
@@ -95,6 +96,60 @@ class __SYCL_EXPORT SubmissionInfo {
9596
private:
9697
std::shared_ptr<SubmissionInfoImpl> impl = nullptr;
9798
};
99+
#endif
100+
101+
namespace v1 {
102+
103+
// This class is a part of the ABI, so it's moved to a separate namespace to
104+
// simplify changes.
105+
// To perform non-ABI breaking changes:
106+
// * namespace v(N+1) can be added,
107+
// * functions that use SubmissionInfo and are NOT part of the ABI should be
108+
// switched to use v(N+1) namespace,
109+
// * functions that use SubmissionInfo and are part of the ABI should be
110+
// overloaded with a new variant using v(N+1) namespace,
111+
// * old namespace vN should be moved under #ifndef
112+
// __INTEL_PREVIEW_BREAKING_CHANGES guard.
113+
// TODO: inline namespace can be employed here after SubmissionInfo removed from
114+
// the enclosing scope.
115+
116+
class __SYCL_EXPORT SubmissionInfo {
117+
public:
118+
SubmissionInfo() {}
119+
120+
#ifndef __INTEL_PREVIEW_BREAKING_CHANGES
121+
SubmissionInfo(const detail::SubmissionInfo &SI)
122+
: MPostProcessorFunc(SI.PostProcessorFunc()),
123+
MSecondaryQueue(SI.SecondaryQueue()), MEventMode(SI.EventMode()) {}
124+
#endif
125+
126+
sycl::detail::optional<SubmitPostProcessF> &PostProcessorFunc() {
127+
return MPostProcessorFunc;
128+
}
129+
const sycl::detail::optional<SubmitPostProcessF> &PostProcessorFunc() const {
130+
return MPostProcessorFunc;
131+
}
132+
133+
std::shared_ptr<detail::queue_impl> &SecondaryQueue() {
134+
return MSecondaryQueue;
135+
}
136+
const std::shared_ptr<detail::queue_impl> &SecondaryQueue() const {
137+
return MSecondaryQueue;
138+
}
139+
140+
ext::oneapi::experimental::event_mode_enum &EventMode() { return MEventMode; }
141+
const ext::oneapi::experimental::event_mode_enum &EventMode() const {
142+
return MEventMode;
143+
}
144+
145+
private:
146+
optional<detail::SubmitPostProcessF> MPostProcessorFunc = std::nullopt;
147+
std::shared_ptr<detail::queue_impl> MSecondaryQueue = nullptr;
148+
ext::oneapi::experimental::event_mode_enum MEventMode =
149+
ext::oneapi::experimental::event_mode_enum::none;
150+
};
151+
152+
} // namespace v1
98153
} // namespace detail
99154

100155
namespace ext ::oneapi ::experimental {
@@ -3534,7 +3589,8 @@ class __SYCL_EXPORT queue : public detail::OwnerLessBase<queue> {
35343589
const sycl::detail::code_location &CodeLoc);
35353590

35363591
template <typename PropertiesT>
3537-
void ProcessSubmitProperties(PropertiesT Props, detail::SubmissionInfo &SI) {
3592+
void ProcessSubmitProperties(PropertiesT Props,
3593+
detail::v1::SubmissionInfo &SI) {
35383594
if constexpr (Props.template has_property<
35393595
ext::oneapi::experimental::event_mode_key>()) {
35403596
ext::oneapi::experimental::event_mode EventModeProp =
@@ -3589,17 +3645,25 @@ class __SYCL_EXPORT queue : public detail::OwnerLessBase<queue> {
35893645
const detail::SubmissionInfo &SubmitInfo,
35903646
const detail::code_location &CodeLoc,
35913647
bool IsTopCodeLoc);
3648+
event submit_with_event_impl(const detail::type_erased_cgfo_ty &CGH,
3649+
const detail::SubmissionInfo &SubmitInfo,
3650+
const detail::code_location &CodeLoc,
3651+
bool IsTopCodeLoc);
3652+
void submit_without_event_impl(const detail::type_erased_cgfo_ty &CGH,
3653+
const detail::SubmissionInfo &SubmitInfo,
3654+
const detail::code_location &CodeLoc,
3655+
bool IsTopCodeLoc);
35923656
#endif // __INTEL_PREVIEW_BREAKING_CHANGES
35933657

35943658
/// A template-free versions of submit.
35953659
event submit_with_event_impl(const detail::type_erased_cgfo_ty &CGH,
3596-
const detail::SubmissionInfo &SubmitInfo,
3660+
const detail::v1::SubmissionInfo &SubmitInfo,
35973661
const detail::code_location &CodeLoc,
35983662
bool IsTopCodeLoc);
35993663

36003664
/// A template-free version of submit_without_event.
36013665
void submit_without_event_impl(const detail::type_erased_cgfo_ty &CGH,
3602-
const detail::SubmissionInfo &SubmitInfo,
3666+
const detail::v1::SubmissionInfo &SubmitInfo,
36033667
const detail::code_location &CodeLoc,
36043668
bool IsTopCodeLoc);
36053669

@@ -3621,7 +3685,7 @@ class __SYCL_EXPORT queue : public detail::OwnerLessBase<queue> {
36213685
queue *SecondaryQueuePtr,
36223686
const detail::code_location &CodeLoc = detail::code_location::current()) {
36233687
detail::tls_code_loc_t TlsCodeLocCapture(CodeLoc);
3624-
detail::SubmissionInfo SI{};
3688+
detail::v1::SubmissionInfo SI{};
36253689
ProcessSubmitProperties(Props, SI);
36263690
if (SecondaryQueuePtr)
36273691
SI.SecondaryQueue() = detail::getSyclObjImpl(*SecondaryQueuePtr);
@@ -3659,7 +3723,7 @@ class __SYCL_EXPORT queue : public detail::OwnerLessBase<queue> {
36593723
PropertiesT Props, const detail::type_erased_cgfo_ty &CGF,
36603724
const detail::code_location &CodeLoc = detail::code_location::current()) {
36613725
detail::tls_code_loc_t TlsCodeLocCapture(CodeLoc);
3662-
detail::SubmissionInfo SI{};
3726+
detail::v1::SubmissionInfo SI{};
36633727
ProcessSubmitProperties(Props, SI);
36643728
if constexpr (UseFallbackAssert)
36653729
SI.PostProcessorFunc() = [this, &TlsCodeLocCapture](bool IsKernel,
@@ -3698,7 +3762,7 @@ class __SYCL_EXPORT queue : public detail::OwnerLessBase<queue> {
36983762
submit_with_event<UseFallbackAssert>(Props, CGF, CodeLoc);
36993763
} else {
37003764
detail::tls_code_loc_t TlsCodeLocCapture(CodeLoc);
3701-
detail::SubmissionInfo SI{};
3765+
detail::v1::SubmissionInfo SI{};
37023766
ProcessSubmitProperties(Props, SI);
37033767
submit_without_event_impl(CGF, SI, TlsCodeLocCapture.query(),
37043768
TlsCodeLocCapture.isToplevel());

sycl/source/detail/queue_impl.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,7 @@ event queue_impl::submit_impl(const detail::type_erased_cgfo_ty &CGF,
315315
queue_impl *SecondaryQueue, bool CallerNeedsEvent,
316316
const detail::code_location &Loc,
317317
bool IsTopCodeLoc,
318-
const SubmissionInfo &SubmitInfo) {
318+
const v1::SubmissionInfo &SubmitInfo) {
319319
#ifdef __INTEL_PREVIEW_BREAKING_CHANGES
320320
detail::handler_impl HandlerImplVal(SecondaryQueue, CallerNeedsEvent);
321321
detail::handler_impl *HandlerImpl = &HandlerImplVal;
@@ -437,7 +437,7 @@ event queue_impl::submitWithHandler(const std::shared_ptr<queue_impl> &Self,
437437
const std::vector<event> &DepEvents,
438438
bool CallerNeedsEvent,
439439
HandlerFuncT HandlerFunc) {
440-
SubmissionInfo SI{};
440+
v1::SubmissionInfo SI{};
441441
auto L = [&](handler &CGH) {
442442
CGH.depends_on(DepEvents);
443443
HandlerFunc(CGH);

sycl/source/detail/queue_impl.hpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,7 @@ class queue_impl {
339339
const detail::code_location &Loc, bool IsTopCodeLoc,
340340
const SubmitPostProcessF *PostProcess = nullptr) {
341341
event ResEvent;
342-
SubmissionInfo SI{};
342+
v1::SubmissionInfo SI{};
343343
SI.SecondaryQueue() = SecondQueue;
344344
if (PostProcess)
345345
SI.PostProcessorFunc() = *PostProcess;
@@ -357,7 +357,7 @@ class queue_impl {
357357
/// \return a SYCL event object for the submitted command group.
358358
event submit_with_event(const detail::type_erased_cgfo_ty &CGF,
359359
const std::shared_ptr<queue_impl> &Self,
360-
const SubmissionInfo &SubmitInfo,
360+
const v1::SubmissionInfo &SubmitInfo,
361361
const detail::code_location &Loc, bool IsTopCodeLoc) {
362362

363363
event ResEvent =
@@ -368,7 +368,7 @@ class queue_impl {
368368

369369
void submit_without_event(const detail::type_erased_cgfo_ty &CGF,
370370
const std::shared_ptr<queue_impl> &Self,
371-
const SubmissionInfo &SubmitInfo,
371+
const v1::SubmissionInfo &SubmitInfo,
372372
const detail::code_location &Loc,
373373
bool IsTopCodeLoc) {
374374
submit_impl(CGF, Self, SubmitInfo.SecondaryQueue().get(),
@@ -858,7 +858,7 @@ class queue_impl {
858858
const std::shared_ptr<queue_impl> &Self,
859859
queue_impl *SecondaryQueue, bool CallerNeedsEvent,
860860
const detail::code_location &Loc, bool IsTopCodeLoc,
861-
const SubmissionInfo &SubmitInfo);
861+
const v1::SubmissionInfo &SubmitInfo);
862862

863863
/// Helper function for submitting a memory operation with a handler.
864864
/// \param Self is a shared_ptr to this queue.

sycl/source/queue.cpp

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
namespace sycl {
2121
inline namespace _V1 {
2222

23+
#ifndef __INTEL_PREVIEW_BREAKING_CHANGES
2324
namespace detail {
2425
SubmissionInfo::SubmissionInfo()
2526
: impl{std::make_shared<SubmissionInfoImpl>()} {}
@@ -51,6 +52,8 @@ SubmissionInfo::EventMode() const {
5152
}
5253
} // namespace detail
5354

55+
#endif // __INTEL_PREVIEW_BREAKING_CHANGES
56+
5457
queue::queue(const context &SyclContext, const device_selector &DeviceSelector,
5558
const async_handler &AsyncHandler, const property_list &PropList) {
5659
const std::vector<device> Devs = SyclContext.get_devices();
@@ -269,19 +272,36 @@ void queue::submit_without_event_impl(std::function<void(handler &)> CGH,
269272
bool IsTopCodeLoc) {
270273
impl->submit_without_event(CGH, impl, SubmitInfo, CodeLoc, IsTopCodeLoc);
271274
}
272-
#endif // __INTEL_PREVIEW_BREAKING_CHANGES
273275

274276
event queue::submit_with_event_impl(const detail::type_erased_cgfo_ty &CGH,
275277
const detail::SubmissionInfo &SubmitInfo,
276278
const detail::code_location &CodeLoc,
277279
bool IsTopCodeLoc) {
278-
return impl->submit_with_event(CGH, impl, SubmitInfo, CodeLoc, IsTopCodeLoc);
280+
detail::v1::SubmissionInfo SI{SubmitInfo};
281+
return impl->submit_with_event(CGH, impl, SI, CodeLoc, IsTopCodeLoc);
279282
}
280283

281284
void queue::submit_without_event_impl(const detail::type_erased_cgfo_ty &CGH,
282285
const detail::SubmissionInfo &SubmitInfo,
283286
const detail::code_location &CodeLoc,
284287
bool IsTopCodeLoc) {
288+
detail::v1::SubmissionInfo SI{SubmitInfo};
289+
impl->submit_without_event(CGH, impl, SI, CodeLoc, IsTopCodeLoc);
290+
}
291+
292+
#endif // __INTEL_PREVIEW_BREAKING_CHANGES
293+
294+
event queue::submit_with_event_impl(
295+
const detail::type_erased_cgfo_ty &CGH,
296+
const detail::v1::SubmissionInfo &SubmitInfo,
297+
const detail::code_location &CodeLoc, bool IsTopCodeLoc) {
298+
return impl->submit_with_event(CGH, impl, SubmitInfo, CodeLoc, IsTopCodeLoc);
299+
}
300+
301+
void queue::submit_without_event_impl(
302+
const detail::type_erased_cgfo_ty &CGH,
303+
const detail::v1::SubmissionInfo &SubmitInfo,
304+
const detail::code_location &CodeLoc, bool IsTopCodeLoc) {
285305
impl->submit_without_event(CGH, impl, SubmitInfo, CodeLoc, IsTopCodeLoc);
286306
}
287307

sycl/test/abi/sycl_symbols_linux.dump

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3152,10 +3152,12 @@ _ZN4sycl3_V15queue20memcpyToDeviceGlobalEPvPKvbmmRKSt6vectorINS0_5eventESaIS6_EE
31523152
_ZN4sycl3_V15queue20wait_and_throw_proxyERKNS0_6detail13code_locationE
31533153
_ZN4sycl3_V15queue22memcpyFromDeviceGlobalEPvPKvbmmRKSt6vectorINS0_5eventESaIS6_EE
31543154
_ZN4sycl3_V15queue22submit_with_event_implERKNS0_6detail19type_erased_cgfo_tyERKNS2_14SubmissionInfoERKNS2_13code_locationEb
3155+
_ZN4sycl3_V15queue22submit_with_event_implERKNS0_6detail19type_erased_cgfo_tyERKNS2_2v114SubmissionInfoERKNS2_13code_locationEb
31553156
_ZN4sycl3_V15queue22submit_with_event_implESt8functionIFvRNS0_7handlerEEERKNS0_6detail14SubmissionInfoERKNS7_13code_locationEb
31563157
_ZN4sycl3_V15queue25ext_oneapi_submit_barrierERKNS0_6detail13code_locationE
31573158
_ZN4sycl3_V15queue25ext_oneapi_submit_barrierERKSt6vectorINS0_5eventESaIS3_EERKNS0_6detail13code_locationE
31583159
_ZN4sycl3_V15queue25submit_without_event_implERKNS0_6detail19type_erased_cgfo_tyERKNS2_14SubmissionInfoERKNS2_13code_locationEb
3160+
_ZN4sycl3_V15queue25submit_without_event_implERKNS0_6detail19type_erased_cgfo_tyERKNS2_2v114SubmissionInfoERKNS2_13code_locationEb
31593161
_ZN4sycl3_V15queue25submit_without_event_implESt8functionIFvRNS0_7handlerEEERKNS0_6detail13code_locationE
31603162
_ZN4sycl3_V15queue25submit_without_event_implESt8functionIFvRNS0_7handlerEEERKNS0_6detail13code_locationEb
31613163
_ZN4sycl3_V15queue25submit_without_event_implESt8functionIFvRNS0_7handlerEEERKNS0_6detail14SubmissionInfoERKNS7_13code_locationEb

sycl/test/abi/sycl_symbols_windows.dump

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -308,6 +308,12 @@
308308
??0SubmissionInfo@detail@_V1@sycl@@QEAA@$$QEAV0123@@Z
309309
??0SubmissionInfo@detail@_V1@sycl@@QEAA@AEBV0123@@Z
310310
??0SubmissionInfo@detail@_V1@sycl@@QEAA@XZ
311+
??0SubmissionInfo@v1@detail@_V1@sycl@@QEAA@AEBV01234@@Z
312+
??0SubmissionInfo@v1@detail@_V1@sycl@@QEAA@AEBV0234@@Z
313+
??0SubmissionInfo@v1@detail@_V1@sycl@@QEAA@XZ
314+
??0SubmissionInfo@v1@detail@_V1@sycl@@QEAA@$$QEAV01234@@Z
315+
??4SubmissionInfo@v1@detail@_V1@sycl@@QEAAAEAV01234@AEBV01234@@Z
316+
??4SubmissionInfo@v1@detail@_V1@sycl@@QEAAAEAV01234@$$QEAV01234@@Z
311317
??0UnsampledImageAccessorBaseHost@detail@_V1@sycl@@IEAA@AEBV?$shared_ptr@VUnsampledImageAccessorImplHost@detail@_V1@sycl@@@std@@@Z
312318
??0UnsampledImageAccessorBaseHost@detail@_V1@sycl@@QEAA@$$QEAV0123@@Z
313319
??0UnsampledImageAccessorBaseHost@detail@_V1@sycl@@QEAA@AEBV0123@@Z
@@ -497,6 +503,7 @@
497503
??1SYCLCategory@detail@_V1@sycl@@UEAA@XZ
498504
??1SampledImageAccessorBaseHost@detail@_V1@sycl@@QEAA@XZ
499505
??1SubmissionInfo@detail@_V1@sycl@@QEAA@XZ
506+
??1SubmissionInfo@v1@detail@_V1@sycl@@QEAA@XZ
500507
??1UnsampledImageAccessorBaseHost@detail@_V1@sycl@@QEAA@XZ
501508
??1accelerator_selector@_V1@sycl@@UEAA@XZ
502509
??1buffer_plain@detail@_V1@sycl@@QEAA@XZ
@@ -691,17 +698,23 @@
691698
?DisableRangeRounding@handler@_V1@sycl@@AEAA_NXZ
692699
?EventMode@SubmissionInfo@detail@_V1@sycl@@QEAAAEAW4event_mode_enum@experimental@oneapi@ext@34@XZ
693700
?EventMode@SubmissionInfo@detail@_V1@sycl@@QEBAAEBW4event_mode_enum@experimental@oneapi@ext@34@XZ
701+
?EventMode@SubmissionInfo@v1@detail@_V1@sycl@@QEAAAEAW4event_mode_enum@experimental@oneapi@ext@45@XZ
702+
?EventMode@SubmissionInfo@v1@detail@_V1@sycl@@QEBAAEBW4event_mode_enum@experimental@oneapi@ext@45@XZ
694703
?GDBMethodsAnchor@SampledImageAccessorBaseHost@detail@_V1@sycl@@IEAAXXZ
695704
?GDBMethodsAnchor@UnsampledImageAccessorBaseHost@detail@_V1@sycl@@IEAAXXZ
696705
?GetRangeRoundingSettings@handler@_V1@sycl@@AEAAXAEA_K00@Z
697706
?HasAssociatedAccessor@handler@_V1@sycl@@AEBA_NPEAVAccessorImplHost@detail@23@W4target@access@23@@Z
698707
?PostProcessorFunc@SubmissionInfo@detail@_V1@sycl@@QEAAAEAV?$optional@V?$function@$$A6AX_N0AEAVevent@_V1@sycl@@@Z@std@@@234@XZ
699708
?PostProcessorFunc@SubmissionInfo@detail@_V1@sycl@@QEBAAEBV?$optional@V?$function@$$A6AX_N0AEAVevent@_V1@sycl@@@Z@std@@@234@XZ
709+
?PostProcessorFunc@SubmissionInfo@v1@detail@_V1@sycl@@QEAAAEAV?$optional@V?$function@$$A6AX_N0AEAVevent@_V1@sycl@@@Z@std@@@345@XZ
710+
?PostProcessorFunc@SubmissionInfo@v1@detail@_V1@sycl@@QEBAAEBV?$optional@V?$function@$$A6AX_N0AEAVevent@_V1@sycl@@@Z@std@@@345@XZ
700711
?PushBack@exception_list@_V1@sycl@@AEAAX$$QEAVexception_ptr@std@@@Z
701712
?PushBack@exception_list@_V1@sycl@@AEAAXAEBVexception_ptr@std@@@Z
702713
?RangeRoundingTrace@handler@_V1@sycl@@AEAA_NXZ
703714
?SecondaryQueue@SubmissionInfo@detail@_V1@sycl@@QEAAAEAV?$shared_ptr@Vqueue_impl@detail@_V1@sycl@@@std@@XZ
704715
?SecondaryQueue@SubmissionInfo@detail@_V1@sycl@@QEBAAEBV?$shared_ptr@Vqueue_impl@detail@_V1@sycl@@@std@@XZ
716+
?SecondaryQueue@SubmissionInfo@v1@detail@_V1@sycl@@QEAAAEAV?$shared_ptr@Vqueue_impl@detail@_V1@sycl@@@std@@XZ
717+
?SecondaryQueue@SubmissionInfo@v1@detail@_V1@sycl@@QEBAAEBV?$shared_ptr@Vqueue_impl@detail@_V1@sycl@@@std@@XZ
705718
?SetHostTask@handler@_V1@sycl@@AEAAX$$QEAV?$function@$$A6AXVinterop_handle@_V1@sycl@@@Z@std@@@Z
706719
?SetHostTask@handler@_V1@sycl@@AEAAX$$QEAV?$function@$$A6AXXZ@std@@@Z
707720
?__abs_diff_impl@_V1@sycl@@YA?AV?$vec@C$00@12@V312@0@Z
@@ -4408,11 +4421,13 @@
44084421
?submit_impl_and_postprocess@queue@_V1@sycl@@AEAA?AVevent@23@V?$function@$$A6AXAEAVhandler@_V1@sycl@@@Z@std@@V123@AEBUcode_location@detail@23@AEBV?$function@$$A6AX_N0AEAVevent@_V1@sycl@@@Z@6@@Z
44094422
?submit_impl_and_postprocess@queue@_V1@sycl@@AEAA?AVevent@23@V?$function@$$A6AXAEAVhandler@_V1@sycl@@@Z@std@@V123@AEBUcode_location@detail@23@AEBV?$function@$$A6AX_N0AEAVevent@_V1@sycl@@@Z@6@_N@Z
44104423
?submit_with_event_impl@queue@_V1@sycl@@AEAA?AVevent@23@AEBVtype_erased_cgfo_ty@detail@23@AEBVSubmissionInfo@623@AEBUcode_location@623@_N@Z
4424+
?submit_with_event_impl@queue@_V1@sycl@@AEAA?AVevent@23@AEBVtype_erased_cgfo_ty@detail@23@AEBVSubmissionInfo@v1@623@AEBUcode_location@623@_N@Z
44114425
?submit_with_event_impl@queue@_V1@sycl@@AEAA?AVevent@23@V?$function@$$A6AXAEAVhandler@_V1@sycl@@@Z@std@@AEBVSubmissionInfo@detail@23@AEBUcode_location@823@_N@Z
44124426
?submit_without_event_impl@queue@_V1@sycl@@AEAAXAEBVtype_erased_cgfo_ty@detail@23@AEBVSubmissionInfo@523@AEBUcode_location@523@_N@Z
44134427
?submit_without_event_impl@queue@_V1@sycl@@AEAAXV?$function@$$A6AXAEAVhandler@_V1@sycl@@@Z@std@@AEBUcode_location@detail@23@@Z
44144428
?submit_without_event_impl@queue@_V1@sycl@@AEAAXV?$function@$$A6AXAEAVhandler@_V1@sycl@@@Z@std@@AEBUcode_location@detail@23@_N@Z
44154429
?submit_without_event_impl@queue@_V1@sycl@@AEAAXV?$function@$$A6AXAEAVhandler@_V1@sycl@@@Z@std@@AEBVSubmissionInfo@detail@23@AEBUcode_location@723@_N@Z
4430+
?submit_without_event_impl@queue@_V1@sycl@@AEAAXAEBVtype_erased_cgfo_ty@detail@23@AEBVSubmissionInfo@v1@523@AEBUcode_location@523@_N@Z
44164431
?supportsUSMFill2D@handler@_V1@sycl@@AEAA_NXZ
44174432
?supportsUSMMemcpy2D@handler@_V1@sycl@@AEAA_NXZ
44184433
?supportsUSMMemset2D@handler@_V1@sycl@@AEAA_NXZ

0 commit comments

Comments
 (0)