From 8e50c2656af9ca2947c2852e8509b118550bc41e Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Sat, 9 Dec 2017 18:53:33 +0100 Subject: [PATCH] Calculation of chunk range limits was ignoring num_cpu bug introduced by me in #1262 --- driver/level2/tbmv_thread.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/driver/level2/tbmv_thread.c b/driver/level2/tbmv_thread.c index 35e5ff1cd..67109b53f 100644 --- a/driver/level2/tbmv_thread.c +++ b/driver/level2/tbmv_thread.c @@ -288,7 +288,7 @@ int CNAME(BLASLONG n, BLASLONG k, FLOAT *a, BLASLONG lda, FLOAT *x, BLASLONG inc 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 = trmv_kernel; @@ -328,7 +328,7 @@ int CNAME(BLASLONG n, BLASLONG k, FLOAT *a, BLASLONG lda, FLOAT *x, BLASLONG inc 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 = trmv_kernel; @@ -358,7 +358,7 @@ int CNAME(BLASLONG n, BLASLONG k, FLOAT *a, BLASLONG lda, FLOAT *x, BLASLONG inc 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 = trmv_kernel;