HMLP: High-performance Machine Learning Primitives
rank_k_asm_d6x8 Struct Reference

#include <rank_k_d6x8.hpp>

Public Member Functions

void operator() (int k, double *a, double *b, int len, double **c, int ldc, double *alpha, aux_s< double, double, double, double > *aux) const
 
void operator() (int k, double *a, double *b, double *c, int ldc, aux_s< double, double, double, double > *aux) const
 
 STRA_OPERATOR (double) const
 
 GEMM_OPERATOR (double) const
 
template<typename TC >
void operator() (dim_t k, double *a, double *b, TC *c, double *v, inc_t rs_v, inc_t cs_v, aux_s< double, double, TC, double > *aux)
 

Static Public Attributes

static const size_t mr = 6
 
static const size_t nr = 8
 
static const size_t pack_mr = 6
 
static const size_t pack_nr = 8
 
static const size_t align_size = 32
 
static const bool row_major = false
 

Detailed Description

end struct rank_k_asm_s6x16

Member Function Documentation

rank_k_asm_d6x8::GEMM_OPERATOR ( double  ) const
inline

if this is the first kc iteration then beta = 1.0

invoke blis kernel

template<typename TC >
void rank_k_asm_d6x8::operator() ( dim_t  k,
double *  a,
double *  b,
TC *  c,
double *  v,
inc_t  rs_v,
inc_t  cs_v,
aux_s< double, double, TC, double > *  aux 
)
inline

if this is the first kc iteration then beta = 1.0

allocate temporary buffer

invoke blis kernel

If TC is not MatrixLike<PACK_MR,double,double>, we treat this the same as the edge case.


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