DPC++ Runtime
Runtime libraries for oneAPI DPC++
fpga_utils.hpp
Go to the documentation of this file.
1
//==------------- fpga_utils.hpp --- SYCL FPGA Reg Extensions --------------==//
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 <
CL/sycl/detail/defines.hpp
>
12
#include <
CL/sycl/detail/stl_type_traits.hpp
>
13
#include <
CL/sycl/stl.hpp
>
14
15
__SYCL_INLINE_NAMESPACE
(
cl
) {
16
namespace
sycl
{
17
namespace
ext {
18
namespace
intel {
19
20
template
<
template
<
int
32_t>
class
_Type,
class
_T>
21
struct
_MatchType
: std::is_same<_Type<_T::value>, _T> {};
22
23
template
<
template
<
int
32_t>
class
_Type,
class
... _T>
struct
_GetValue
{
24
static
constexpr
auto
value = _Type<0>::default_value;
25
};
26
27
template
<
template
<
int
32_t>
class
_Type,
class
_T1,
class
... _T>
28
struct
_GetValue
<_Type, _T1, _T...> {
29
static
constexpr
auto
value =
30
detail::conditional_t<_MatchType<_Type, _T1>::value
, _T1,
31
_GetValue
<_Type, _T...>>::value;
32
};
33
}
// namespace intel
34
}
// namespace ext
35
36
}
// namespace sycl
37
}
// __SYCL_INLINE_NAMESPACE(cl)
cl::sycl::ext::intel::_MatchType
Definition:
fpga_utils.hpp:21
cl::sycl::ext::intel::_GetValue
Definition:
fpga_utils.hpp:23
stl.hpp
sycl
Definition:
invoke_simd.hpp:68
stl_type_traits.hpp
cl::sycl::detail::conditional_t
typename std::conditional< B, T, F >::type conditional_t
Definition:
stl_type_traits.hpp:27
defines.hpp
cl
We provide new interfaces for matrix muliply in this patch:
Definition:
access.hpp:13
__SYCL_INLINE_NAMESPACE
#define __SYCL_INLINE_NAMESPACE(X)
Definition:
defines_elementary.hpp:12
include
sycl
ext
intel
fpga_utils.hpp
Generated by
1.8.17