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
9
#include <
detail/fusion/fusion_wrapper_impl.hpp
>
10
11
#include <
detail/scheduler/scheduler.hpp
>
12
13
namespace
sycl
{
14
__SYCL_INLINE_VER_NAMESPACE
(_V1) {
15
namespace
detail {
16
17
fusion_wrapper_impl::fusion_wrapper_impl(
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
25
bool
fusion_wrapper_impl::is_in_fusion_mode
()
const
{
26
return
MQueue->is_in_fusion_mode();
27
}
28
29
void
fusion_wrapper_impl::start_fusion
() {
30
detail::Scheduler::getInstance
().
startFusion
(MQueue);
31
}
32
33
void
fusion_wrapper_impl::cancel_fusion
() {
34
detail::Scheduler::getInstance
().
cancelFusion
(MQueue);
35
}
36
37
event
fusion_wrapper_impl::complete_fusion
(
const
property_list
&PropList) {
38
auto
EventImpl =
39
detail::Scheduler::getInstance
().
completeFusion
(MQueue, PropList);
40
return
detail::createSyclObjFromImpl<event>(EventImpl);
41
}
42
43
}
// namespace detail
44
}
// __SYCL_INLINE_VER_NAMESPACE(_V1)
45
}
// namespace sycl
sycl::_V1::property_list
Objects of the property_list class are containers for the SYCL properties.
Definition:
property_list.hpp:24
sycl::_V1::detail::Scheduler::startFusion
void startFusion(QueueImplPtr Queue)
Definition:
scheduler.cpp:565
__SYCL_INLINE_VER_NAMESPACE
#define __SYCL_INLINE_VER_NAMESPACE(X)
Definition:
defines_elementary.hpp:11
fusion_wrapper_impl.hpp
sycl
---— Error handling, matching OpenCL plugin semantics.
Definition:
access.hpp:14
scheduler.hpp
sycl::_V1::detail::Scheduler::cancelFusion
void cancelFusion(QueueImplPtr Queue)
Definition:
scheduler.cpp:570
sycl::_V1::detail::fusion_wrapper_impl::complete_fusion
event complete_fusion(const property_list &propList={})
Definition:
fusion_wrapper_impl.cpp:37
sycl::_V1::detail::fusion_wrapper_impl::cancel_fusion
void cancel_fusion()
Definition:
fusion_wrapper_impl.cpp:33
sycl::_V1::detail::Scheduler::completeFusion
EventImplPtr completeFusion(QueueImplPtr Queue, const property_list &)
Definition:
scheduler.cpp:579
sycl::_V1::detail::fusion_wrapper_impl::start_fusion
void start_fusion()
Definition:
fusion_wrapper_impl.cpp:29
sycl::_V1::detail::Scheduler::getInstance
static Scheduler & getInstance()
Definition:
scheduler.cpp:252
sycl::_V1::detail::fusion_wrapper_impl::is_in_fusion_mode
bool is_in_fusion_mode() const
Definition:
fusion_wrapper_impl.cpp:25
sycl::_V1::detail::fusion_wrapper_impl::get_queue
std::shared_ptr< detail::queue_impl > get_queue() const
Definition:
fusion_wrapper_impl.cpp:21
source
detail
fusion
fusion_wrapper_impl.cpp
Generated by
1.8.17