DPC++ Runtime
Runtime libraries for oneAPI DPC++
properties.hpp
Go to the documentation of this file.
1 //==--- properties.hpp - SYCL properties associated with latency_control ---==//
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 
11 #include <sycl/ext/oneapi/properties/property.hpp> // for PropKind
12 #include <sycl/ext/oneapi/properties/property_value.hpp> // for property_value
13 
14 #include <type_traits> // for true_type
15 
16 namespace sycl {
17 inline namespace _V1 {
18 namespace ext::intel::experimental {
19 
21  none, // default
22  exact,
23  max,
24  min
25 };
26 
29  oneapi::experimental::detail::PropKind::LatencyAnchorID> {
30  template <int Anchor>
31  using value_t =
33  std::integral_constant<int, Anchor>>;
34 };
35 
38  oneapi::experimental::detail::PropKind::LatencyConstraint> {
39  template <int Target, latency_control_type Type, int Cycle>
41  latency_constraint_key, std::integral_constant<int, Target>,
42  std::integral_constant<latency_control_type, Type>,
43  std::integral_constant<int, Cycle>>;
44 };
45 
46 template <int Anchor>
48 template <int Target, latency_control_type Type, int Cycle>
51 
52 } // namespace ext::intel::experimental
53 
54 namespace ext::oneapi::experimental {
55 
56 template <int Target, intel::experimental::latency_control_type Type, int Cycle>
58  intel::experimental::latency_constraint_key,
59  std::integral_constant<int, Target>,
60  std::integral_constant<intel::experimental::latency_control_type, Type>,
61  std::integral_constant<int, Cycle>> {
63  static constexpr int target = Target;
64  static constexpr intel::experimental::latency_control_type type = Type;
65  static constexpr int cycle = Cycle;
66 };
67 
68 } // namespace ext::oneapi::experimental
69 } // namespace _V1
70 } // namespace sycl
constexpr latency_anchor_id_key::value_t< Anchor > latency_anchor_id
Definition: properties.hpp:47
constexpr latency_constraint_key::value_t< Target, Type, Cycle > latency_constraint
Definition: properties.hpp:50
Definition: access.hpp:18