XeTLA v0.3.6
IntelĀ® Xe Templates for Linear Algebra - API Definition Document
 
Loading...
Searching...
No Matches
kernel_func.hpp File Reference
#include "xetla.hpp"
Include dependency graph for kernel_func.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  gru_config_t
 
struct  fused_config_t< T >
 
struct  gru_layer< T, Act_T, wg_tile_m, wg_tile_n, sg_tile_m, sg_tile_n, sg_tile_k, layout_input, layout_weight, layout_out, mem_loc_input, mem_loc_weight, mem_loc_out, periodic_sync_interval >
 
struct  kernel_xcoder_gru_fusion< input_T, Act_T, wg_tile_m_t, wg_tile_n_t, sg_tile_m_t, sg_tile_n_t, sg_tile_k_t >
 

Macros

#define CONFIG_SETTING(m, k, n)
 
#define GEMM_CALL(id, acc_id, ptr_a, ptr_b)
 
#define MATC_STORE(ptr_c)
 

Macro Definition Documentation

◆ CONFIG_SETTING

#define CONFIG_SETTING (   m,
  k,
 
)
Value:
boundary_n = (start_n + wg_tile_n) > n ? n : (start_n + wg_tile_n); \
matrix_n = n; \
start_x_b = start_n; \
start_y_b = start_k;

◆ GEMM_CALL

#define GEMM_CALL (   id,
  acc_id,
  ptr_a,
  ptr_b 
)
Value:
mem_desc_a.init({ptr_a}, \
{boundary_k_##id, boundary_m, \
is_col_major_a ? matrix_m : matrix_k_##id}, \
{start_x_a, start_y_a}); \
mem_desc_b.init({ptr_b}, \
{boundary_n, boundary_k_##id, \
is_col_major_b ? matrix_k_##id : matrix_n}, \
{start_x_b, start_y_b}); \
gemm_args.init(mem_desc_a, mem_desc_b, inner_loop_count_##id); \
op(g, matAcc_##acc_id, gemm_args); \
SW_BARRIER();

◆ MATC_STORE

#define MATC_STORE (   ptr_c)
Value:
mem_desc_c.init( \
{ptr_c}, {boundary_n, boundary_m, matrix_n}, {start_n, start_m}); \
epilogue(g, matAcc_0, mem_desc_c, epilogue_args);