From b414283f48f50fe195601fa83650d0531eebe9b3 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Sun, 3 Dec 2017 22:41:54 +0100 Subject: [PATCH] Disable gemv unrolling as a (hopefully temporary) workaround for #1332 --- driver/level2/trmv_U.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/driver/level2/trmv_U.c b/driver/level2/trmv_U.c index a0aa7ef..7f8895e 100644 --- a/driver/level2/trmv_U.c +++ b/driver/level2/trmv_U.c @@ -54,12 +54,16 @@ int CNAME(BLASLONG m, FLOAT *a, BLASLONG lda, FLOAT *b, BLASLONG incb, FLOAT *bu COPY_K(m, b, incb, buffer, 1); } - for (is = 0; is < m; is += DTB_ENTRIES){ +/*FIXME the GEMV unrolling performed here was found to be broken, see issue 1332 */ +/* Multiplying DTB size by 100 is just a quick-and-dirty hack to disable it for now[B */ - min_i = MIN(m - is, DTB_ENTRIES); + for (is = 0; is < m; is += DTB_ENTRIES * 100){ + + min_i = MIN(m - is, DTB_ENTRIES * 100); #ifndef TRANSA if (is > 0){ +fprintf(stderr,"WARNING unrolling of the trmv_U loop may give wrong results\n"); GEMV_N(is, min_i, 0, dp1, a + is * lda, lda, B + is, 1, -- 2.7.4