@@ -66,7 +66,7 @@ auto get_native(const SyclObjectT &Obj)
6666namespace detail {
6767class queue_impl ;
6868
69- inline event submitAssertCapture (const queue &, event &, queue *,
69+ inline event submitAssertCapture (const queue &, event &,
7070 const detail::code_location &);
7171
7272// Function to postprocess submitted command
@@ -87,8 +87,10 @@ class __SYCL_EXPORT SubmissionInfo {
8787 sycl::detail::optional<SubmitPostProcessF> &PostProcessorFunc ();
8888 const sycl::detail::optional<SubmitPostProcessF> &PostProcessorFunc () const ;
8989
90+ #ifndef __INTEL_PREVIEW_BREAKING_CHANGES
9091 std::shared_ptr<detail::queue_impl> &SecondaryQueue ();
9192 const std::shared_ptr<detail::queue_impl> &SecondaryQueue () const ;
93+ #endif
9294
9395 ext::oneapi::experimental::event_mode_enum &EventMode ();
9496 const ext::oneapi::experimental::event_mode_enum &EventMode () const ;
@@ -434,21 +436,18 @@ class __SYCL_EXPORT queue : public detail::OwnerLessBase<queue> {
434436 // / Submits a command group function object to the queue, in order to be
435437 // / scheduled for execution on the device.
436438 // /
437- // / On a kernel error, this command group function object is then scheduled
438- // / for execution on a secondary queue.
439- // /
440439 // / \param CGF is a function object containing command group.
441- // / \param SecondaryQueue is a fallback SYCL queue.
440+ // / \param SecondaryQueue is a fallback SYCL queue. (unused)
442441 // / \param CodeLoc is the code location of the submit call (default argument)
443442 // / \return a SYCL event object, which corresponds to the queue the command
444443 // / group is being enqueued on.
445444 template <typename T>
446445 std::enable_if_t <std::is_invocable_r_v<void , T, handler &>, event> submit (
447- T CGF, queue &SecondaryQueue,
446+ T CGF, [[maybe_unused]] queue &SecondaryQueue,
448447 const detail::code_location &CodeLoc = detail::code_location::current()) {
449448 return submit_with_event<__SYCL_USE_FALLBACK_ASSERT>(
450449 sycl::ext::oneapi::experimental::empty_properties_t {},
451- detail::type_erased_cgfo_ty{CGF}, &SecondaryQueue, CodeLoc);
450+ detail::type_erased_cgfo_ty{CGF}, CodeLoc);
452451 }
453452
454453 // / Prevents any commands submitted afterward to this queue from executing
@@ -3582,7 +3581,7 @@ class __SYCL_EXPORT queue : public detail::OwnerLessBase<queue> {
35823581 -> backend_return_t<BackendName, SyclObjectT>;
35833582
35843583#if __SYCL_USE_FALLBACK_ASSERT
3585- friend event detail::submitAssertCapture (const queue &, event &, queue *,
3584+ friend event detail::submitAssertCapture (const queue &, event &,
35863585 const detail::code_location &);
35873586#endif
35883587
@@ -3686,47 +3685,6 @@ class __SYCL_EXPORT queue : public detail::OwnerLessBase<queue> {
36863685 const detail::code_location &CodeLoc,
36873686 bool IsTopCodeLoc) const ;
36883687
3689- // / Submits a command group function object to the queue, in order to be
3690- // / scheduled for execution on the device.
3691- // /
3692- // / \param Props is a property list with submission properties.
3693- // / \param CGF is a function object containing command group.
3694- // / \param SecondaryQueuePtr is a pointer to the secondary queue.
3695- // / \param CodeLoc is the code location of the submit call (default argument)
3696- // / \return a SYCL event object for the submitted command group.
3697- //
3698- // UseFallBackAssert as template param vs `#if` in function body is necessary
3699- // to prevent ODR-violation between TUs built with different fallback assert
3700- // modes.
3701- template <bool UseFallbackAssert, typename PropertiesT>
3702- event submit_with_event (PropertiesT Props,
3703- const detail::type_erased_cgfo_ty &CGF,
3704- queue *SecondaryQueuePtr,
3705- const detail::code_location &CodeLoc =
3706- detail::code_location::current ()) const {
3707- detail::tls_code_loc_t TlsCodeLocCapture (CodeLoc);
3708- detail::v1::SubmissionInfo SI{};
3709- ProcessSubmitProperties (Props, SI);
3710- if (SecondaryQueuePtr)
3711- SI.SecondaryQueue () = detail::getSyclObjImpl (*SecondaryQueuePtr);
3712- if constexpr (UseFallbackAssert)
3713- SI.PostProcessorFunc () =
3714- [this , &SecondaryQueuePtr,
3715- &TlsCodeLocCapture](bool IsKernel, bool KernelUsesAssert, event &E) {
3716- if (IsKernel && !device_has (aspect::ext_oneapi_native_assert) &&
3717- KernelUsesAssert && !device_has (aspect::accelerator)) {
3718- // __devicelib_assert_fail isn't supported by Device-side Runtime
3719- // Linking against fallback impl of __devicelib_assert_fail is
3720- // performed by program manager class
3721- // Fallback assert isn't supported for FPGA
3722- submitAssertCapture (*this , E, SecondaryQueuePtr,
3723- TlsCodeLocCapture.query ());
3724- }
3725- };
3726- return submit_with_event_impl (CGF, SI, TlsCodeLocCapture.query (),
3727- TlsCodeLocCapture.isToplevel ());
3728- }
3729-
37303688 // / Submits a command group function object to the queue, in order to be
37313689 // / scheduled for execution on the device.
37323690 // /
@@ -3756,7 +3714,7 @@ class __SYCL_EXPORT queue : public detail::OwnerLessBase<queue> {
37563714 // Linking against fallback impl of __devicelib_assert_fail is
37573715 // performed by program manager class
37583716 // Fallback assert isn't supported for FPGA
3759- submitAssertCapture (*this , E, nullptr , TlsCodeLocCapture.query ());
3717+ submitAssertCapture (*this , E, TlsCodeLocCapture.query ());
37603718 }
37613719 };
37623720 return submit_with_event_impl (CGF, SI, TlsCodeLocCapture.query (),
@@ -3955,15 +3913,13 @@ class AssertInfoCopier;
39553913 * Submit copy task for assert failure flag and host-task to check the flag
39563914 * \param Event kernel's event to depend on i.e. the event represents the
39573915 * kernel to check for assertion failure
3958- * \param SecondaryQueue secondary queue for submit process, null if not used
39593916 * \returns host tasks event
39603917 *
39613918 * This method doesn't belong to queue class to overcome msvc behaviour due to
39623919 * which it gets compiled and exported without any integration header and, thus,
39633920 * with no proper KernelInfo instance.
39643921 */
39653922event submitAssertCapture (const queue &Self, event &Event,
3966- queue *SecondaryQueue,
39673923 const detail::code_location &CodeLoc) {
39683924 buffer<detail::AssertHappened, 1 > Buffer{1 };
39693925
@@ -4019,10 +3975,10 @@ event submitAssertCapture(const queue &Self, event &Event,
40193975
40203976 CopierEv = Self.submit_with_event <true >(
40213977 sycl::ext::oneapi::experimental::empty_properties_t {}, CopierCGF,
4022- SecondaryQueue, CodeLoc);
3978+ CodeLoc);
40233979 CheckerEv = Self.submit_with_event <true >(
40243980 sycl::ext::oneapi::experimental::empty_properties_t {}, CheckerCGF,
4025- SecondaryQueue, CodeLoc);
3981+ CodeLoc);
40263982
40273983 return CheckerEv;
40283984}
0 commit comments