diff --git a/src/nnet.c b/src/nnet.c index 28ebf26..84472ee 100644 --- a/src/nnet.c +++ b/src/nnet.c @@ -282,6 +282,10 @@ static void sparse_gemm_accum16(float *out, const float *weights, int rows, cons } #else + +#warning Compiling without any vectorization. This code will be very slow +#warning Try adding -mavx2 -mfma + static void gemm_accum16(float *out, const float *weights, int rows, int cols, int col_stride, const float *x) { int i, j; @@ -314,6 +318,40 @@ static void gemm_accum16(float *out, const float *weights, int rows, int cols, i } } } + +static void sparse_gemm_accum16(float *out, const float *w, int rows, const int *idx, const float *x) +{ + int i, j; + for (i=0;i