From e11298007310a260ce14d95c8b48d50793554ec2 Mon Sep 17 00:00:00 2001 From: Mathieu Faverge <mathieu.faverge@inria.fr> Date: Mon, 22 Jan 2018 19:28:47 +0100 Subject: [PATCH] Add cleanup --- compute/zbuild.c | 4 +++- compute/zgeadd.c | 5 +++-- compute/zgelqf.c | 5 +++-- compute/zgelqf_param.c | 5 +++-- compute/zgelqs.c | 7 ++++--- compute/zgelqs_param.c | 7 ++++--- compute/zgels.c | 7 ++++--- compute/zgels_param.c | 7 ++++--- compute/zgemm.c | 7 ++++--- compute/zgeqrf.c | 5 +++-- compute/zgeqrf_param.c | 5 +++-- compute/zgeqrs.c | 7 ++++--- compute/zgeqrs_param.c | 7 ++++--- compute/zgesv_incpiv.c | 5 +++-- compute/zgesv_nopiv.c | 5 +++-- compute/zgesvd.c | 7 ++++--- compute/zgetrf_incpiv.c | 3 ++- compute/zgetrf_nopiv.c | 3 ++- compute/zgetrs_incpiv.c | 5 +++-- compute/zgetrs_nopiv.c | 5 +++-- compute/zheevd.c | 12 +++++++----- compute/zhemm.c | 7 ++++--- compute/zher2k.c | 7 ++++--- compute/zherk.c | 5 +++-- compute/zhetrd.c | 7 ++++--- compute/zlacpy.c | 5 +++-- compute/zlange.c | 3 ++- compute/zlanhe.c | 3 ++- compute/zlansy.c | 3 ++- compute/zlantr.c | 3 ++- compute/zlascal.c | 2 +- compute/zlaset.c | 3 ++- compute/zlauum.c | 3 ++- compute/zplghe.c | 3 ++- compute/zplgsy.c | 3 ++- compute/zplrnt.c | 3 ++- compute/zposv.c | 5 +++-- compute/zpotri.c | 3 ++- compute/zpotrimm.c | 7 ++++--- compute/zpotrs.c | 5 +++-- compute/zsymm.c | 7 ++++--- compute/zsyr2k.c | 7 ++++--- compute/zsyrk.c | 5 +++-- compute/zsysv.c | 5 +++-- compute/zsytrf.c | 3 ++- compute/zsytrs.c | 5 +++-- compute/ztpgqrt.c | 11 ++++++----- compute/ztpqrt.c | 5 +++-- compute/ztradd.c | 5 +++-- compute/ztrmm.c | 5 +++-- compute/ztrsm.c | 5 +++-- compute/ztrsmpl.c | 5 +++-- compute/ztrtri.c | 3 ++- compute/zunglq.c | 7 ++++--- compute/zunglq_param.c | 7 ++++--- compute/zungqr.c | 7 ++++--- compute/zungqr_param.c | 7 ++++--- compute/zunmlq.c | 7 ++++--- compute/zunmlq_param.c | 7 ++++--- compute/zunmqr.c | 7 ++++--- compute/zunmqr_param.c | 7 ++++--- 61 files changed, 196 insertions(+), 134 deletions(-) diff --git a/compute/zbuild.c b/compute/zbuild.c index 24e03410e..5256ff049 100644 --- a/compute/zbuild.c +++ b/compute/zbuild.c @@ -130,12 +130,14 @@ int MORSE_zbuild( MORSE_enum uplo, int M, int N, /* Call the tile interface */ MORSE_zbuild_Tile_Async(uplo, &descA, user_data, user_build_callback, sequence, &request ); + /* Submit the matrix conversion back */ morse_ztile2lap( morse, &descAl, &descAt, MorseUpperLower, sequence, &request ); morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); status = sequence->status; morse_sequence_destroy(morse, sequence); diff --git a/compute/zgeadd.c b/compute/zgeadd.c index 501e5e42e..0d26a7cdf 100644 --- a/compute/zgeadd.c +++ b/compute/zgeadd.c @@ -169,8 +169,9 @@ int MORSE_zgeadd(MORSE_enum trans, int M, int N, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); - morse_desc_mat_free(&descB); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + morse_ztile2lap_cleanup( morse, &descBl, &descBt ); status = sequence->status; morse_sequence_destroy(morse, sequence); diff --git a/compute/zgelqf.c b/compute/zgelqf.c index 6047b801e..fc257fd5c 100644 --- a/compute/zgelqf.c +++ b/compute/zgelqf.c @@ -135,7 +135,8 @@ int MORSE_zgelqf(int M, int N, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); status = sequence->status; morse_sequence_destroy(morse, sequence); @@ -292,7 +293,7 @@ int MORSE_zgelqf_Tile_Async(MORSE_desc_t *A, MORSE_desc_t *T, morse_pzgelqfrh(A, T, Dptr, MORSE_RHBLK, sequence, request); } if (Dptr != NULL) { - morse_desc_mat_free(Dptr); + morse_ztile2lap_cleanup( morse, &Dptrl, &Dptrt ); } (void)D; return MORSE_SUCCESS; diff --git a/compute/zgelqf_param.c b/compute/zgelqf_param.c index 2c90ef470..0f1632a74 100644 --- a/compute/zgelqf_param.c +++ b/compute/zgelqf_param.c @@ -132,7 +132,8 @@ int MORSE_zgelqf_param(const libhqr_tree_t *qrtree, int M, int N, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); status = sequence->status; morse_sequence_destroy(morse, sequence); @@ -288,7 +289,7 @@ int MORSE_zgelqf_param_Tile_Async(const libhqr_tree_t *qrtree, MORSE_desc_t *A, morse_pzgelqf_param(qrtree, A, TS, TT, Dptr, sequence, request); if (Dptr != NULL) { - morse_desc_mat_free(Dptr); + morse_ztile2lap_cleanup( morse, &Dptrl, &Dptrt ); } (void)D; return MORSE_SUCCESS; diff --git a/compute/zgelqs.c b/compute/zgelqs.c index 290a3627a..b57f6557c 100644 --- a/compute/zgelqs.c +++ b/compute/zgelqs.c @@ -154,8 +154,9 @@ int MORSE_zgelqs(int M, int N, int NRHS, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); - morse_desc_mat_free(&descB); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + morse_ztile2lap_cleanup( morse, &descBl, &descBt ); status = sequence->status; morse_sequence_destroy(morse, sequence); @@ -332,7 +333,7 @@ int MORSE_zgelqs_Tile_Async(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *B, } if (Dptr != NULL) { - morse_desc_mat_free(Dptr); + morse_ztile2lap_cleanup( morse, &Dptrl, &Dptrt ); } (void)D; return MORSE_SUCCESS; diff --git a/compute/zgelqs_param.c b/compute/zgelqs_param.c index e2efe30d1..d3c83ff56 100644 --- a/compute/zgelqs_param.c +++ b/compute/zgelqs_param.c @@ -156,8 +156,9 @@ int MORSE_zgelqs_param(const libhqr_tree_t *qrtree, int M, int N, int NRHS, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); - morse_desc_mat_free(&descB); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + morse_ztile2lap_cleanup( morse, &descBl, &descBt ); status = sequence->status; morse_sequence_destroy(morse, sequence); @@ -335,7 +336,7 @@ int MORSE_zgelqs_param_Tile_Async(const libhqr_tree_t *qrtree, MORSE_desc_t *A, morse_pzunmlq_param(qrtree, MorseLeft, MorseConjTrans, A, B, TS, TT, Dptr, sequence, request); if (Dptr != NULL) { - morse_desc_mat_free(Dptr); + morse_ztile2lap_cleanup( morse, &Dptrl, &Dptrt ); } (void)D; return MORSE_SUCCESS; diff --git a/compute/zgels.c b/compute/zgels.c index 885d1e3de..cc8497c1f 100644 --- a/compute/zgels.c +++ b/compute/zgels.c @@ -196,8 +196,9 @@ int MORSE_zgels(MORSE_enum trans, int M, int N, int NRHS, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); - morse_desc_mat_free(&descB); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + morse_ztile2lap_cleanup( morse, &descBl, &descBt ); status = sequence->status; morse_sequence_destroy(morse, sequence); @@ -428,7 +429,7 @@ int MORSE_zgels_Tile_Async(MORSE_enum trans, MORSE_desc_t *A, free(subB); if (Dptr != NULL) { - morse_desc_mat_free(Dptr); + morse_ztile2lap_cleanup( morse, &Dptrl, &Dptrt ); } (void)D; return MORSE_SUCCESS; diff --git a/compute/zgels_param.c b/compute/zgels_param.c index ee5d6640b..4c82539f7 100644 --- a/compute/zgels_param.c +++ b/compute/zgels_param.c @@ -197,8 +197,9 @@ int MORSE_zgels_param(const libhqr_tree_t *qrtree, MORSE_enum trans, int M, int morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); - morse_desc_mat_free(&descB); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + morse_ztile2lap_cleanup( morse, &descBl, &descBt ); status = sequence->status; morse_sequence_destroy(morse, sequence); @@ -416,7 +417,7 @@ int MORSE_zgels_param_Tile_Async(const libhqr_tree_t *qrtree, MORSE_enum trans, free(subB); if (Dptr != NULL) { - morse_desc_mat_free(Dptr); + morse_ztile2lap_cleanup( morse, &Dptrl, &Dptrt ); } (void)D; return MORSE_SUCCESS; diff --git a/compute/zgemm.c b/compute/zgemm.c index 1ab3eda0d..24b167fa7 100644 --- a/compute/zgemm.c +++ b/compute/zgemm.c @@ -228,9 +228,10 @@ int MORSE_zgemm(MORSE_enum transA, MORSE_enum transB, int M, int N, int K, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); - morse_desc_mat_free(&descB); - morse_desc_mat_free(&descC); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + morse_ztile2lap_cleanup( morse, &descBl, &descBt ); + morse_ztile2lap_cleanup( morse, &descCl, &descCt ); status = sequence->status; morse_sequence_destroy(morse, sequence); diff --git a/compute/zgeqrf.c b/compute/zgeqrf.c index cf9623380..bf6d36248 100644 --- a/compute/zgeqrf.c +++ b/compute/zgeqrf.c @@ -134,7 +134,8 @@ int MORSE_zgeqrf(int M, int N, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); status = sequence->status; morse_sequence_destroy(morse, sequence); @@ -291,7 +292,7 @@ int MORSE_zgeqrf_Tile_Async(MORSE_desc_t *A, MORSE_desc_t *T, morse_pzgeqrfrh(A, T, Dptr, MORSE_RHBLK, sequence, request); } if (Dptr != NULL) { - morse_desc_mat_free(Dptr); + morse_ztile2lap_cleanup( morse, &Dptrl, &Dptrt ); } (void)D; return MORSE_SUCCESS; diff --git a/compute/zgeqrf_param.c b/compute/zgeqrf_param.c index 238411322..a8dedd643 100644 --- a/compute/zgeqrf_param.c +++ b/compute/zgeqrf_param.c @@ -137,7 +137,8 @@ int MORSE_zgeqrf_param(const libhqr_tree_t *qrtree, int M, int N, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); status = sequence->status; morse_sequence_destroy(morse, sequence); @@ -298,7 +299,7 @@ int MORSE_zgeqrf_param_Tile_Async(const libhqr_tree_t *qrtree, MORSE_desc_t *A, morse_pzgeqrf_param(qrtree, A, TS, TT, Dptr, sequence, request); if (Dptr != NULL) { - morse_desc_mat_free(Dptr); + morse_ztile2lap_cleanup( morse, &Dptrl, &Dptrt ); } (void)D; return MORSE_SUCCESS; diff --git a/compute/zgeqrs.c b/compute/zgeqrs.c index 445daf03f..8bfd7a572 100644 --- a/compute/zgeqrs.c +++ b/compute/zgeqrs.c @@ -154,8 +154,9 @@ int MORSE_zgeqrs(int M, int N, int NRHS, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); - morse_desc_mat_free(&descB); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + morse_ztile2lap_cleanup( morse, &descBl, &descBt ); status = sequence->status; morse_sequence_destroy(morse, sequence); @@ -328,7 +329,7 @@ int MORSE_zgeqrs_Tile_Async(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *B, free(subB); if (Dptr != NULL) { - morse_desc_mat_free(Dptr); + morse_ztile2lap_cleanup( morse, &Dptrl, &Dptrt ); } (void)D; return MORSE_SUCCESS; diff --git a/compute/zgeqrs_param.c b/compute/zgeqrs_param.c index 467955410..7c83d4979 100644 --- a/compute/zgeqrs_param.c +++ b/compute/zgeqrs_param.c @@ -149,8 +149,9 @@ int MORSE_zgeqrs_param(const libhqr_tree_t *qrtree, int M, int N, int NRHS, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); - morse_desc_mat_free(&descB); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + morse_ztile2lap_cleanup( morse, &descBl, &descBt ); status = sequence->status; morse_sequence_destroy(morse, sequence); @@ -325,7 +326,7 @@ int MORSE_zgeqrs_param_Tile_Async(const libhqr_tree_t *qrtree, free(subB); if (Dptr != NULL) { - morse_desc_mat_free(Dptr); + morse_ztile2lap_cleanup( morse, &Dptrl, &Dptrt ); } (void)D; return MORSE_SUCCESS; diff --git a/compute/zgesv_incpiv.c b/compute/zgesv_incpiv.c index e43014e2f..d8486636e 100644 --- a/compute/zgesv_incpiv.c +++ b/compute/zgesv_incpiv.c @@ -153,8 +153,9 @@ int MORSE_zgesv_incpiv(int N, int NRHS, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); - morse_desc_mat_free(&descB); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + morse_ztile2lap_cleanup( morse, &descBl, &descBt ); status = sequence->status; morse_sequence_destroy(morse, sequence); diff --git a/compute/zgesv_nopiv.c b/compute/zgesv_nopiv.c index 1693481d3..3efc96c49 100644 --- a/compute/zgesv_nopiv.c +++ b/compute/zgesv_nopiv.c @@ -152,8 +152,9 @@ int MORSE_zgesv_nopiv(int N, int NRHS, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); - morse_desc_mat_free(&descB); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + morse_ztile2lap_cleanup( morse, &descBl, &descBt ); status = sequence->status; morse_sequence_destroy(morse, sequence); diff --git a/compute/zgesvd.c b/compute/zgesvd.c index b55aa9d82..52c24290f 100644 --- a/compute/zgesvd.c +++ b/compute/zgesvd.c @@ -227,7 +227,8 @@ int MORSE_zgesvd(MORSE_enum jobu, MORSE_enum jobvt, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); status = sequence->status; morse_sequence_destroy(morse, sequence); @@ -547,7 +548,7 @@ int MORSE_zgesvd_Tile_Async(MORSE_enum jobu, MORSE_enum jobvt, fprintf(stderr, "MORSE_zgesvd_Tile_Async: LAPACKE_zgbbrd = %d\n", info ); } #endif /* !defined(CHAMELEON_SIMULATION) */ - morse_desc_mat_free(&descAB); + morse_ztile2lap_cleanup( morse, &descABl, &descABt ); /* Transform U and Vt into tile format */ if ( jobu != MorseNoVec ) { @@ -626,7 +627,7 @@ int MORSE_zgesvd_Tile_Async(MORSE_enum jobu, MORSE_enum jobvt, morse_desc_mat_free( &descVT ); free(E); if (Dptr != NULL) { - morse_desc_mat_free(Dptr); + morse_ztile2lap_cleanup( morse, &Dptrl, &Dptrt ); } (void)D; return MORSE_SUCCESS; diff --git a/compute/zgetrf_incpiv.c b/compute/zgetrf_incpiv.c index bfad3adf2..94bf78ac3 100644 --- a/compute/zgetrf_incpiv.c +++ b/compute/zgetrf_incpiv.c @@ -136,7 +136,8 @@ int MORSE_zgetrf_incpiv(int M, int N, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); status = sequence->status; morse_sequence_destroy(morse, sequence); diff --git a/compute/zgetrf_nopiv.c b/compute/zgetrf_nopiv.c index 344f1d26a..42ac616b1 100644 --- a/compute/zgetrf_nopiv.c +++ b/compute/zgetrf_nopiv.c @@ -129,7 +129,8 @@ int MORSE_zgetrf_nopiv(int M, int N, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); status = sequence->status; morse_sequence_destroy(morse, sequence); diff --git a/compute/zgetrs_incpiv.c b/compute/zgetrs_incpiv.c index 536a51113..eaf8cdb88 100644 --- a/compute/zgetrs_incpiv.c +++ b/compute/zgetrs_incpiv.c @@ -157,8 +157,9 @@ int MORSE_zgetrs_incpiv(MORSE_enum trans, int N, int NRHS, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); - morse_desc_mat_free(&descB); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + morse_ztile2lap_cleanup( morse, &descBl, &descBt ); status = sequence->status; morse_sequence_destroy(morse, sequence); diff --git a/compute/zgetrs_nopiv.c b/compute/zgetrs_nopiv.c index f3fdfc502..4be0522d7 100644 --- a/compute/zgetrs_nopiv.c +++ b/compute/zgetrs_nopiv.c @@ -151,8 +151,9 @@ int MORSE_zgetrs_nopiv(MORSE_enum trans, int N, int NRHS, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); - morse_desc_mat_free(&descB); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + morse_ztile2lap_cleanup( morse, &descBl, &descBt ); status = sequence->status; morse_sequence_destroy(morse, sequence); diff --git a/compute/zheevd.c b/compute/zheevd.c index 67d343211..a7211f559 100644 --- a/compute/zheevd.c +++ b/compute/zheevd.c @@ -165,7 +165,8 @@ int MORSE_zheevd(MORSE_enum jobz, MORSE_enum uplo, int N, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); status = sequence->status; morse_sequence_destroy(morse, sequence); @@ -465,7 +466,7 @@ int MORSE_zheevd_Tile_Async(MORSE_enum jobz, MORSE_enum uplo, /* V from LAPACKE_zstedc refers to V (lapack layout) */ /* The final eigenvectors are (Q1 Q2 V) or (Q1^h Q2 V) */ morse_zooplap2tile( descQ2, Q2, NB, NB, N, N, 0, 0, N, N, sequence, request, - morse_desc_mat_free(&(descQ2)) ); + morse_ztile2lap_cleanup( morse, &(descQ2)) l, &(descQ2)) t ); morse_zooplap2tile( descV, V, NB, NB, N, N, 0, 0, N, N, sequence, request, morse_desc_mat_free(&(descQ2)); morse_desc_mat_free(&(descV)) ); if (uplo == MorseLower) @@ -520,15 +521,16 @@ int MORSE_zheevd_Tile_Async(MORSE_enum jobz, MORSE_enum uplo, morse_sequence_wait(morse, sequence); free(subA); free(subQ); free(subT); - morse_desc_mat_free(&descQ2); + morse_ztile2lap_cleanup( morse, &descQ2l, &descQ2t ); free(Q2); - morse_desc_mat_free(&descV); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descVl, &descVt ); free(V); free(E); if (Dptr != NULL) { - morse_desc_mat_free(Dptr); + morse_ztile2lap_cleanup( morse, &Dptrl, &Dptrt ); } (void)D; return MORSE_SUCCESS; diff --git a/compute/zhemm.c b/compute/zhemm.c index ab49a42e2..cfa808021 100644 --- a/compute/zhemm.c +++ b/compute/zhemm.c @@ -191,9 +191,10 @@ int MORSE_zhemm(MORSE_enum side, MORSE_enum uplo, int M, int N, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); - morse_desc_mat_free(&descB); - morse_desc_mat_free(&descC); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + morse_ztile2lap_cleanup( morse, &descBl, &descBt ); + morse_ztile2lap_cleanup( morse, &descCl, &descCt ); status = sequence->status; morse_sequence_destroy(morse, sequence); diff --git a/compute/zher2k.c b/compute/zher2k.c index 03c76ebf9..067764bd8 100644 --- a/compute/zher2k.c +++ b/compute/zher2k.c @@ -195,9 +195,10 @@ int MORSE_zher2k(MORSE_enum uplo, MORSE_enum trans, int N, int K, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); - morse_desc_mat_free(&descB); - morse_desc_mat_free(&descC); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + morse_ztile2lap_cleanup( morse, &descBl, &descBt ); + morse_ztile2lap_cleanup( morse, &descCl, &descCt ); status = sequence->status; morse_sequence_destroy(morse, sequence); diff --git a/compute/zherk.c b/compute/zherk.c index 05901be70..947f8893f 100644 --- a/compute/zherk.c +++ b/compute/zherk.c @@ -179,8 +179,9 @@ int MORSE_zherk(MORSE_enum uplo, MORSE_enum trans, int N, int K, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); - morse_desc_mat_free(&descC); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + morse_ztile2lap_cleanup( morse, &descCl, &descCt ); status = sequence->status; morse_sequence_destroy(morse, sequence); diff --git a/compute/zhetrd.c b/compute/zhetrd.c index b63b5d1a7..aa7152dc0 100644 --- a/compute/zhetrd.c +++ b/compute/zhetrd.c @@ -179,7 +179,8 @@ int MORSE_zhetrd(MORSE_enum jobz, MORSE_enum uplo, int N, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); status = sequence->status; morse_sequence_destroy(morse, sequence); @@ -429,9 +430,9 @@ int MORSE_zhetrd_Tile_Async(MORSE_enum jobz, } #endif /* !defined(CHAMELEON_SIMULATION) */ if (Dptr != NULL) { - morse_desc_mat_free(Dptr); + morse_ztile2lap_cleanup( morse, &Dptrl, &Dptrt ); } - morse_desc_mat_free(&descAB); + morse_ztile2lap_cleanup( morse, &descABl, &descABt ); (void)D; return MORSE_SUCCESS; } diff --git a/compute/zlacpy.c b/compute/zlacpy.c index 885ae54d5..d5aab8ec1 100644 --- a/compute/zlacpy.c +++ b/compute/zlacpy.c @@ -145,8 +145,9 @@ int MORSE_zlacpy(MORSE_enum uplo, int M, int N, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); - morse_desc_mat_free(&descB); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + morse_ztile2lap_cleanup( morse, &descBl, &descBt ); morse_sequence_destroy(morse, sequence); return MORSE_SUCCESS; diff --git a/compute/zlange.c b/compute/zlange.c index f1ea38a96..403acb5ef 100644 --- a/compute/zlange.c +++ b/compute/zlange.c @@ -148,7 +148,8 @@ double MORSE_zlange(MORSE_enum norm, int M, int N, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); morse_sequence_destroy(morse, sequence); return value; diff --git a/compute/zlanhe.c b/compute/zlanhe.c index ce7e4fa19..501df0f39 100644 --- a/compute/zlanhe.c +++ b/compute/zlanhe.c @@ -148,7 +148,8 @@ double MORSE_zlanhe(MORSE_enum norm, MORSE_enum uplo, int N, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); morse_sequence_destroy(morse, sequence); return value; diff --git a/compute/zlansy.c b/compute/zlansy.c index 8912e0f61..0383a7be9 100644 --- a/compute/zlansy.c +++ b/compute/zlansy.c @@ -145,7 +145,8 @@ double MORSE_zlansy(MORSE_enum norm, MORSE_enum uplo, int N, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); morse_sequence_destroy(morse, sequence); return value; diff --git a/compute/zlantr.c b/compute/zlantr.c index 61dcb8be9..8c06e1967 100644 --- a/compute/zlantr.c +++ b/compute/zlantr.c @@ -165,7 +165,8 @@ double MORSE_zlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); morse_sequence_destroy(morse, sequence); return value; diff --git a/compute/zlascal.c b/compute/zlascal.c index 2b1979406..5a8f03525 100644 --- a/compute/zlascal.c +++ b/compute/zlascal.c @@ -125,7 +125,7 @@ int MORSE_zlascal(MORSE_enum uplo, int M, int N, morse_ztile2lap( morse, &descAl, &descAt, MorseUpperLower, sequence, &request ); RUNTIME_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); status = sequence->status; morse_sequence_destroy(morse, sequence); diff --git a/compute/zlaset.c b/compute/zlaset.c index f0b8269fb..f8e42f788 100644 --- a/compute/zlaset.c +++ b/compute/zlaset.c @@ -138,7 +138,8 @@ int MORSE_zlaset(MORSE_enum uplo, int M, int N, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); morse_sequence_destroy(morse, sequence); return MORSE_SUCCESS; diff --git a/compute/zlauum.c b/compute/zlauum.c index a07910ca1..59578adee 100644 --- a/compute/zlauum.c +++ b/compute/zlauum.c @@ -134,7 +134,8 @@ int MORSE_zlauum(MORSE_enum uplo, int N, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); status = sequence->status; morse_sequence_destroy(morse, sequence); diff --git a/compute/zplghe.c b/compute/zplghe.c index 7ba0cef44..5e63663d2 100644 --- a/compute/zplghe.c +++ b/compute/zplghe.c @@ -125,7 +125,8 @@ int MORSE_zplghe( double bump, MORSE_enum uplo, int N, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); status = sequence->status; morse_sequence_destroy(morse, sequence); diff --git a/compute/zplgsy.c b/compute/zplgsy.c index 7b4f36a67..265ad6d9a 100644 --- a/compute/zplgsy.c +++ b/compute/zplgsy.c @@ -125,7 +125,8 @@ int MORSE_zplgsy( MORSE_Complex64_t bump, MORSE_enum uplo, int N, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); status = sequence->status; morse_sequence_destroy(morse, sequence); diff --git a/compute/zplrnt.c b/compute/zplrnt.c index 0040cd9e5..fb0f450cd 100644 --- a/compute/zplrnt.c +++ b/compute/zplrnt.c @@ -122,7 +122,8 @@ int MORSE_zplrnt( int M, int N, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); status = sequence->status; morse_sequence_destroy(morse, sequence); diff --git a/compute/zposv.c b/compute/zposv.c index 418f623d0..7081a5771 100644 --- a/compute/zposv.c +++ b/compute/zposv.c @@ -166,8 +166,9 @@ int MORSE_zposv(MORSE_enum uplo, int N, int NRHS, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); - morse_desc_mat_free(&descB); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + morse_ztile2lap_cleanup( morse, &descBl, &descBt ); status = sequence->status; morse_sequence_destroy(morse, sequence); diff --git a/compute/zpotri.c b/compute/zpotri.c index f88cb5148..49cd7aa35 100644 --- a/compute/zpotri.c +++ b/compute/zpotri.c @@ -131,7 +131,8 @@ int MORSE_zpotri(MORSE_enum uplo, int N, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); status = sequence->status; morse_sequence_destroy(morse, sequence); diff --git a/compute/zpotrimm.c b/compute/zpotrimm.c index f45957e61..d41805488 100644 --- a/compute/zpotrimm.c +++ b/compute/zpotrimm.c @@ -149,9 +149,10 @@ int MORSE_zpotrimm(MORSE_enum uplo, int N, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); - morse_desc_mat_free(&descB); - morse_desc_mat_free(&descC); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + morse_ztile2lap_cleanup( morse, &descBl, &descBt ); + morse_ztile2lap_cleanup( morse, &descCl, &descCt ); status = sequence->status; morse_sequence_destroy(morse, sequence); diff --git a/compute/zpotrs.c b/compute/zpotrs.c index 242a53cbe..611b30ee9 100644 --- a/compute/zpotrs.c +++ b/compute/zpotrs.c @@ -148,8 +148,9 @@ int MORSE_zpotrs(MORSE_enum uplo, int N, int NRHS, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); - morse_desc_mat_free(&descB); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + morse_ztile2lap_cleanup( morse, &descBl, &descBt ); status = sequence->status; morse_sequence_destroy(morse, sequence); diff --git a/compute/zsymm.c b/compute/zsymm.c index a18c58872..94d7584a4 100644 --- a/compute/zsymm.c +++ b/compute/zsymm.c @@ -191,9 +191,10 @@ int MORSE_zsymm(MORSE_enum side, MORSE_enum uplo, int M, int N, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); - morse_desc_mat_free(&descB); - morse_desc_mat_free(&descC); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + morse_ztile2lap_cleanup( morse, &descBl, &descBt ); + morse_ztile2lap_cleanup( morse, &descCl, &descCt ); status = sequence->status; morse_sequence_destroy(morse, sequence); diff --git a/compute/zsyr2k.c b/compute/zsyr2k.c index 388d8d8fa..bf4149197 100644 --- a/compute/zsyr2k.c +++ b/compute/zsyr2k.c @@ -195,9 +195,10 @@ int MORSE_zsyr2k(MORSE_enum uplo, MORSE_enum trans, int N, int K, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); - morse_desc_mat_free(&descB); - morse_desc_mat_free(&descC); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + morse_ztile2lap_cleanup( morse, &descBl, &descBt ); + morse_ztile2lap_cleanup( morse, &descCl, &descCt ); status = sequence->status; morse_sequence_destroy(morse, sequence); diff --git a/compute/zsyrk.c b/compute/zsyrk.c index 215010573..806bf0c47 100644 --- a/compute/zsyrk.c +++ b/compute/zsyrk.c @@ -179,8 +179,9 @@ int MORSE_zsyrk(MORSE_enum uplo, MORSE_enum trans, int N, int K, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); - morse_desc_mat_free(&descC); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + morse_ztile2lap_cleanup( morse, &descCl, &descCt ); status = sequence->status; morse_sequence_destroy(morse, sequence); diff --git a/compute/zsysv.c b/compute/zsysv.c index 83dcd0c39..426a0248b 100644 --- a/compute/zsysv.c +++ b/compute/zsysv.c @@ -163,8 +163,9 @@ int MORSE_zsysv(MORSE_enum uplo, int N, int NRHS, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); - morse_desc_mat_free(&descB); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + morse_ztile2lap_cleanup( morse, &descBl, &descBt ); status = sequence->status; morse_sequence_destroy(morse, sequence); diff --git a/compute/zsytrf.c b/compute/zsytrf.c index 75742227a..c478d3ace 100644 --- a/compute/zsytrf.c +++ b/compute/zsytrf.c @@ -135,7 +135,8 @@ int MORSE_zsytrf(MORSE_enum uplo, int N, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); status = sequence->status; morse_sequence_destroy(morse, sequence); diff --git a/compute/zsytrs.c b/compute/zsytrs.c index cb5587397..ffc58be2c 100644 --- a/compute/zsytrs.c +++ b/compute/zsytrs.c @@ -147,8 +147,9 @@ int MORSE_zsytrs(MORSE_enum uplo, int N, int NRHS, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); - morse_desc_mat_free(&descB); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + morse_ztile2lap_cleanup( morse, &descBl, &descBt ); status = sequence->status; morse_sequence_destroy(morse, sequence); diff --git a/compute/ztpgqrt.c b/compute/ztpgqrt.c index 9c3acdf8a..432ee7072 100644 --- a/compute/ztpgqrt.c +++ b/compute/ztpgqrt.c @@ -228,10 +228,11 @@ int MORSE_ztpgqrt( int M, int N, int K, int L, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descV1); - morse_desc_mat_free(&descV2); - morse_desc_mat_free(&descQ1); - morse_desc_mat_free(&descQ2); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descV1l, &descV1t ); + morse_ztile2lap_cleanup( morse, &descV2l, &descV2t ); + morse_ztile2lap_cleanup( morse, &descQ1l, &descQ1t ); + morse_ztile2lap_cleanup( morse, &descQ2l, &descQ2t ); status = sequence->status; morse_sequence_destroy(morse, sequence); @@ -406,7 +407,7 @@ int MORSE_ztpgqrt_Tile_Async( int L, /* morse_pztpgqrtrh(Q1, T, MORSE_RHBLK, sequence, request); */ /* } */ if (Dptr != NULL) { - morse_desc_mat_free(Dptr); + morse_ztile2lap_cleanup( morse, &Dptrl, &Dptrt ); } (void)D; return MORSE_SUCCESS; diff --git a/compute/ztpqrt.c b/compute/ztpqrt.c index b87bf269e..07db10241 100644 --- a/compute/ztpqrt.c +++ b/compute/ztpqrt.c @@ -202,8 +202,9 @@ int MORSE_ztpqrt( int M, int N, int L, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); - morse_desc_mat_free(&descB); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + morse_ztile2lap_cleanup( morse, &descBl, &descBt ); status = sequence->status; morse_sequence_destroy(morse, sequence); diff --git a/compute/ztradd.c b/compute/ztradd.c index 938ee9f06..60d76860e 100644 --- a/compute/ztradd.c +++ b/compute/ztradd.c @@ -179,8 +179,9 @@ int MORSE_ztradd(MORSE_enum uplo, MORSE_enum trans, int M, int N, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); - morse_desc_mat_free(&descB); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + morse_ztile2lap_cleanup( morse, &descBl, &descBt ); status = sequence->status; morse_sequence_destroy(morse, sequence); diff --git a/compute/ztrmm.c b/compute/ztrmm.c index 70718e1ae..5adaee188 100644 --- a/compute/ztrmm.c +++ b/compute/ztrmm.c @@ -193,8 +193,9 @@ int MORSE_ztrmm(MORSE_enum side, MORSE_enum uplo, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); - morse_desc_mat_free(&descB); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + morse_ztile2lap_cleanup( morse, &descBl, &descBt ); status = sequence->status; morse_sequence_destroy(morse, sequence); diff --git a/compute/ztrsm.c b/compute/ztrsm.c index 652d6eb45..f65bb94de 100644 --- a/compute/ztrsm.c +++ b/compute/ztrsm.c @@ -191,8 +191,9 @@ int MORSE_ztrsm(MORSE_enum side, MORSE_enum uplo, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); - morse_desc_mat_free(&descB); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + morse_ztile2lap_cleanup( morse, &descBl, &descBt ); status = sequence->status; morse_sequence_destroy(morse, sequence); diff --git a/compute/ztrsmpl.c b/compute/ztrsmpl.c index 0f8bbf2b6..fcc86aaff 100644 --- a/compute/ztrsmpl.c +++ b/compute/ztrsmpl.c @@ -145,8 +145,9 @@ int MORSE_ztrsmpl(int N, int NRHS, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); - morse_desc_mat_free(&descB); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + morse_ztile2lap_cleanup( morse, &descBl, &descBt ); status = sequence->status; morse_sequence_destroy(morse, sequence); diff --git a/compute/ztrtri.c b/compute/ztrtri.c index dd5cf3306..7eb605b37 100644 --- a/compute/ztrtri.c +++ b/compute/ztrtri.c @@ -143,7 +143,8 @@ int MORSE_ztrtri(MORSE_enum uplo, MORSE_enum diag, int N, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); status = sequence->status; morse_sequence_destroy(morse, sequence); diff --git a/compute/zunglq.c b/compute/zunglq.c index 854d88894..c41d7f710 100644 --- a/compute/zunglq.c +++ b/compute/zunglq.c @@ -151,8 +151,9 @@ int MORSE_zunglq(int M, int N, int K, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); - morse_desc_mat_free(&descQ); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + morse_ztile2lap_cleanup( morse, &descQl, &descQt ); status = sequence->status; morse_sequence_destroy(morse, sequence); @@ -313,7 +314,7 @@ int MORSE_zunglq_Tile_Async(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *Q, } if (Dptr != NULL) { - morse_desc_mat_free(Dptr); + morse_ztile2lap_cleanup( morse, &Dptrl, &Dptrt ); } (void)D; return MORSE_SUCCESS; diff --git a/compute/zunglq_param.c b/compute/zunglq_param.c index 5fd114954..5ff156c71 100644 --- a/compute/zunglq_param.c +++ b/compute/zunglq_param.c @@ -148,8 +148,9 @@ int MORSE_zunglq_param(const libhqr_tree_t *qrtree, int M, int N, int K, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); - morse_desc_mat_free(&descQ); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + morse_ztile2lap_cleanup( morse, &descQl, &descQt ); status = sequence->status; morse_sequence_destroy(morse, sequence); @@ -308,7 +309,7 @@ int MORSE_zunglq_param_Tile_Async(const libhqr_tree_t *qrtree, MORSE_desc_t *A, morse_pzunglq_param(qrtree, A, Q, TS, TT, Dptr, sequence, request); if (Dptr != NULL) { - morse_desc_mat_free(Dptr); + morse_ztile2lap_cleanup( morse, &Dptrl, &Dptrt ); } (void)D; return MORSE_SUCCESS; diff --git a/compute/zungqr.c b/compute/zungqr.c index e482c3ac9..e830d4c91 100644 --- a/compute/zungqr.c +++ b/compute/zungqr.c @@ -150,8 +150,9 @@ int MORSE_zungqr(int M, int N, int K, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); - morse_desc_mat_free(&descQ); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + morse_ztile2lap_cleanup( morse, &descQl, &descQt ); status = sequence->status; morse_sequence_destroy(morse, sequence); @@ -310,7 +311,7 @@ int MORSE_zungqr_Tile_Async(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *Q, } if (Dptr != NULL) { - morse_desc_mat_free(Dptr); + morse_ztile2lap_cleanup( morse, &Dptrl, &Dptrt ); } (void)D; return MORSE_SUCCESS; diff --git a/compute/zungqr_param.c b/compute/zungqr_param.c index c209d8b4f..cdd5370f8 100644 --- a/compute/zungqr_param.c +++ b/compute/zungqr_param.c @@ -149,8 +149,9 @@ int MORSE_zungqr_param(const libhqr_tree_t *qrtree, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); - morse_desc_mat_free(&descQ); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + morse_ztile2lap_cleanup( morse, &descQl, &descQt ); status = sequence->status; morse_sequence_destroy(morse, sequence); @@ -306,7 +307,7 @@ int MORSE_zungqr_param_Tile_Async(const libhqr_tree_t *qrtree, MORSE_desc_t *A, morse_pzungqr_param(qrtree, A, Q, TS, TT, Dptr, sequence, request); if (Dptr != NULL) { - morse_desc_mat_free(Dptr); + morse_ztile2lap_cleanup( morse, &Dptrl, &Dptrt ); } (void)D; return MORSE_SUCCESS; diff --git a/compute/zunmlq.c b/compute/zunmlq.c index 385e898f7..8a4b9ac2d 100644 --- a/compute/zunmlq.c +++ b/compute/zunmlq.c @@ -189,8 +189,9 @@ int MORSE_zunmlq(MORSE_enum side, MORSE_enum trans, int M, int N, int K, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); - morse_desc_mat_free(&descC); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + morse_ztile2lap_cleanup( morse, &descCl, &descCt ); status = sequence->status; morse_sequence_destroy(morse, sequence); @@ -375,7 +376,7 @@ int MORSE_zunmlq_Tile_Async(MORSE_enum side, MORSE_enum trans, morse_pzunmlqrh(side, trans, A, C, T, Dptr, MORSE_RHBLK, sequence, request); } if (Dptr != NULL) { - morse_desc_mat_free(Dptr); + morse_ztile2lap_cleanup( morse, &Dptrl, &Dptrt ); } (void)D; return MORSE_SUCCESS; diff --git a/compute/zunmlq_param.c b/compute/zunmlq_param.c index fd065cdc1..21b7f90ac 100644 --- a/compute/zunmlq_param.c +++ b/compute/zunmlq_param.c @@ -188,8 +188,9 @@ int MORSE_zunmlq_param(const libhqr_tree_t *qrtree, MORSE_enum side, MORSE_enum morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); - morse_desc_mat_free(&descC); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + morse_ztile2lap_cleanup( morse, &descCl, &descCt ); status = sequence->status; morse_sequence_destroy(morse, sequence); @@ -370,7 +371,7 @@ int MORSE_zunmlq_param_Tile_Async(const libhqr_tree_t *qrtree, MORSE_enum side, morse_pzunmlq_param(qrtree, side, trans, A, C, TS, TT, Dptr, sequence, request); if (Dptr != NULL) { - morse_desc_mat_free(Dptr); + morse_ztile2lap_cleanup( morse, &Dptrl, &Dptrt ); } (void)D; return MORSE_SUCCESS; diff --git a/compute/zunmqr.c b/compute/zunmqr.c index 711543b02..9494b69bc 100644 --- a/compute/zunmqr.c +++ b/compute/zunmqr.c @@ -192,8 +192,9 @@ int MORSE_zunmqr(MORSE_enum side, MORSE_enum trans, int M, int N, int K, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); - morse_desc_mat_free(&descC); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + morse_ztile2lap_cleanup( morse, &descCl, &descCt ); status = sequence->status; morse_sequence_destroy(morse, sequence); @@ -382,7 +383,7 @@ int MORSE_zunmqr_Tile_Async(MORSE_enum side, MORSE_enum trans, } if (Dptr != NULL) { - morse_desc_mat_free(Dptr); + morse_ztile2lap_cleanup( morse, &Dptrl, &Dptrt ); } (void)D; return MORSE_SUCCESS; diff --git a/compute/zunmqr_param.c b/compute/zunmqr_param.c index 3ab4e9606..a18d36265 100644 --- a/compute/zunmqr_param.c +++ b/compute/zunmqr_param.c @@ -193,8 +193,9 @@ int MORSE_zunmqr_param(const libhqr_tree_t *qrtree, morse_sequence_wait(morse, sequence); - morse_desc_mat_free(&descA); - morse_desc_mat_free(&descC); + /* Cleanup the temporary data */ + morse_ztile2lap_cleanup( morse, &descAl, &descAt ); + morse_ztile2lap_cleanup( morse, &descCl, &descCt ); status = sequence->status; morse_sequence_destroy(morse, sequence); @@ -377,7 +378,7 @@ int MORSE_zunmqr_param_Tile_Async(const libhqr_tree_t *qrtree, morse_pzunmqr_param(qrtree, side, trans, A, C, TS, TT, Dptr, sequence, request); if (Dptr != NULL) { - morse_desc_mat_free(Dptr); + morse_ztile2lap_cleanup( morse, &Dptrl, &Dptrt ); } (void)D; return MORSE_SUCCESS; -- GitLab