From 0c6309d24e9858f3bb11a08d663c02718f55058d Mon Sep 17 00:00:00 2001 From: Mathieu Faverge <mathieu.faverge@inria.fr> Date: Fri, 6 May 2022 15:50:22 +0200 Subject: [PATCH] qr/lq: update the calls to qr/lq factorization algorithms --- compute/pzlatms.c | 2 +- compute/zgelqf_param.c | 11 ++++++++++- compute/zgels_param.c | 2 +- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/compute/pzlatms.c b/compute/pzlatms.c index 58a5fd9f7..efa044b46 100644 --- a/compute/pzlatms.c +++ b/compute/pzlatms.c @@ -291,7 +291,7 @@ void chameleon_pzlatms( cham_dist_t idist, unsigned long long int seed, cham_sym NULL, NULL, NULL ); /* V <= qr(V) */ - chameleon_pzgelqf_param( 1, &qrtree, &descV, + chameleon_pzgelqf_param( 1, kt, &qrtree, &descV, &descTS, &descTT, descDptr, sequence, request ); /* A <= (U * D) * V */ diff --git a/compute/zgelqf_param.c b/compute/zgelqf_param.c index f1a346995..7b2a14d3c 100644 --- a/compute/zgelqf_param.c +++ b/compute/zgelqf_param.c @@ -235,6 +235,7 @@ int CHAMELEON_zgelqf_param_Tile_Async( const libhqr_tree_t *qrtree, CHAM_desc_t { CHAM_context_t *chamctxt; CHAM_desc_t D, *Dptr = NULL; + int KT; chamctxt = chameleon_context_self(); if (chamctxt == NULL) { @@ -280,6 +281,14 @@ int CHAMELEON_zgelqf_param_Tile_Async( const libhqr_tree_t *qrtree, CHAM_desc_t if (chameleon_min(M, N) == 0) return CHAMELEON_SUCCESS; */ + + if ( A->m < A->n ) { + KT = A->mt; + } + else { + KT = A->nt; + } + #if defined(CHAMELEON_COPY_DIAG) { int m = chameleon_min( A->m, A->n ); @@ -288,7 +297,7 @@ int CHAMELEON_zgelqf_param_Tile_Async( const libhqr_tree_t *qrtree, CHAM_desc_t } #endif - chameleon_pzgelqf_param( 1, qrtree, A, TS, TT, Dptr, sequence, request ); + chameleon_pzgelqf_param( 1, KT, qrtree, A, TS, TT, Dptr, sequence, request ); if (Dptr != NULL) { CHAMELEON_Desc_Flush( A, sequence ); CHAMELEON_Desc_Flush( TS, sequence ); diff --git a/compute/zgels_param.c b/compute/zgels_param.c index 3d1b9c782..c029a67a9 100644 --- a/compute/zgels_param.c +++ b/compute/zgels_param.c @@ -434,7 +434,7 @@ int CHAMELEON_zgels_param_Tile_Async( const libhqr_tree_t *qrtree, cham_trans_t /* * Compute LQ factorization of A */ - chameleon_pzgelqf_param( 1, qrtree, A, TS, TT, Dptr, sequence, request ); + chameleon_pzgelqf_param( 1, A->mt, qrtree, A, TS, TT, Dptr, sequence, request ); /* Perform the solve part */ if ( trans == ChamNoTrans ) { -- GitLab