39template <
typename T_dst,
typename T_src,
int N>
42 xetla_vector<T_dst, N>>
52template <
typename T_dst,
typename T_src,
int N>
53__XETLA_API typename std::enable_if_t<std::is_same<T_dst, bf16>::value
54 && std::is_same<T_src, float>::value,
55 xetla_vector<T_dst, N>>
65template <
typename T_dst,
typename T_src,
int N>
66__XETLA_API typename std::enable_if_t<std::is_same<T_dst, float>::value
67 && std::is_same<T_src, bf16>::value,
68 xetla_vector<T_dst, N>>
78template <
typename T_dst,
typename T_src,
int N>
79__XETLA_API typename std::enable_if_t<std::is_same<T_dst, tf32>::value
80 && std::is_same<T_src, float>::value,
81 xetla_vector<T_dst, N>>
91template <
typename T_dst,
typename T_src,
int N>
92__XETLA_API typename std::enable_if_t<std::is_same<T_dst, float>::value
93 && std::is_same<T_src, tf32>::value,
94 xetla_vector<T_dst, N>>
96 return src.xetla_format<
float>();
103template <
typename T_dst,
typename T_src,
int N>
104__XETLA_API typename std::enable_if_t<std::is_same<T_dst, fp16>::value
105 && std::is_same<T_src, int32_t>::value,
106 xetla_vector<T_dst, N>>
116template <
typename T_dst,
typename T_src,
int N>
117__XETLA_API typename std::enable_if_t<std::is_same<T_dst, int8_t>::value
118 && std::is_same<T_src, int32_t>::value,
119 xetla_vector<T_dst, N>>
121 auto tmp = xetla_rnde<float>(scaling_value * src);
122 auto dst = __ESIMD_NS::saturate<T_dst, float, N>(tmp);
130template <
typename T_dst,
typename T_src,
int N>
131__XETLA_API typename std::enable_if_t<std::is_same<T_dst, int8_t>::value
132 && std::is_same<T_src, float>::value,
133 xetla_vector<T_dst, N>>
135 auto tmp = xetla_rnde<float>(scaling_value * src);
136 auto dst = __ESIMD_NS::saturate<T_dst, float, N>(tmp);
144template <
typename T_dst,
typename T_src,
int N>
145__XETLA_API typename std::enable_if_t<std::is_same<T_dst, T_src>::value
147 xetla_vector<T_dst, N>>
#define __XETLA_API
Definition common.hpp:43
__ESIMD_NS::simd< native_type_t< Ty >, N > xetla_vector
wrapper for xetla_vector.
Definition base_types.hpp:149
__XETLA_API std::enable_if_t<!(is_internal_type< T_dst >::value) &&!(is_internal_type< T_src >::value), xetla_vector< T_dst, N > > xetla_cvt(xetla_vector< T_src, N > src)
xetla explicit data conversion for standard data types(integer,float,half)
Definition explicit_conv.hpp:43
Definition arch_config.hpp:24
static constexpr bool value
Definition base_types.hpp:68