range_M[0] = 0;
i = arg -> m;
} else {
- range_M[0] = range_M[0];
- i = range_M[1] - range_M[0];
+ range_M[0] = range_m[0];
+ i = range_m[1] - range_m[0];
}
num_cpu_m = 0;
range_M[0] = 0;
i = arg -> m;
} else {
- range_M[0] = range_M[0];
- i = range_M[1] - range_M[0];
+ range_M[0] = range_m[0];
+ i = range_m[1] - range_m[0];
}
num_cpu_m = 0;
#if defined(ARCH_MIPS64)
void blas_set_parameter(void){
-#if defined(LOONGSON3A) || defined(LOONGSON3B)
+#if defined(LOONGSON3A)
#ifdef SMP
if(blas_num_threads == 1){
#endif
}
#endif
#endif
+
+#if defined(LOONGSON3B)
+#ifdef SMP
+ if(blas_num_threads == 1 || blas_num_threads == 2){
+#endif
+ //single thread
+ dgemm_r = 640;
+#ifdef SMP
+ }else{
+ //multi thread
+ dgemm_r = 160;
+ }
+#endif
+#endif
+
}
#endif
#define CGEMM_DEFAULT_Q 128
#define ZGEMM_DEFAULT_Q 80
-#define SGEMM_DEFAULT_R 1024
+#define SGEMM_DEFAULT_R 640
#define DGEMM_DEFAULT_R dgemm_r
-#define CGEMM_DEFAULT_R 1024
-#define ZGEMM_DEFAULT_R 1024
+#define CGEMM_DEFAULT_R 640
+#define ZGEMM_DEFAULT_R 640
#define GEMM_OFFSET_A1 0x10000
#define GEMM_OFFSET_B1 0x100000