ergo
MM_kernel_outer_A< T_gemm_kernel, T_M_block, T_N_block >::Pack< T_rows_block, T_cols_block, T_ordering_block, T_pack_type_kernel >::Extract_from_packed< T_ordering_matrix > Struct Template Reference

#include <mm_kernel_outer_A.h>

Inheritance diagram for MM_kernel_outer_A< T_gemm_kernel, T_M_block, T_N_block >::Pack< T_rows_block, T_cols_block, T_ordering_block, T_pack_type_kernel >::Extract_from_packed< T_ordering_matrix >:

Public Types

typedef T_ordering_matrix Ordering_matrix
 
typedef T_gemm_kernel::real real
 Real number type (usually float or double)
 
typedef Ordering_col_wise Ordering_block_A
 
typedef Ordering_col_wise Ordering_block_B
 
typedef Ordering_col_wise Ordering_block_C
 
typedef Pack< M_block, K_block, Ordering_block_A, typename T_gemm_kernel::Pack_type_A > Pack_type_A
 
typedef Pack< K_block, N_block, Ordering_block_B, typename T_gemm_kernel::Pack_type_B > Pack_type_B
 
typedef Pack< M_block, N_block, Ordering_block_C, typename T_gemm_kernel::Pack_type_C > Pack_type_C
 

Static Public Member Functions

static void exec (real const *const *const A, real const *const *const B, real *const C, int const i=1)
 Executes the matrix-matrix multiply C += A B with the three matrices A, B, and C stored using the packing types of this class.
 

Static Public Attributes

static int const M_kernel
 Number of rows of A and C kernels.
 
static int const N_kernel
 Number of columns of B and C kernels.
 
static int const K_kernel
 Number of columns of A kernels and rows of B kernels.
 
static int const M_block
 Number of rows of A and C (blocks).
 
static int const N_block
 Number of columns of B and C (blocks).
 
static int const K_block
 Number of columns of A and rows of B (blocks).
 
static int const M
 Number of rows of A and C.
 
static int const N
 Number of columns of B and C.
 
static int const K
 Number of columns of A and rows of B.
 

Member Typedef Documentation

◆ Ordering_block_A

typedef Ordering_col_wise MM_kernel_outer_A< T_gemm_kernel, T_M_block, T_N_block >::Ordering_block_A

◆ Ordering_block_B

typedef Ordering_col_wise MM_kernel_outer_A< T_gemm_kernel, T_M_block, T_N_block >::Ordering_block_B

◆ Ordering_block_C

typedef Ordering_col_wise MM_kernel_outer_A< T_gemm_kernel, T_M_block, T_N_block >::Ordering_block_C

◆ Ordering_matrix

template<typename T_gemm_kernel, int T_M_block, int T_N_block>
template<int T_rows_block, int T_cols_block, typename T_ordering_block, typename T_pack_type_kernel>
template<typename T_ordering_matrix>
typedef T_ordering_matrix MM_kernel_outer_A< T_gemm_kernel, T_M_block, T_N_block >::Pack< T_rows_block, T_cols_block, T_ordering_block, T_pack_type_kernel >::Extract_from_packed< T_ordering_matrix >::Ordering_matrix

◆ Pack_type_A

typedef Pack< M_block, K_block, Ordering_block_A, typename T_gemm_kernel::Pack_type_A > MM_kernel_outer_A< T_gemm_kernel, T_M_block, T_N_block >::Pack_type_A

◆ Pack_type_B

typedef Pack< K_block, N_block, Ordering_block_B, typename T_gemm_kernel::Pack_type_B > MM_kernel_outer_A< T_gemm_kernel, T_M_block, T_N_block >::Pack_type_B

◆ Pack_type_C

typedef Pack< M_block, N_block, Ordering_block_C, typename T_gemm_kernel::Pack_type_C > MM_kernel_outer_A< T_gemm_kernel, T_M_block, T_N_block >::Pack_type_C

◆ real

typedef T_gemm_kernel::real MM_kernel_outer_A< T_gemm_kernel, T_M_block, T_N_block >::real

Real number type (usually float or double)

Member Function Documentation

◆ exec()

void MM_kernel_outer_A< T_gemm_kernel, T_M_block, T_N_block >::exec ( real const *const *const A,
real const *const *const B,
real *const C,
int const i = 1 )
static

Executes the matrix-matrix multiply C += A B with the three matrices A, B, and C stored using the packing types of this class.

Member Data Documentation

◆ K

int const MM_kernel_outer_A< T_gemm_kernel, T_M_block, T_N_block >::K
static

Number of columns of A and rows of B.

◆ K_block

int const MM_kernel_outer_A< T_gemm_kernel, T_M_block, T_N_block >::K_block
static

Number of columns of A and rows of B (blocks).

◆ K_kernel

int const MM_kernel_outer_A< T_gemm_kernel, T_M_block, T_N_block >::K_kernel
static

Number of columns of A kernels and rows of B kernels.

◆ M

int const MM_kernel_outer_A< T_gemm_kernel, T_M_block, T_N_block >::M
static

Number of rows of A and C.

◆ M_block

int const MM_kernel_outer_A< T_gemm_kernel, T_M_block, T_N_block >::M_block
static

Number of rows of A and C (blocks).

◆ M_kernel

int const MM_kernel_outer_A< T_gemm_kernel, T_M_block, T_N_block >::M_kernel
static

Number of rows of A and C kernels.

◆ N

int const MM_kernel_outer_A< T_gemm_kernel, T_M_block, T_N_block >::N
static

Number of columns of B and C.

◆ N_block

int const MM_kernel_outer_A< T_gemm_kernel, T_M_block, T_N_block >::N_block
static

Number of columns of B and C (blocks).

◆ N_kernel

int const MM_kernel_outer_A< T_gemm_kernel, T_M_block, T_N_block >::N_kernel
static

Number of columns of B and C kernels.


The documentation for this struct was generated from the following file: