XeTLA v0.3.6
IntelĀ® Xe Templates for Linear Algebra - API Definition Document
 
Loading...
Searching...
No Matches
math_general.hpp File Reference

C++ API. More...

Include dependency graph for math_general.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  gpu
 
namespace  gpu::xetla
 

Functions

template<typename T0 , typename T1 , int SZ>
__XETLA_API xetla_vector< T0, SZ > gpu::xetla::xetla_abs (xetla_vector< T1, SZ > src0)
 Get absolute value (vector version)
 
template<typename T0 , typename T1 >
std::enable_if_t<!std::is_same< remove_const_t< T0 >, remove_const_t< T1 > >::value, remove_const_t< T0 > > __XETLA_API gpu::xetla::xetla_abs (T1 src0)
 Get absolute value (scalar version)
 
template<typename T1 , int SZ>
__XETLA_API xetla_vector< T1, SZ > gpu::xetla::xetla_abs (xetla_vector< T1, SZ > src0)
 Get absolute value (vector version).
 
template<typename T1 >
__XETLA_API std::remove_const< T1 >::type gpu::xetla::xetla_abs (T1 src0)
 Get absolute value (scalar version).
 
template<typename T , int SZ, typename Sat = xetla_saturation_off_tag>
__XETLA_API xetla_vector< T, SZ > gpu::xetla::xetla_max (xetla_vector< T, SZ > src0, xetla_vector< T, SZ > src1, Sat sat={})
 Selects component-wise the maximum of the two vectors.
 
template<typename T , int SZ, typename Sat = xetla_saturation_off_tag>
__XETLA_API xetla_vector< T, SZ > gpu::xetla::xetla_max (xetla_vector< T, SZ > src0, T src1, Sat sat={})
 Selects maximums for each element of the input vector and a scalar.
 
template<typename T , int SZ, typename Sat = xetla_saturation_off_tag>
__XETLA_API xetla_vector< T, SZ > gpu::xetla::xetla_max (T src0, xetla_vector< T, SZ > src1, Sat sat={})
 Selects maximums for each element of the input scalar and a vector.
 
template<typename T , typename Sat = xetla_saturation_off_tag>
__XETLA_APIgpu::xetla::xetla_max (T src0, T src1, Sat sat={})
 Selects maximum between two scalar values.
 
template<typename T , int SZ, typename Sat = xetla_saturation_off_tag>
__XETLA_API xetla_vector< T, SZ > gpu::xetla::xetla_min (xetla_vector< T, SZ > src0, xetla_vector< T, SZ > src1, Sat sat={})
 Selects component-wise the minimum of the two vectors.
 
template<typename T , int SZ, typename Sat = xetla_saturation_off_tag>
__XETLA_API xetla_vector< T, SZ > gpu::xetla::xetla_min (xetla_vector< T, SZ > src0, T src1, Sat sat={})
 Selects minimums for each element of the input vector and a scalar.
 
template<typename T , int SZ, typename Sat = xetla_saturation_off_tag>
__XETLA_API xetla_vector< T, SZ > gpu::xetla::xetla_min (T src0, xetla_vector< T, SZ > src1, Sat sat={})
 Selects minimums for each element of the input scalar and a vector.
 
template<typename T , typename Sat = xetla_saturation_off_tag>
__XETLA_APIgpu::xetla::xetla_min (T src0, T src1, Sat sat={})
 Selects minimum between two scalar values.
 
template<class T , int SZ, typename Sat = xetla_saturation_off_tag>
__XETLA_API xetla_vector< T, SZ > gpu::xetla::xetla_exp (xetla_vector< T, SZ > src, Sat sat={})
 Calculate exponent value for each element of the input vector, the base is e.
 
template<class T , typename Sat = xetla_saturation_off_tag>
__XETLA_APIgpu::xetla::xetla_exp (T src, Sat sat={})
 Calculate exponent value of a scalar, the base is e.
 
template<class T , int SZ, typename Sat = xetla_saturation_off_tag>
__XETLA_API xetla_vector< T, SZ > gpu::xetla::xetla_exp2 (xetla_vector< T, SZ > src, Sat sat={})
 Calculate exponent value for each element of the input vector, the base is 2.
 
template<class T , typename Sat = xetla_saturation_off_tag>
__XETLA_APIgpu::xetla::xetla_exp2 (T src, Sat sat={})
 Calculate exponent value of a scalar, the base is 2.
 
template<typename T , int SZ, typename Sat = xetla_saturation_off_tag>
__XETLA_API xetla_vector< T, SZ > gpu::xetla::xetla_inv (xetla_vector< T, SZ > src, Sat sat={})
 Calculate the inversion, i.e.
 
template<typename T , typename Sat = xetla_saturation_off_tag>
__XETLA_APIgpu::xetla::xetla_inv (T src, Sat sat={})
 Calculate the inversion, i.e.
 
template<typename T , int SZ, typename Sat = xetla_saturation_off_tag>
__XETLA_API xetla_vector< T, SZ > gpu::xetla::xetla_sqrt (xetla_vector< T, SZ > src, Sat sat={})
 Calculate the square root, i.e.
 
template<typename T , typename Sat = xetla_saturation_off_tag>
__XETLA_APIgpu::xetla::xetla_sqrt (T src, Sat sat={})
 Calculate the square root, i.e.
 
template<typename T , int SZ, typename Sat = xetla_saturation_off_tag>
__XETLA_API xetla_vector< T, SZ > gpu::xetla::xetla_sqrt_ieee (xetla_vector< T, SZ > src, Sat sat={})
 Calculate the square root, i.e.
 
template<typename T , typename Sat = xetla_saturation_off_tag>
__XETLA_APIgpu::xetla::xetla_sqrt_ieee (T src, Sat sat={})
 Calculate the square root, i.e.
 
template<typename T , int SZ, typename Sat = xetla_saturation_off_tag>
__XETLA_API xetla_vector< T, SZ > gpu::xetla::xetla_rsqrt (xetla_vector< T, SZ > src, Sat sat={})
 Calculate the inversion of square root, i.e.
 
template<typename T , typename Sat = xetla_saturation_off_tag>
__XETLA_APIgpu::xetla::xetla_rsqrt (T src, Sat sat={})
 Calculate the inversion of square root, i.e.
 
template<typename T , int SZ>
__XETLA_API xetla_vector< T, SZ > gpu::xetla::xetla_tanh (xetla_vector< T, SZ > src)
 Calculate the tanh (vector version).
 
template<typename T >
__XETLA_APIgpu::xetla::xetla_tanh (T src)
 Calculate the tanh (scalar version).
 
template<typename T , int SZ>
__XETLA_API xetla_vector< T, SZ > gpu::xetla::xetla_add_c (xetla_vector< T, SZ > src0, xetla_vector< T, SZ > src1, xetla_vector_ref< T, SZ > __REF__ carry)
 Add two unsigned integer vectors, return the result and in-place update the carry.
 
template<typename T , int SZ>
__XETLA_API xetla_vector< T, SZ > gpu::xetla::xetla_add_c (xetla_vector< T, SZ > src0, T src1, xetla_vector_ref< T, SZ > __REF__ carry)
 Add one unsigned integer vectors with a scalar, return the result and in-place update the carry.
 
template<typename T0 , typename T1 , typename T2 , int SZ>
__XETLA_API xetla_vector< T0, SZ > gpu::xetla::xetla_imul (xetla_vector_ref< T0, SZ > __REF__ lo, xetla_vector< T1, SZ > src0, T2 src1)
 Multiply src0 with src1, return the hi part and in-place update the lo part.
 
template<typename T0 , typename T1 , int SZ, reduce_op BinaryOperation>
__XETLA_API T0 gpu::xetla::xetla_reduce (xetla_vector< T1, SZ > v)
 Performs reduction over elements of the input vector.
 
template<typename T , int SZ>
__XETLA_API xetla_vector< T, SZ > gpu::xetla::xetla_rnde (xetla_vector< T, SZ > src0)
 Get rounded value.
 
template<typename T1 , typename T0 , int SZ, typename Sat = xetla_saturation_off_tag>
__XETLA_API xetla_vector< T1, SZ > gpu::xetla::xetla_add (xetla_vector< T0, SZ > src0, xetla_vector< T0, SZ > src1, Sat sat={})
 Adds two vectors with saturation The source operands must be both of floating-point type.
 
template<typename T1 , typename T0 , int SZ>
__XETLA_API xetla_vector< T1, SZ > gpu::xetla::xetla_sat (xetla_vector< T0, SZ > src)
 Saturation function.
 

Detailed Description

C++ API.