DPC++ Runtime
Runtime libraries for oneAPI DPC++
fusion_wrapper_impl.cpp
Go to the documentation of this file.
1 //==------------ fusion_wrapper.cpp ----------------------------------------==//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
10 
12 
13 namespace sycl {
14 inline namespace _V1 {
15 namespace detail {
16 
18  std::shared_ptr<detail::queue_impl> Queue)
19  : MQueue{std::move(Queue)} {}
20 
21 std::shared_ptr<detail::queue_impl> fusion_wrapper_impl::get_queue() const {
22  return MQueue;
23 }
24 
26  return MQueue->is_in_fusion_mode();
27 }
28 
30  if (MQueue->getCommandGraph()) {
32  "SYCL kernel fusion can NOT be started "
33  "on a queue that is in a recording state.");
34  }
36 }
37 
40 }
41 
43  auto EventImpl =
45  return detail::createSyclObjFromImpl<event>(EventImpl);
46 }
47 
48 } // namespace detail
49 } // namespace _V1
50 } // namespace sycl
EventImplPtr completeFusion(QueueImplPtr Queue, const property_list &)
Definition: scheduler.cpp:606
void cancelFusion(QueueImplPtr Queue)
Definition: scheduler.cpp:596
void startFusion(QueueImplPtr Queue)
Definition: scheduler.cpp:583
static Scheduler & getInstance()
Definition: scheduler.cpp:244
event complete_fusion(const property_list &propList={})
fusion_wrapper_impl(std::shared_ptr< detail::queue_impl > Queue)
std::shared_ptr< detail::queue_impl > get_queue() const
Objects of the property_list class are containers for the SYCL properties.
std::error_code make_error_code(sycl::errc E) noexcept
Constructs an error code using e and sycl_category()
Definition: exception.cpp:64
Definition: access.hpp:18