DPC++ Runtime
Runtime libraries for oneAPI DPC++
kernel_execution_properties.hpp
Go to the documentation of this file.
1
//==----- gpu_kernel_properties.hpp - Kernel properties for Intel GPUs ---==//
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, IsRunti...
12
13
#include <cstdint>
// for uint16_t
14
#include <type_traits>
// for true_type
15
16
namespace
sycl
{
17
inline
namespace
_V1 {
18
namespace
ext::intel::experimental {
19
20
template
<
typename
T,
typename
PropertyListT>
class
gpu_kernel_attribute
;
21
22
enum class
cache_config_enum
: std::uint16_t {
large_slm
,
large_data
};
23
24
inline
constexpr
cache_config_enum
large_slm
=
25
cache_config_enum::large_slm
;
26
inline
constexpr
cache_config_enum
large_data
=
27
cache_config_enum::large_data
;
28
29
struct
cache_config
:
oneapi::experimental::detail::run_time_property_key
<
30
oneapi::experimental::detail::PropKind::CacheConfig> {
31
cache_config
(
cache_config_enum
v) :
value
(v) {}
32
cache_config_enum
value
;
33
};
34
35
using
cache_config_key
=
cache_config
;
36
37
inline
bool
operator==
(
const
cache_config
&lhs,
38
const
cache_config
&rhs) {
39
return
lhs.
value
== rhs.
value
;
40
}
41
inline
bool
operator!=
(
const
cache_config
&lhs,
42
const
cache_config
&rhs) {
43
return
!(lhs == rhs);
44
}
45
46
}
// namespace ext::intel::experimental
47
48
namespace
ext::oneapi::experimental {
49
template
<
typename
T,
typename
PropertyListT>
50
struct
is_property_key_of
<
51
intel::
experimental::cache_config_key
,
52
intel::experimental::gpu_kernel_attribute
<T, PropertyListT>>
53
: std::true_type {};
54
55
}
// namespace ext::oneapi::experimental
56
}
// namespace _V1
57
}
// namespace sycl
sycl::_V1::ext::intel::experimental::gpu_kernel_attribute
Definition:
kernel_execution_properties.hpp:20
sycl::_V1::ext::intel::experimental::large_slm
constexpr cache_config_enum large_slm
Definition:
kernel_execution_properties.hpp:24
sycl::_V1::ext::intel::experimental::cache_config_key
cache_config cache_config_key
Definition:
kernel_execution_properties.hpp:35
sycl::_V1::ext::intel::experimental::operator==
bool operator==(const cache_config &lhs, const cache_config &rhs)
Definition:
kernel_execution_properties.hpp:37
sycl::_V1::ext::intel::experimental::large_data
constexpr cache_config_enum large_data
Definition:
kernel_execution_properties.hpp:26
sycl::_V1::ext::intel::experimental::operator!=
bool operator!=(const cache_config &lhs, const cache_config &rhs)
Definition:
kernel_execution_properties.hpp:41
sycl::_V1::ext::intel::experimental::cache_config_enum
cache_config_enum
Definition:
kernel_execution_properties.hpp:22
sycl::_V1::ext::intel::experimental::cache_config_enum::large_slm
@ large_slm
sycl::_V1::ext::intel::experimental::cache_config_enum::large_data
@ large_data
sycl
Definition:
access.hpp:18
property.hpp
sycl::_V1::ext::intel::experimental::cache_config
Definition:
kernel_execution_properties.hpp:30
sycl::_V1::ext::intel::experimental::cache_config::value
cache_config_enum value
Definition:
kernel_execution_properties.hpp:32
sycl::_V1::ext::intel::experimental::cache_config::cache_config
cache_config(cache_config_enum v)
Definition:
kernel_execution_properties.hpp:31
sycl::_V1::ext::oneapi::experimental::detail::run_time_property_key
Definition:
property.hpp:222
sycl::_V1::ext::oneapi::experimental::is_property_key_of
Definition:
property.hpp:281
include
sycl
ext
intel
experimental
kernel_execution_properties.hpp
Generated by
1.9.1