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 #define __SYCL_DATA_LESS_PROP(NS_QUALIFIER, PROP_NAME, ENUM_VAL) \
17  namespace NS_QUALIFIER { \
18  class PROP_NAME \
19  : public sycl::detail::DataLessProperty<sycl::detail::ENUM_VAL> {}; \
20  }
21 
22 #include <sycl/properties/queue_properties.def>
23 
24 namespace property ::queue {
26  "use 'sycl::ext::oneapi::cuda::property::queue' instead") cuda {
27 class use_default_stream
28  : public ::sycl::ext::oneapi::cuda::property::queue::use_default_stream {};
29 // clang-format off
30 } // namespace cuda
31 // clang-format on
32 } // namespace property::queue
33 
34 namespace ext::intel::property::queue {
36  sycl::detail::PropWithDataKind::QueueComputeIndex> {
37 public:
38  compute_index(int idx) : idx(idx) {}
39  int get_index() { return idx; }
40 
41 private:
42  int idx;
43 };
44 } // namespace ext::intel::property::queue
45 
46 // Queue property trait specializations.
47 class queue;
48 
49 #define __SYCL_MANUALLY_DEFINED_PROP(NS_QUALIFIER, PROP_NAME) \
50  template <> \
51  struct is_property_of<NS_QUALIFIER::PROP_NAME, queue> : std::true_type {};
52 #define __SYCL_DATA_LESS_PROP(NS_QUALIFIER, PROP_NAME, ENUM_VAL) \
53  __SYCL_MANUALLY_DEFINED_PROP(NS_QUALIFIER, PROP_NAME)
54 
55 #include <sycl/properties/queue_properties.def>
56 
57 } // __SYCL_INLINE_VER_NAMESPACE(_V1)
58 } // namespace sycl
sycl::_V1::__SYCL2020_DEPRECATED
signed char __SYCL2020_DEPRECATED
Definition: aliases.hpp:96
sycl::_V1::instead
std::uint8_t instead
Definition: aliases.hpp:95
property_traits.hpp
PropertyWithData
sycl::_V1::ext::intel::property::queue::compute_index::compute_index
compute_index(int idx)
Definition: queue_properties.hpp:38
__SYCL_INLINE_VER_NAMESPACE
#define __SYCL_INLINE_VER_NAMESPACE(X)
Definition: defines_elementary.hpp:11
sycl
---— Error handling, matching OpenCL plugin semantics.
Definition: access.hpp:14
sycl::_V1::ext::intel::property::queue::compute_index
Definition: queue_properties.hpp:35
sycl::_V1::queue
Encapsulates a single SYCL queue which schedules kernels on a SYCL device.
Definition: queue.hpp:89
property_helper.hpp
sycl::_V1::ext::intel::property::queue::compute_index::get_index
int get_index()
Definition: queue_properties.hpp:39
sycl::_V1::ext::oneapi::experimental::matrix::use
use
Definition: matrix-unified-utils.hpp:17