diff --git a/driver/level2/sbmv_thread.c b/driver/level2/sbmv_thread.c index e59451c5a..50efa350a 100644 --- a/driver/level2/sbmv_thread.c +++ b/driver/level2/sbmv_thread.c @@ -246,7 +246,7 @@ int CNAME(BLASLONG n, BLASLONG k, FLOAT *alpha, FLOAT *a, BLASLONG lda, FLOAT *x range_m[MAX_CPU_NUMBER - num_cpu - 1] = range_m[MAX_CPU_NUMBER - num_cpu] - width; range_n[num_cpu] = num_cpu * (((n + 15) & ~15) + 16); - if (range_n[num_cpu] > n) range_n[num_cpu] = n; + if (range_n[num_cpu] > n * num_cpu) range_n[num_cpu] = n * num_cpu; queue[num_cpu].mode = mode; queue[num_cpu].routine = sbmv_kernel; @@ -286,7 +286,7 @@ int CNAME(BLASLONG n, BLASLONG k, FLOAT *alpha, FLOAT *a, BLASLONG lda, FLOAT *x range_m[num_cpu + 1] = range_m[num_cpu] + width; range_n[num_cpu] = num_cpu * (((n + 15) & ~15) + 16); - if (range_n[num_cpu] > n) range_n[num_cpu] = n; + if (range_n[num_cpu] > n * num_cpu) range_n[num_cpu] = n * num_cpu; queue[num_cpu].mode = mode; queue[num_cpu].routine = sbmv_kernel; @@ -318,7 +318,7 @@ int CNAME(BLASLONG n, BLASLONG k, FLOAT *alpha, FLOAT *a, BLASLONG lda, FLOAT *x range_m[num_cpu + 1] = range_m[num_cpu] + width; range_n[num_cpu] = num_cpu * ((n + 15) & ~15); - if (range_n[num_cpu] > n) range_n[num_cpu] = n; + if (range_n[num_cpu] > n * num_cpu) range_n[num_cpu] = n * num_cpu; queue[num_cpu].mode = mode; queue[num_cpu].routine = sbmv_kernel;