From a2c4f52747a3d46be90259ed3e364928621e8b0a Mon Sep 17 00:00:00 2001 From: Florent Pruvost <florent.pruvost@inria.fr> Date: Mon, 15 Dec 2014 15:07:22 +0000 Subject: [PATCH] memset T to 0 for parfb on gpu --- testing/testing_zgels.c | 1 + timing/time_zgels.c | 3 ++- timing/time_zgels_tile.c | 1 + timing/time_zgeqrf.c | 5 +++-- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/testing/testing_zgels.c b/testing/testing_zgels.c index 8c6cdab6a..c8459baf0 100644 --- a/testing/testing_zgels.c +++ b/testing/testing_zgels.c @@ -271,6 +271,7 @@ int testing_zgels(int argc, char **argv) } MORSE_Alloc_Workspace_zgels(M, N, &T); + memset(T->mat, 0, (T->llm*T->lln)*sizeof(MORSE_Complex64_t)); eps = BLAS_dfpinfo( blas_eps ); /*---------------------------------------------------------- diff --git a/timing/time_zgels.c b/timing/time_zgels.c index 3b15552a3..63e80560e 100644 --- a/timing/time_zgels.c +++ b/timing/time_zgels.c @@ -29,7 +29,7 @@ RunTest(int *iparam, double *dparam, morse_time_t *t_) { MORSE_desc_t *T; PASTE_CODE_IPARAM_LOCALS( iparam ); - + if ( M != N ) { fprintf(stderr, "This timing works only with M == N\n"); return -1; @@ -46,6 +46,7 @@ RunTest(int *iparam, double *dparam, morse_time_t *t_) MORSE_zplrnt( M, NRHS, x, LDB, 5673 ); MORSE_Alloc_Workspace_zgels(M, N, &T); + memset(T->mat, 0, (T->llm*T->lln)*sizeof(MorseComplexDouble)); /* Save A and b */ if (check) { diff --git a/timing/time_zgels_tile.c b/timing/time_zgels_tile.c index 7f9b01e0e..db28d7be6 100644 --- a/timing/time_zgels_tile.c +++ b/timing/time_zgels_tile.c @@ -46,6 +46,7 @@ RunTest(int *iparam, double *dparam, morse_time_t *t_) /* Allocate Workspace */ MORSE_Alloc_Workspace_zgels_Tile(M, N, &descT); + memset(descT->mat, 0, (descT->llm*descT->lln)*sizeof(MorseComplexDouble)); /* Save A and B for check */ if (check == 1){ diff --git a/timing/time_zgeqrf.c b/timing/time_zgeqrf.c index 0bbbc97ef..c6e5dd34d 100644 --- a/timing/time_zgeqrf.c +++ b/timing/time_zgeqrf.c @@ -43,6 +43,7 @@ RunTest(int *iparam, double *dparam, morse_time_t *t_) /* Allocate Workspace */ MORSE_Alloc_Workspace_zgels(M, N, &T); + memset(T->mat, 0, (T->llm*T->lln)*sizeof(MorseComplexDouble)); /* Save AT in lapack layout for check */ PASTE_CODE_ALLOCATE_COPY( Acpy, check, MORSE_Complex64_t, A, LDA, N ); @@ -50,14 +51,14 @@ RunTest(int *iparam, double *dparam, morse_time_t *t_) START_TIMING(); MORSE_zgeqrf( M, N, A, LDA, T ); STOP_TIMING(); - + /* Check the solution */ if ( check ) { PASTE_CODE_ALLOCATE_MATRIX( X, 1, MORSE_Complex64_t, LDB, NRHS ); MORSE_zplrnt( N, NRHS, X, LDB, 5673 ); PASTE_CODE_ALLOCATE_COPY( B, 1, MORSE_Complex64_t, X, LDB, NRHS ); - + MORSE_zgeqrs(M, N, NRHS, A, LDA, T, X, LDB); dparam[IPARAM_RES] = z_check_solution(M, N, NRHS, Acpy, LDA, B, X, LDB, -- GitLab