XeTLA v0.3.6
IntelĀ® Xe Templates for Linear Algebra - API Definition Document
 
Loading...
Searching...
No Matches
Util misc API

Implements some useful and commonly used APIs, such as vector generation API. More...

Collaboration diagram for Util misc API:

Functions

__XETLA_API xetla_vector< uint32_t, 4 > gpu::xetla::get_time_stamp ()
 Returns time stamp.
 
template<typename Ty , int N>
__XETLA_API xetla_vector< Ty, N > gpu::xetla::xetla_vector_gen (int InitVal, int Step)
 xetla_vector generation.
 
template<uint32_t N>
__XETLA_API xetla_mask_int< N > gpu::xetla::xetla_mask_int_gen (uint32_t mask_val)
 
template<typename dtype_acc , uint32_t N, uint32_t num_flag = 4, typename dtype_mask = uint8_t>
__XETLA_API xetla_vector< dtype_acc, N > gpu::xetla::drop_out (xetla_vector< dtype_acc, N > in, xetla_vector< dtype_mask, N > mask, dtype_acc scale)
 
template<reduce_op reduce_kind, typename dtype , int size>
__XETLA_API std::enable_if_t< reduce_kind==reduce_op::sum, xetla_vector< dtype, size > > gpu::xetla::reduce_helper (xetla_vector< dtype, size > a, xetla_vector< dtype, size > b)
 
template<reduce_op reduce_kind, typename dtype , int N_x, int N_y>
__XETLA_API std::enable_if_t< N_y==1, xetla_vector< dtype, N_x > > gpu::xetla::recur_row_reduce (xetla_vector< dtype, N_x > in)
 
template<reduce_op reduce_kind, typename dtype , int N_x, int N_y>
__XETLA_API std::enable_if_t<(N_y > 1), xetla_vector< dtype, N_x > > gpu::xetla::recur_row_reduce (xetla_vector< dtype, N_x *N_y > in)
 
template<reduce_op reduce_kind, typename dtype , int N_x, int N_y>
__XETLA_API std::enable_if_t< N_x==1, xetla_vector< dtype, N_y > > gpu::xetla::recur_col_reduce (xetla_vector< dtype, N_y > in)
 
template<reduce_op reduce_kind, typename dtype , int N_x, int N_y>
__XETLA_API std::enable_if_t<(N_x > 1), xetla_vector< dtype, N_y > > gpu::xetla::recur_col_reduce (xetla_vector< dtype, N_x *N_y > in)
 
__XETLA_API uint32_t gpu::xetla::get_2d_group_linear_id (sycl::nd_item< 3 > &item)
 get linear group id of the last two dimensions.
 

Detailed Description

Implements some useful and commonly used APIs, such as vector generation API.

Function Documentation

◆ drop_out()

template<typename dtype_acc , uint32_t N, uint32_t num_flag = 4, typename dtype_mask = uint8_t>
__XETLA_API xetla_vector< dtype_acc, N > gpu::xetla::drop_out ( xetla_vector< dtype_acc, N >  in,
xetla_vector< dtype_mask, N >  mask,
dtype_acc  scale 
)

◆ get_2d_group_linear_id()

__XETLA_API uint32_t gpu::xetla::get_2d_group_linear_id ( sycl::nd_item< 3 > &  item)

get linear group id of the last two dimensions.

Template Parameters
itemIs the given sycl::nd_item<3>.

◆ get_time_stamp()

__XETLA_API xetla_vector< uint32_t, 4 > gpu::xetla::get_time_stamp ( )

Returns time stamp.

Returns
vecotor <uint32_t, 4> contain time stamp

◆ recur_col_reduce() [1/2]

template<reduce_op reduce_kind, typename dtype , int N_x, int N_y>
__XETLA_API std::enable_if_t<(N_x > 1), xetla_vector< dtype, N_y > > gpu::xetla::recur_col_reduce ( xetla_vector< dtype, N_x *N_y >  in)

◆ recur_col_reduce() [2/2]

template<reduce_op reduce_kind, typename dtype , int N_x, int N_y>
__XETLA_API std::enable_if_t< N_x==1, xetla_vector< dtype, N_y > > gpu::xetla::recur_col_reduce ( xetla_vector< dtype, N_y >  in)

◆ recur_row_reduce() [1/2]

template<reduce_op reduce_kind, typename dtype , int N_x, int N_y>
__XETLA_API std::enable_if_t<(N_y > 1), xetla_vector< dtype, N_x > > gpu::xetla::recur_row_reduce ( xetla_vector< dtype, N_x *N_y >  in)

◆ recur_row_reduce() [2/2]

template<reduce_op reduce_kind, typename dtype , int N_x, int N_y>
__XETLA_API std::enable_if_t< N_y==1, xetla_vector< dtype, N_x > > gpu::xetla::recur_row_reduce ( xetla_vector< dtype, N_x >  in)

◆ reduce_helper()

template<reduce_op reduce_kind, typename dtype , int size>
__XETLA_API std::enable_if_t< reduce_kind==reduce_op::sum, xetla_vector< dtype, size > > gpu::xetla::reduce_helper ( xetla_vector< dtype, size >  a,
xetla_vector< dtype, size >  b 
)

◆ xetla_mask_int_gen()

template<uint32_t N>
__XETLA_API xetla_mask_int< N > gpu::xetla::xetla_mask_int_gen ( uint32_t  mask_val)

◆ xetla_vector_gen()

template<typename Ty , int N>
__XETLA_API xetla_vector< Ty, N > gpu::xetla::xetla_vector_gen ( int  InitVal,
int  Step 
)

xetla_vector generation.

Commonly used to generate simd channel id.

Template Parameters
Tyis type of xetla_vector generated. Only int type(or types that can be implicitly converted to int) is allowed.
Nis the number of elements in xetla_vector generated.
Parameters
InitVal[in] is the starting value of xetla_vector generation.
Step[in] is the step value between adjacent elements.
Returns
xetla_vector<Ty, N> [out] is the return vector.