16 #define SYCL_EXT_INTEL_GRF_SIZE 1
19 inline namespace _V1 {
20 namespace ext::intel::experimental {
22 oneapi::experimental::detail::PropKind::GRFSize> {
23 template <
unsigned int Size>
25 grf_size_key, std::integral_constant<unsigned int, Size>>;
30 oneapi::experimental::detail::PropKind::GRFSizeAutomatic> {
34 template <
unsigned int Size>
40 namespace ext::oneapi::experimental::detail {
41 template <
unsigned int Size>
44 static_assert(Size == 128 || Size == 256,
"Unsupported GRF size");
45 static constexpr
const char *
name =
"sycl-grf-size";
46 static constexpr
unsigned int value = Size;
51 static constexpr
const char *
name =
"sycl-grf-size";
52 static constexpr
unsigned int value = 0;
55 template <
typename Properties>
60 sycl::ext::intel::experimental::grf_size_automatic_key,
62 ContainsProperty<sycl::detail::register_alloc_mode_key,
63 Properties>::value> {};
65 template <
typename Properties>
66 struct ConflictingProperties<
69 ContainsProperty<sycl::ext::intel::experimental::grf_size_key,
71 ContainsProperty<sycl::detail::register_alloc_mode_key,
72 Properties>::value> {};
74 template <
typename Properties>
77 ContainsProperty<sycl::ext::intel::experimental::grf_size_key,
80 sycl::ext::intel::experimental::grf_size_automatic_key,
81 Properties>::value> {};
constexpr grf_size_key::value_t< Size > grf_size
constexpr grf_size_automatic_key::value_t grf_size_automatic