C++ API. More...
#include "common/core/base_ops.hpp"#include "common/core/base_types.hpp"#include "common/core/common.hpp"

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_API T | gpu::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_API T | gpu::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_API T | gpu::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_API T | gpu::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_API T | gpu::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_API T | gpu::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_API T | gpu::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_API T | gpu::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_API T | gpu::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. | |
C++ API.