source/matrix/gemm_sse/gemm_sse.h File Reference

Generalized matrix matrix multiplication using SSE intrinsics. More...

#include <stdexcept>
#include "mm_kernel_inner_sse2_A.h"
#include "mm_kernel_outer_A.h"

Go to the source code of this file.

Functions

template<typename real , typename regType , int m_kernel, int n_kernel, int k_kernel, int m_block, int n_block>
static void gemm_sse (real const *const A, real const *const B, real *C, size_t const m, size_t const n, size_t const k, real *A_packed, real *B_packed, real *C_packed, size_t const ap_size, size_t const bp_size, size_t const cp_size)
template<typename real >
static void gemm_sse (real const *const A, real const *const B, real *C, size_t const m, size_t const n, size_t const k, real *A_packed, real *B_packed, real *C_packed, size_t const ap_size, size_t const bp_size, size_t const cp_size)
template<>
void gemm_sse (double const *const A, double const *const B, double *C, size_t const m, size_t const n, size_t const k, double *A_packed, double *B_packed, double *C_packed, size_t const ap_size, size_t const bp_size, size_t const cp_size)
template<>
void gemm_sse (float const *const A, float const *const B, float *C, size_t const m, size_t const n, size_t const k, float *A_packed, float *B_packed, float *C_packed, size_t const ap_size, size_t const bp_size, size_t const cp_size)

Detailed Description

Generalized matrix matrix multiplication using SSE intrinsics.

Author:
Emanuel H. Rubensson
Date:
2009

Function Documentation

template<>
void gemm_sse ( float const *const   A,
float const *const   B,
float *  C,
size_t const   m,
size_t const   n,
size_t const   k,
float *  A_packed,
float *  B_packed,
float *  C_packed,
size_t const   ap_size,
size_t const   bp_size,
size_t const   cp_size 
) [inline]
template<>
void gemm_sse ( double const *const   A,
double const *const   B,
double *  C,
size_t const   m,
size_t const   n,
size_t const   k,
double *  A_packed,
double *  B_packed,
double *  C_packed,
size_t const   ap_size,
size_t const   bp_size,
size_t const   cp_size 
) [inline]
template<typename real >
static void gemm_sse ( real const *const   A,
real const *const   B,
real C,
size_t const   m,
size_t const   n,
size_t const   k,
real A_packed,
real B_packed,
real C_packed,
size_t const   ap_size,
size_t const   bp_size,
size_t const   cp_size 
) [inline, static]
template<typename real , typename regType , int m_kernel, int n_kernel, int k_kernel, int m_block, int n_block>
static void gemm_sse ( real const *const   A,
real const *const   B,
real C,
size_t const   m,
size_t const   n,
size_t const   k,
real A_packed,
real B_packed,
real C_packed,
size_t const   ap_size,
size_t const   bp_size,
size_t const   cp_size 
) [inline, static]

Generated on 10 Jul 2018 for ergo by  doxygen 1.6.1