DPC++ Runtime
Runtime libraries for oneAPI DPC++
queue_properties.hpp
Go to the documentation of this file.
1 //==----------- queue_properties.hpp --- SYCL queue properties -------------==//
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 #pragma once
10 
13 
14 namespace sycl {
16 namespace property {
17 namespace queue {
18 class in_order : public detail::DataLessProperty<detail::InOrder> {};
20  : public detail::DataLessProperty<detail::QueueEnableProfiling> {};
21 } // namespace queue
22 } // namespace property
23 
24 namespace ext {
25 namespace oneapi {
26 
27 namespace property {
28 namespace queue {
30  : public ::sycl::detail::DataLessProperty<::sycl::detail::DiscardEvents> {};
31 } // namespace queue
32 } // namespace property
33 
34 namespace cuda {
35 namespace property {
36 namespace queue {
37 class use_default_stream : public ::sycl::detail::DataLessProperty<
38  ::sycl::detail::UseDefaultStream> {};
39 } // namespace queue
40 } // namespace property
41 } // namespace cuda
42 } // namespace oneapi
43 } // namespace ext
44 
45 namespace property {
46 namespace queue {
48  "use 'sycl::ext::oneapi::cuda::property::queue' instead") cuda {
49 class use_default_stream
50  : public ::sycl::ext::oneapi::cuda::property::queue::use_default_stream {};
51 // clang-format off
52 } // namespace cuda
53 // clang-format on
54 } // namespace queue
55 } // namespace property
56 
57 // Forward declaration
58 class queue;
59 
60 // Queue property trait specializations
61 template <> struct is_property<property::queue::in_order> : std::true_type {};
62 template <>
63 struct is_property<property::queue::enable_profiling> : std::true_type {};
64 template <>
65 struct is_property<ext::oneapi::property::queue::discard_events>
66  : std::true_type {};
67 template <>
68 struct is_property<property::queue::cuda::use_default_stream> : std::true_type {
69 };
70 template <>
71 struct is_property<ext::oneapi::cuda::property::queue::use_default_stream>
72  : std::true_type {};
73 
74 template <>
75 struct is_property_of<property::queue::in_order, queue> : std::true_type {};
76 template <>
77 struct is_property_of<property::queue::enable_profiling, queue>
78  : std::true_type {};
79 template <>
80 struct is_property_of<ext::oneapi::property::queue::discard_events, queue>
81  : std::true_type {};
82 template <>
83 struct is_property_of<property::queue::cuda::use_default_stream, queue>
84  : std::true_type {};
85 template <>
86 struct is_property_of<ext::oneapi::cuda::property::queue::use_default_stream,
87  queue> : std::true_type {};
88 
89 } // __SYCL_INLINE_VER_NAMESPACE(_V1)
90 } // namespace sycl
property_traits.hpp
sycl::_V1::property::queue::in_order
Definition: queue_properties.hpp:18
sycl::_V1::detail::DataLessProperty
Definition: property_helper.hpp:62
sycl::_V1::is_property
Definition: property_traits.hpp:15
__SYCL_INLINE_VER_NAMESPACE
#define __SYCL_INLINE_VER_NAMESPACE(X)
Definition: defines_elementary.hpp:13
sycl::_V1::ext::oneapi::cuda::property::queue::use_default_stream
Definition: queue_properties.hpp:37
sycl::_V1::is_property_of
Definition: property_traits.hpp:18
sycl
---— Error handling, matching OpenCL plugin semantics.
Definition: access.hpp:13
sycl::_V1::ext::oneapi::property::queue::discard_events
Definition: queue_properties.hpp:29
sycl::_V1::property::queue::enable_profiling
Definition: queue_properties.hpp:19
sycl::_V1::queue
Encapsulates a single SYCL queue which schedules kernels on a SYCL device.
Definition: queue.hpp:86
sycl::_V1::instead
std::uint8_t instead
Definition: aliases.hpp:69
property_helper.hpp
sycl::_V1::ext::oneapi::experimental::matrix::use
use
Definition: matrix-jit-use.hpp:44
__SYCL2020_DEPRECATED
#define __SYCL2020_DEPRECATED(message)
Definition: defines_elementary.hpp:54