20 #include <type_traits>
23 inline namespace _V1 {
26 namespace experimental {
28 template <
typename PropertyT,
typename... Ts>
36 oneapi::experimental::detail::PropKind::RegisterMap> {
41 oneapi::experimental::detail::PropKind::Conduit> {
46 oneapi::experimental::detail::PropKind::Stable> {
52 oneapi::experimental::detail::PropKind::BufferLocation> {
59 oneapi::experimental::detail::PropKind::AddrWidth> {
65 oneapi::experimental::detail::PropKind::DataWidth> {
71 oneapi::experimental::detail::PropKind::Latency> {
80 oneapi::experimental::detail::PropKind::RWMode> {
81 template <read_write_mode_enum Mode>
84 std::integral_constant<read_write_mode_enum, Mode>>;
88 oneapi::experimental::detail::PropKind::MaxBurst> {
95 oneapi::experimental::detail::PropKind::WaitRequest> {
113 template <
int Enable>
118 template <read_write_mode_enum Mode>
131 namespace experimental {
132 template <
typename T,
typename PropertyListT>
class annotated_arg;
133 template <
typename T,
typename PropertyListT>
class annotated_ptr;
148 template <
typename T,
typename PropertyListT>
152 template <
typename T,
typename PropertyListT>
156 template <
typename T,
typename PropertyListT>
160 template <
typename T,
typename PropertyListT>
164 template <
typename T,
typename PropertyListT>
168 template <
typename T,
typename PropertyListT>
172 template <
typename T,
typename PropertyListT>
176 template <
typename T,
typename PropertyListT>
180 template <
typename T,
typename PropertyListT>
184 template <
typename T,
typename PropertyListT>
188 template <
typename T,
typename PropertyListT>
192 template <
typename T,
typename PropertyListT>
196 template <
typename T,
typename PropertyListT>
200 template <
typename T,
typename PropertyListT>
204 template <
typename T,
typename PropertyListT>
208 template <
typename T,
typename PropertyListT>
212 template <
typename T,
typename PropertyListT>
216 template <
typename T,
typename PropertyListT>
220 template <
typename T,
typename PropertyListT>
224 template <
typename T,
typename PropertyListT>
230 static constexpr
const char *
name =
"sycl-register-map";
231 static constexpr std::nullptr_t
value =
nullptr;
234 static constexpr
const char *
name =
"sycl-conduit";
235 static constexpr std::nullptr_t
value =
nullptr;
238 static constexpr
const char *
name =
"sycl-stable";
239 static constexpr std::nullptr_t
value =
nullptr;
243 static constexpr
const char *
name =
"sycl-buffer-location";
247 static constexpr
const char *
name =
"sycl-awidth";
251 static constexpr
const char *
name =
"sycl-dwidth";
255 static constexpr
const char *
name =
"sycl-latency";
259 static constexpr
const char *
name =
"sycl-maxburst";
262 template <
int Enable>
264 static constexpr
const char *
name =
"sycl-wait-request";
265 static constexpr
int value = Enable;
267 template <read_write_mode_enum Mode>
269 static constexpr
const char *
name =
"sycl-read-write-mode";
276 template <
typename T,
int N>
278 : std::bool_constant<std::is_pointer_v<T>> {};
280 template <
typename T,
int W>
282 : std::bool_constant<std::is_pointer_v<T>> {};
284 template <
typename T,
int W>
286 : std::bool_constant<std::is_pointer_v<T>> {};
288 template <
typename T,
int N>
290 : std::bool_constant<std::is_pointer_v<T>> {};
292 template <
typename T, read_write_mode_enum Mode>
294 : std::bool_constant<std::is_pointer_v<T>> {};
296 template <
typename T,
int N>
298 : std::bool_constant<std::is_pointer_v<T>> {};
300 template <
typename T,
int Enable>
302 : std::bool_constant<std::is_pointer_v<T>> {};
306 template <
typename T>
308 template <
typename T>
310 template <
typename T>
323 using list = std::tuple<Args...>;
339 using list = std::tuple<Args...>;
sycl::ext::oneapi::experimental::alignment_key alignment_key
The 'alignment' property is used to specify the alignment of memory accessed in ESIMD memory operatio...
constexpr awidth_key::value_t< W > awidth
constexpr buffer_location_key::value_t< N > buffer_location
constexpr read_write_mode_key::value_t< read_write_mode_enum::write > read_write_mode_write
constexpr stable_key::value_t stable
constexpr latency_key::value_t< N > latency
sycl::ext::oneapi::experimental::property_value< PropertyT, Ts... > property_value
constexpr conduit_key::value_t conduit
constexpr read_write_mode_key::value_t< read_write_mode_enum::read > read_write_mode_read
constexpr wait_request_key::value_t< Enable > wait_request
constexpr wait_request_key::value_t< 0 > wait_request_not_requested
constexpr wait_request_key::value_t< 1 > wait_request_requested
constexpr read_write_mode_key::value_t< read_write_mode_enum::read_write > read_write_mode_readwrite
constexpr maxburst_key::value_t< N > maxburst
constexpr read_write_mode_key::value_t< Mode > read_write_mode
constexpr dwidth_key::value_t< W > dwidth
constexpr register_map_key::value_t register_map
friend class annotated_arg
intel::experimental::maxburst_key maxburst_key
friend class annotated_ptr
intel::experimental::latency_key latency_key
intel::experimental::read_write_mode_key read_write_mode_key
intel::experimental::awidth_key awidth_key
intel::experimental::dwidth_key dwidth_key
intel::experimental::register_map_key register_map_key
intel::experimental::conduit_key conduit_key
intel::experimental::buffer_location_key buffer_location_key
intel::experimental::wait_request_key wait_request_key
intel::experimental::stable_key stable_key
static constexpr bool has_RegisterMap
static constexpr bool value
std::tuple< Args... > list
static constexpr bool has_Conduit
static constexpr bool value
static constexpr bool has_InterfaceConfig
std::tuple< Args... > list
static constexpr bool has_BufferLocation