Expression Templates Library (ETL)
Macros | Functions
gemm_rr_to_r.hpp File Reference

Kernels for row-major matrix - row-major matrix multiplication and assignment to a row-major matrix. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

template<typename V , typename T >
void etl::impl::vec::gemm_small_kernel_rr_to_r (const T *a, const T *b, T *ETL_RESTRICT c, size_t M, size_t N, size_t K, T alpha)
 Optimized version of small GEMM for row major version. More...
 
template<typename V , typename T >
void etl::impl::vec::gemm_large_kernel_rr_to_r (const T *a, const T *b, T *ETL_RESTRICT c, size_t M, size_t N, size_t K, T alpha, T beta)
 Optimized version of large GEMM for row major version. More...
 
template<size_t vec_size>
constexpr size_t etl::impl::vec::prev_vec_block (size_t value) noexcept
 
template<typename V , typename T >
void etl::impl::vec::gemm_large_kernel_rr_to_r_temp (const T *a, const T *b, T *ETL_RESTRICT c, size_t M, size_t N, size_t K, T alpha, T beta)
 Optimized version of large GEMM for row major version. More...
 
template<typename T >
void etl::impl::vec::gemm_rr_to_r (const T *a, const T *b, T *c, size_t M, size_t N, size_t K, T alpha)
 Vectorized implementation of row-major matrix - row-major matrix multiplication and assignment into a row-major matrix. More...
 

Detailed Description

Kernels for row-major matrix - row-major matrix multiplication and assignment to a row-major matrix.

Function Documentation

◆ gemm_large_kernel_rr_to_r()

template<typename V , typename T >
void etl::impl::vec::gemm_large_kernel_rr_to_r ( const T *  a,
const T *  b,
T *ETL_RESTRICT  c,
size_t  M,
size_t  N,
size_t  K,
alpha,
beta 
)

Optimized version of large GEMM for row major version.

Parameters
aThe lhs matrix
bThe rhs matrix
cThe result matrix
betaThe multipliying of the previous value

◆ gemm_large_kernel_rr_to_r_temp()

template<typename V , typename T >
void etl::impl::vec::gemm_large_kernel_rr_to_r_temp ( const T *  a,
const T *  b,
T *ETL_RESTRICT  c,
size_t  M,
size_t  N,
size_t  K,
alpha,
beta 
)

Optimized version of large GEMM for row major version.

Parameters
aThe lhs matrix
bThe rhs matrix
cThe result matrix
betaThe multipliying of the previous value

◆ gemm_rr_to_r()

template<typename T >
void etl::impl::vec::gemm_rr_to_r ( const T *  a,
const T *  b,
T *  c,
size_t  M,
size_t  N,
size_t  K,
alpha 
)

Vectorized implementation of row-major matrix - row-major matrix multiplication and assignment into a row-major matrix.

Parameters
aThe lhs matrix
bThe rhs matrix
cThe result matrix
MThe number of rows of the matrix A and rows of the matrix C
NThe number of columns of the matrix B and columns of the matrix C
KThe number of columns of the matrix A and rows of the matrix B

◆ gemm_small_kernel_rr_to_r()

template<typename V , typename T >
void etl::impl::vec::gemm_small_kernel_rr_to_r ( const T *  a,
const T *  b,
T *ETL_RESTRICT  c,
size_t  M,
size_t  N,
size_t  K,
alpha 
)

Optimized version of small GEMM for row major version.

Parameters
aThe lhs matrix
bThe rhs matrix
cThe result matrix