3 #include <hmlp_internal.hpp> 6 BLIS_GEMM_KERNEL(bli_sgemm_opt_12x32_l2,
float);
7 BLIS_GEMM_KERNEL(bli_dgemm_opt_6x32_l2,
double);
13 const size_t pack_mr = 12;
14 const size_t pack_nr = 32;
15 const size_t align_size = 64;
16 const bool row_major =
true;
18 inline void operator()
23 float *b,
float *bb,
int *bmap,
25 float *Keys,
int *Values,
int ldr,
29 float ctmp[ mr * nr ];
32 float beta = aux->pc ? 1.0 : 0.0;
37 bli_sgemm_opt_12x32_l2
48 for (
size_t i = 0; i < aux->ib; i ++ )
50 for (
size_t j = 0; j < aux->jb; j ++ )
52 c[ i * nr + j ] = aa[ i ] - 2.0 * c[ i * nr + j ] + bb[ j ];
53 c[ i * nr + j ] = std::max( c[ i * nr + j ], 0 );
55 hmlp::heap_select<float>
72 const size_t pack_mr = 8;
73 const size_t pack_nr = 4;
74 const size_t align_size = 32;
75 const bool row_major =
true;
77 inline void operator()
81 double *a,
double *aa,
82 double *b,
double *bb,
int *bmap,
84 double *Keys,
int *Values,
int ldr,
Definition: knn_d6x32.hpp:68
Definition: knn_d6x32.hpp:9
Definition: hmlp_internal.hpp:38