From 88238905de663260d4b8d1e45ad3bfa3bcf6d1d8 Mon Sep 17 00:00:00 2001 From: Mathieu Faverge <mathieu.faverge@inria.fr> Date: Sat, 29 Jul 2017 00:25:30 +0200 Subject: [PATCH] Update HQR modules and files --- compute/pzgelqf_param.c | 7 +++---- compute/pzgeqrf_param.c | 7 +++---- compute/pzunglq_param.c | 7 +++---- compute/pzungqr_param.c | 7 +++---- compute/pzunmlq_param.c | 19 +++++++++---------- compute/pzunmqr_param.c | 19 +++++++++---------- hqr | 2 +- testing/testing_zgels_hqr.c | 8 ++++---- testing/testing_zgels_systolic.c | 12 ++++++------ 9 files changed, 41 insertions(+), 47 deletions(-) diff --git a/compute/pzgelqf_param.c b/compute/pzgelqf_param.c index bfe2c6d73..4ab23160f 100644 --- a/compute/pzgelqf_param.c +++ b/compute/pzgelqf_param.c @@ -83,8 +83,7 @@ void morse_pzgelqf_param( const libhqr_tree_t *qrtree, MORSE_desc_t *A, /* Initialisation of tiles */ - tiles = (int*)malloc((qrtree->mt)*sizeof(int)); - memset( tiles, 0, (qrtree->mt)*sizeof(int) ); + tiles = (int*)calloc(qrtree->mt, sizeof(int)); ws_worker *= sizeof(MORSE_Complex64_t); ws_host *= sizeof(MORSE_Complex64_t); @@ -140,9 +139,9 @@ void morse_pzgelqf_param( const libhqr_tree_t *qrtree, MORSE_desc_t *A, } /* Setting the order of the tiles */ - libhqr_treewalk(qrtree, k, tiles); + libhqr_walk_stepk( qrtree, k, tiles + (k+1) ); - for (i = k; i < A->nt-1; i++) { + for (i = k+1; i < A->nt; i++) { n = tiles[i]; p = qrtree->currpiv(qrtree, k, n); diff --git a/compute/pzgeqrf_param.c b/compute/pzgeqrf_param.c index feba0f364..945a07029 100644 --- a/compute/pzgeqrf_param.c +++ b/compute/pzgeqrf_param.c @@ -83,8 +83,7 @@ void morse_pzgeqrf_param( const libhqr_tree_t *qrtree, MORSE_desc_t *A, /* Initialisation of tiles */ - tiles = (int*)malloc((qrtree->mt)*sizeof(int)); - memset( tiles, 0, (qrtree->mt)*sizeof(int) ); + tiles = (int*)calloc(qrtree->mt, sizeof(int)); ws_worker *= sizeof(MORSE_Complex64_t); ws_host *= sizeof(MORSE_Complex64_t); @@ -139,9 +138,9 @@ void morse_pzgeqrf_param( const libhqr_tree_t *qrtree, MORSE_desc_t *A, } /* Setting the order of the tiles */ - libhqr_treewalk(qrtree, k, tiles); + libhqr_walk_stepk( qrtree, k, tiles + (k+1) ); - for (i = k; i < A->mt-1; i++) { + for (i = k+1; i < A->mt; i++) { m = tiles[i]; p = qrtree->currpiv(qrtree, k, m); diff --git a/compute/pzunglq_param.c b/compute/pzunglq_param.c index 91aad1791..4a5d7c21c 100644 --- a/compute/pzunglq_param.c +++ b/compute/pzunglq_param.c @@ -79,8 +79,7 @@ void morse_pzunglq_param(const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE_des /* Initialisation of tiles */ - tiles = (int*)malloc((qrtree->mt)*sizeof(int)); - memset( tiles, 0, (qrtree->mt)*sizeof(int) ); + tiles = (int*)calloc( qrtree->mt, sizeof(int)); ws_worker *= sizeof(MORSE_Complex64_t); ws_host *= sizeof(MORSE_Complex64_t); @@ -96,9 +95,9 @@ void morse_pzunglq_param(const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE_des ldak = BLKLDD(A, k); /* Setting the order of the tiles*/ - libhqr_treewalk(qrtree, k, tiles); + libhqr_walk_stepk(qrtree, k, tiles + (k+1)); - for (i = A->nt-2; i >= k; i--) { + for (i = A->nt-1; i > k; i--) { n = tiles[i]; p = qrtree->currpiv(qrtree, k, n); diff --git a/compute/pzungqr_param.c b/compute/pzungqr_param.c index eaa3b753d..d5a3169d7 100644 --- a/compute/pzungqr_param.c +++ b/compute/pzungqr_param.c @@ -85,8 +85,7 @@ void morse_pzungqr_param(const libhqr_tree_t *qrtree, /* Initialisation of tiles */ - tiles = (int*)malloc((qrtree->mt)*sizeof(int)); - memset( tiles, 0, (qrtree->mt)*sizeof(int) ); + tiles = (int*)calloc(qrtree->mt, sizeof(int)); ws_worker *= sizeof(MORSE_Complex64_t); ws_host *= sizeof(MORSE_Complex64_t); @@ -99,9 +98,9 @@ void morse_pzungqr_param(const libhqr_tree_t *qrtree, tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; /* Setting the order of tiles */ - libhqr_treewalk(qrtree, k, tiles); + libhqr_walk_stepk(qrtree, k, tiles + (k+1)); - for (i = Q->mt - 2; i >= k; i--) { + for (i = Q->mt-1; i > k; i--) { m = tiles[i]; p = qrtree->currpiv(qrtree, k, m); diff --git a/compute/pzunmlq_param.c b/compute/pzunmlq_param.c index 1763d7fad..10731ba05 100644 --- a/compute/pzunmlq_param.c +++ b/compute/pzunmlq_param.c @@ -81,8 +81,7 @@ void morse_pzunmlq_param(const libhqr_tree_t *qrtree, #endif /* Initialisation of tiles */ - tiles = (int*)malloc((qrtree->mt)*sizeof(int)); - memset( tiles, 0, (qrtree->mt)*sizeof(int) ); + tiles = (int*)calloc( qrtree->mt, sizeof(int) ); ws_worker *= sizeof(MORSE_Complex64_t); ws_host *= sizeof(MORSE_Complex64_t); @@ -134,9 +133,9 @@ void morse_pzunmlq_param(const libhqr_tree_t *qrtree, } /* Setting the order of the tiles*/ - libhqr_treewalk(qrtree, k, tiles); + libhqr_walk_stepk(qrtree, k, tiles + (k+1)); - for (i = k; i < A->nt-1; i++) { + for (i = k+1; i < A->nt; i++) { m = tiles[i]; p = qrtree->currpiv(qrtree, k, m); @@ -187,9 +186,9 @@ void morse_pzunmlq_param(const libhqr_tree_t *qrtree, ldak = BLKLDD(A, k); /* Setting the order of the tiles*/ - libhqr_treewalk(qrtree, k, tiles); + libhqr_walk_stepk(qrtree, k, tiles + (k+1)); - for (i = A->nt-2; i >= k; i--) { + for (i = A->nt-1; i > k; i--) { m = tiles[i]; p = qrtree->currpiv(qrtree, k, m); @@ -272,9 +271,9 @@ void morse_pzunmlq_param(const libhqr_tree_t *qrtree, ldak = BLKLDD(A, k); /* Setting the order of the tiles*/ - libhqr_treewalk(qrtree, k, tiles); + libhqr_walk_stepk(qrtree, k, tiles + (k+1)); - for (i = A->nt-2; i >= k; i--) { + for (i = A->nt-1; i > k; i--) { n = tiles[i]; p = qrtree->currpiv(qrtree, k, n); @@ -389,9 +388,9 @@ void morse_pzunmlq_param(const libhqr_tree_t *qrtree, } } /* Setting the order of tiles */ - libhqr_treewalk(qrtree, k, tiles); + libhqr_walk_stepk(qrtree, k, tiles + (k+1)); - for (i = k; i < A->nt-1; i++) { + for (i = k+1; i < A->nt; i++) { n = tiles[i]; p = qrtree->currpiv(qrtree, k, n); diff --git a/compute/pzunmqr_param.c b/compute/pzunmqr_param.c index ab5f3a7fb..6dc3e7dac 100644 --- a/compute/pzunmqr_param.c +++ b/compute/pzunmqr_param.c @@ -81,8 +81,7 @@ void morse_pzunmqr_param(const libhqr_tree_t *qrtree, /* Initialisation of tiles */ - tiles = (int*)malloc((qrtree->mt)*sizeof(int)); - memset( tiles, 0, (qrtree->mt)*sizeof(int) ); + tiles = (int*)calloc( qrtree->mt, sizeof(int) ); ws_worker *= sizeof(MORSE_Complex64_t); ws_host *= sizeof(MORSE_Complex64_t); @@ -133,9 +132,9 @@ void morse_pzunmqr_param(const libhqr_tree_t *qrtree, } } /* Setting the order of the tiles*/ - libhqr_treewalk(qrtree, k, tiles); + libhqr_walk_stepk(qrtree, k, tiles + (k+1)); - for (i = k; i < B->mt-1; i++) { + for (i = k+1; i < B->mt; i++) { m = tiles[i]; p = qrtree->currpiv(qrtree, k, m); @@ -182,9 +181,9 @@ void morse_pzunmqr_param(const libhqr_tree_t *qrtree, tempkn = k == A->nt-1 ? A->n-k*A->nb : A->nb; /* Setting the order of the tiles*/ - libhqr_treewalk(qrtree, k, tiles); + libhqr_walk_stepk(qrtree, k, tiles + (k+1)); - for (i = B->mt-2; i >= k; i--) { + for (i = B->mt-1; i > k; i--) { m = tiles[i]; p = qrtree->currpiv(qrtree, k, m); @@ -269,9 +268,9 @@ void morse_pzunmqr_param(const libhqr_tree_t *qrtree, tempkn = k == A->nt-1 ? A->n - k*A->nb : A->nb; /* Setting the order of tiles */ - libhqr_treewalk(qrtree, k, tiles); + libhqr_walk_stepk(qrtree, k, tiles + (k+1)); - for (i = B->nt-2; i >= k; i--) { + for (i = B->nt-1; i > k; i--) { n = tiles[i]; p = qrtree->currpiv(qrtree, k, n); @@ -388,9 +387,9 @@ void morse_pzunmqr_param(const libhqr_tree_t *qrtree, } } /* Setting the order of tiles */ - libhqr_treewalk(qrtree, k, tiles); + libhqr_walk_stepk(qrtree, k, tiles + (k+1)); - for (i = k; i < B->nt-1; i++) { + for (i = k+1; i < B->nt; i++) { n = tiles[i]; p = qrtree->currpiv(qrtree, k, n); diff --git a/hqr b/hqr index d11ed5ef4..95de89897 160000 --- a/hqr +++ b/hqr @@ -1 +1 @@ -Subproject commit d11ed5ef457af3ebb6556e8ec2b4c3744e8688c0 +Subproject commit 95de89897e6221e48e29b34bc47b8a1ba92621e7 diff --git a/testing/testing_zgels_hqr.c b/testing/testing_zgels_hqr.c index fd9de2753..b155ffb9b 100644 --- a/testing/testing_zgels_hqr.c +++ b/testing/testing_zgels_hqr.c @@ -77,8 +77,8 @@ int testing_zgels_hqr(int argc, char **argv) int llvl = atoi(argv[7]); int hlvl = atoi(argv[8]); int domino = atoi(argv[9]); - libhqr_tree_t qrtree; - libhqr_tiledesc_t matrix; + libhqr_tree_t qrtree; + libhqr_matrix_t matrix; int K = min(M, N); double eps; @@ -117,7 +117,7 @@ int testing_zgels_hqr(int argc, char **argv) matrix.nodes = 1; matrix.p = 1; - libhqr_hqr_init( &qrtree, + libhqr_init_hqr( &qrtree, ( M >= N ) ? LIBHQR_QR : LIBHQR_LQ, &matrix, llvl, hlvl, qr_a, qr_p, domino, 0); @@ -322,7 +322,7 @@ int testing_zgels_hqr(int argc, char **argv) } } - libhqr_matrix_finalize( &qrtree ); + libhqr_finalize( &qrtree ); free(A1); free(A2); free(B1); free(B2); free(Q); MORSE_Dealloc_Workspace( &TS ); diff --git a/testing/testing_zgels_systolic.c b/testing/testing_zgels_systolic.c index fce16bfc8..a3d78696d 100644 --- a/testing/testing_zgels_systolic.c +++ b/testing/testing_zgels_systolic.c @@ -71,8 +71,8 @@ int testing_zgels_systolic(int argc, char **argv) int LDB = max( max( atoi(argv[4]), M ), N ); int p = atoi(argv[5]); int q = atoi(argv[6]); - libhqr_tree_t qrtree; - libhqr_tiledesc_t matrix; + libhqr_tree_t qrtree; + libhqr_matrix_t matrix; int K = min(M, N); double eps; @@ -111,9 +111,9 @@ int testing_zgels_systolic(int argc, char **argv) matrix.nodes = 1; matrix.p = 1; - libhqr_systolic_init( &qrtree, - ( M >= N ) ? LIBHQR_QR : LIBHQR_LQ, - &matrix, p, q ); + libhqr_init_sys( &qrtree, + ( M >= N ) ? LIBHQR_QR : LIBHQR_LQ, + &matrix, p, q ); /* Initialize A1 and A2 */ LAPACKE_zlarnv_work(IONE, ISEED, LDAxN, A1); @@ -320,7 +320,7 @@ int testing_zgels_systolic(int argc, char **argv) } } - libhqr_matrix_finalize( &qrtree ); + libhqr_finalize( &qrtree ); free(A1); free(A2); free(B1); free(B2); free(Q); MORSE_Dealloc_Workspace( &TS ); -- GitLab