From 9f07583ef955b74a272c703eb8375f71771969cc Mon Sep 17 00:00:00 2001 From: Mathieu Faverge <mathieu.faverge@inria.fr> Date: Tue, 23 Jan 2018 00:11:07 +0100 Subject: [PATCH] Add in,out,inout mode to descriptor to avoid useless layout conversions --- compute/zbuild.c | 4 ++-- compute/zgeadd.c | 8 ++++--- compute/zgelqf.c | 4 ++-- compute/zgelqf_param.c | 4 ++-- compute/zgelqs.c | 8 +++---- compute/zgelqs_param.c | 8 +++---- compute/zgels.c | 12 +++++----- compute/zgels_param.c | 12 +++++----- compute/zgemm.c | 12 ++++++---- compute/zgeqrf.c | 4 ++-- compute/zgeqrf_param.c | 4 ++-- compute/zgeqrs.c | 8 +++---- compute/zgeqrs_param.c | 8 +++---- compute/zgesv_incpiv.c | 8 +++---- compute/zgesv_nopiv.c | 8 +++---- compute/zgesvd.c | 4 ++-- compute/zgetrf_incpiv.c | 4 ++-- compute/zgetrf_nopiv.c | 4 ++-- compute/zgetrs_incpiv.c | 8 ++++--- compute/zgetrs_nopiv.c | 8 ++++--- compute/zheevd.c | 4 ++-- compute/zhemm.c | 12 ++++++---- compute/zher2k.c | 12 ++++++---- compute/zherk.c | 8 ++++--- compute/zhetrd.c | 4 ++-- compute/zlacpy.c | 8 ++++--- compute/zlange.c | 4 ++-- compute/zlanhe.c | 4 ++-- compute/zlansy.c | 6 +++-- compute/zlantr.c | 6 +++-- compute/zlascal.c | 9 +++++--- compute/zlaset.c | 6 +++-- compute/zlauum.c | 4 ++-- compute/zplghe.c | 4 ++-- compute/zplgsy.c | 4 ++-- compute/zplrnt.c | 4 ++-- compute/zposv.c | 8 +++---- compute/zpotrf.c | 4 ++-- compute/zpotri.c | 4 ++-- compute/zpotrimm.c | 12 +++++----- compute/zpotrs.c | 8 ++++--- compute/zsymm.c | 12 ++++++---- compute/zsyr2k.c | 12 ++++++---- compute/zsyrk.c | 8 ++++--- compute/zsysv.c | 8 +++---- compute/zsytrf.c | 4 ++-- compute/zsytrs.c | 8 ++++--- compute/ztile.c | 4 ++-- compute/ztpgqrt.c | 16 +++++++++----- compute/ztpqrt.c | 8 +++---- compute/ztradd.c | 8 ++++--- compute/ztrmm.c | 10 +++++---- compute/ztrsm.c | 8 ++++--- compute/ztrsmpl.c | 8 ++++--- compute/ztrtri.c | 6 ++--- compute/zunglq.c | 8 ++++--- compute/zunglq_param.c | 8 ++++--- compute/zungqr.c | 8 ++++--- compute/zungqr_param.c | 8 ++++--- compute/zunmlq.c | 8 ++++--- compute/zunmlq_param.c | 8 ++++--- compute/zunmqr.c | 8 ++++--- compute/zunmqr_param.c | 8 ++++--- control/common.h | 1 - control/compute_z.h | 34 +++++++++++++++++++++-------- include/chameleon/morse_constants.h | 5 ----- 66 files changed, 291 insertions(+), 208 deletions(-) diff --git a/compute/zbuild.c b/compute/zbuild.c index 140ad65fe..7f86afbf8 100644 --- a/compute/zbuild.c +++ b/compute/zbuild.c @@ -127,7 +127,7 @@ int MORSE_zbuild( MORSE_enum uplo, int M, int N, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, uplo, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescOutput, uplo, A, NB, NB, LDA, N, M, N, sequence, &request ); /* Call the tile interface */ @@ -135,7 +135,7 @@ int MORSE_zbuild( MORSE_enum uplo, int M, int N, /* Submit the matrix conversion back */ morse_ztile2lap( morse, &descAl, &descAt, - uplo, sequence, &request ); + MorseDescOutput, uplo, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zgeadd.c b/compute/zgeadd.c index 14306b560..aebbe1983 100644 --- a/compute/zgeadd.c +++ b/compute/zgeadd.c @@ -155,17 +155,19 @@ int MORSE_zgeadd(MORSE_enum trans, int M, int N, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseUpperLower, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseUpperLower, A, NB, NB, LDA, An, Am, An, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseUpperLower, + morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, MorseUpperLower, B, NB, NB, LDB, N, M, N, sequence, &request ); /* Call the tile interface */ MORSE_zgeadd_Tile_Async( trans, alpha, &descAt, beta, &descBt, sequence, &request ); /* Submit the matrix conversion back */ + morse_ztile2lap( morse, &descAl, &descAt, + MorseDescInput, MorseUpperLower, sequence, &request ); morse_ztile2lap( morse, &descBl, &descBt, - MorseUpperLower, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zgelqf.c b/compute/zgelqf.c index a59c2c185..a5471e2e7 100644 --- a/compute/zgelqf.c +++ b/compute/zgelqf.c @@ -123,7 +123,7 @@ int MORSE_zgelqf(int M, int N, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseUpperLower, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, MorseUpperLower, A, NB, NB, LDA, N, M, N, sequence, &request ); /* Call the tile interface */ @@ -131,7 +131,7 @@ int MORSE_zgelqf(int M, int N, /* Submit the matrix conversion back */ morse_ztile2lap( morse, &descAl, &descAt, - MorseUpperLower, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zgelqf_param.c b/compute/zgelqf_param.c index af72e1618..1a938c6d2 100644 --- a/compute/zgelqf_param.c +++ b/compute/zgelqf_param.c @@ -120,7 +120,7 @@ int MORSE_zgelqf_param(const libhqr_tree_t *qrtree, int M, int N, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseUpperLower, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, MorseUpperLower, A, NB, NB, LDA, N, M, N, sequence, &request ); /* Call the tile interface */ @@ -128,7 +128,7 @@ int MORSE_zgelqf_param(const libhqr_tree_t *qrtree, int M, int N, /* Submit the matrix conversion back */ morse_ztile2lap( morse, &descAl, &descAt, - MorseUpperLower, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zgelqs.c b/compute/zgelqs.c index 2e67806bc..7c2b19f23 100644 --- a/compute/zgelqs.c +++ b/compute/zgelqs.c @@ -139,9 +139,9 @@ int MORSE_zgelqs(int M, int N, int NRHS, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseUpperLower, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseUpperLower, A, NB, NB, LDA, N, M, N, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseUpperLower, + morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, MorseUpperLower, B, NB, NB, LDB, NRHS, N, NRHS, sequence, &request ); /* Call the tile interface */ @@ -149,9 +149,9 @@ int MORSE_zgelqs(int M, int N, int NRHS, /* Submit the matrix conversion back */ morse_ztile2lap( morse, &descAl, &descAt, - MorseUpperLower, sequence, &request ); + MorseDescInput, MorseUpperLower, sequence, &request ); morse_ztile2lap( morse, &descBl, &descBt, - MorseUpperLower, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zgelqs_param.c b/compute/zgelqs_param.c index 155e2ef2f..c0c7ccc55 100644 --- a/compute/zgelqs_param.c +++ b/compute/zgelqs_param.c @@ -141,9 +141,9 @@ int MORSE_zgelqs_param(const libhqr_tree_t *qrtree, int M, int N, int NRHS, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseUpperLower, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseUpperLower, A, NB, NB, LDA, N, M, N, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseUpperLower, + morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, MorseUpperLower, B, NB, NB, LDB, NRHS, N, NRHS, sequence, &request ); /* Call the tile interface */ @@ -151,9 +151,9 @@ int MORSE_zgelqs_param(const libhqr_tree_t *qrtree, int M, int N, int NRHS, /* Submit the matrix conversion back */ morse_ztile2lap( morse, &descAl, &descAt, - MorseUpperLower, sequence, &request ); + MorseDescInput, MorseUpperLower, sequence, &request ); morse_ztile2lap( morse, &descBl, &descBt, - MorseUpperLower, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zgels.c b/compute/zgels.c index 3cd046157..2f26b7901 100644 --- a/compute/zgels.c +++ b/compute/zgels.c @@ -174,15 +174,15 @@ int MORSE_zgels(MORSE_enum trans, int M, int N, int NRHS, /* Submit the matrix conversion */ if ( M >= N ) { - morse_zlap2tile( morse, &descAl, &descAt, MorseUpperLower, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, MorseUpperLower, A, NB, NB, LDA, N, M, N, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseUpperLower, + morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, MorseUpperLower, B, NB, NB, LDB, NRHS, M, NRHS, sequence, &request ); } else { /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseUpperLower, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, MorseUpperLower, A, NB, NB, LDA, N, M, N, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseUpperLower, + morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, MorseUpperLower, B, NB, NB, LDB, NRHS, N, NRHS, sequence, &request ); } @@ -191,9 +191,9 @@ int MORSE_zgels(MORSE_enum trans, int M, int N, int NRHS, /* Submit the matrix conversion back */ morse_ztile2lap( morse, &descAl, &descAt, - MorseUpperLower, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_ztile2lap( morse, &descBl, &descBt, - MorseUpperLower, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zgels_param.c b/compute/zgels_param.c index 2b61beb07..67239b6bb 100644 --- a/compute/zgels_param.c +++ b/compute/zgels_param.c @@ -176,14 +176,14 @@ int MORSE_zgels_param(const libhqr_tree_t *qrtree, MORSE_enum trans, int M, int /* Submit the matrix conversion */ if ( M >= N ) { - morse_zlap2tile( morse, &descAl, &descAt, MorseUpperLower, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, MorseUpperLower, A, NB, NB, LDA, N, M, N, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseUpperLower, + morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, MorseUpperLower, B, NB, NB, LDB, NRHS, M, NRHS, sequence, &request ); } else { - morse_zlap2tile( morse, &descAl, &descAt, MorseUpperLower, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, MorseUpperLower, A, NB, NB, LDA, N, M, N, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseUpperLower, + morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, MorseUpperLower, B, NB, NB, LDB, NRHS, N, NRHS, sequence, &request ); } @@ -192,9 +192,9 @@ int MORSE_zgels_param(const libhqr_tree_t *qrtree, MORSE_enum trans, int M, int /* Submit the matrix conversion back */ morse_ztile2lap( morse, &descAl, &descAt, - MorseUpperLower, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_ztile2lap( morse, &descBl, &descBt, - MorseUpperLower, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zgemm.c b/compute/zgemm.c index 3251abede..fc7a79152 100644 --- a/compute/zgemm.c +++ b/compute/zgemm.c @@ -213,19 +213,23 @@ int MORSE_zgemm(MORSE_enum transA, MORSE_enum transB, int M, int N, int K, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseUpperLower, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseUpperLower, A, NB, NB, LDA, An, Am, An, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseUpperLower, + morse_zlap2tile( morse, &descBl, &descBt, MorseDescInput, MorseUpperLower, B, NB, NB, LDB, Bn, Bm, Bn, sequence, &request ); - morse_zlap2tile( morse, &descCl, &descCt, MorseUpperLower, + morse_zlap2tile( morse, &descCl, &descCt, MorseDescInout, MorseUpperLower, C, NB, NB, LDC, N, M, N, sequence, &request ); /* Call the tile interface */ MORSE_zgemm_Tile_Async( transA, transB, alpha, &descAt, &descBt, beta, &descCt, sequence, &request ); /* Submit the matrix conversion back */ + morse_ztile2lap( morse, &descAl, &descAt, + MorseDescInput, MorseUpperLower, sequence, &request ); + morse_ztile2lap( morse, &descBl, &descBt, + MorseDescInput, MorseUpperLower, sequence, &request ); morse_ztile2lap( morse, &descCl, &descCt, - MorseUpperLower, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zgeqrf.c b/compute/zgeqrf.c index 32bc10482..8c9a96a38 100644 --- a/compute/zgeqrf.c +++ b/compute/zgeqrf.c @@ -122,7 +122,7 @@ int MORSE_zgeqrf(int M, int N, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseUpperLower, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, MorseUpperLower, A, NB, NB, LDA, N, M, N, sequence, &request ); /* Call the tile interface */ @@ -130,7 +130,7 @@ int MORSE_zgeqrf(int M, int N, /* Submit the matrix conversion back */ morse_ztile2lap( morse, &descAl, &descAt, - MorseUpperLower, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zgeqrf_param.c b/compute/zgeqrf_param.c index 6d3dd8bb4..839cedd4b 100644 --- a/compute/zgeqrf_param.c +++ b/compute/zgeqrf_param.c @@ -125,7 +125,7 @@ int MORSE_zgeqrf_param(const libhqr_tree_t *qrtree, int M, int N, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseUpperLower, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, MorseUpperLower, A, NB, NB, LDA, N, M, N, sequence, &request ); /* Call the tile interface */ @@ -133,7 +133,7 @@ int MORSE_zgeqrf_param(const libhqr_tree_t *qrtree, int M, int N, /* Submit the matrix conversion back */ morse_ztile2lap( morse, &descAl, &descAt, - MorseUpperLower, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zgeqrs.c b/compute/zgeqrs.c index e5fa1d14d..713e8abb2 100644 --- a/compute/zgeqrs.c +++ b/compute/zgeqrs.c @@ -139,9 +139,9 @@ int MORSE_zgeqrs(int M, int N, int NRHS, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseUpperLower, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseUpperLower, A, NB, NB, LDA, N, M, N, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseUpperLower, + morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, MorseUpperLower, B, NB, NB, LDB, NRHS, M, NRHS, sequence, &request ); /* Call the tile interface */ @@ -149,9 +149,9 @@ int MORSE_zgeqrs(int M, int N, int NRHS, /* Submit the matrix conversion back */ morse_ztile2lap( morse, &descAl, &descAt, - MorseUpperLower, sequence, &request ); + MorseDescInput, MorseUpperLower, sequence, &request ); morse_ztile2lap( morse, &descBl, &descBt, - MorseUpperLower, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zgeqrs_param.c b/compute/zgeqrs_param.c index 9d702f0b0..3f4e89f0e 100644 --- a/compute/zgeqrs_param.c +++ b/compute/zgeqrs_param.c @@ -134,9 +134,9 @@ int MORSE_zgeqrs_param(const libhqr_tree_t *qrtree, int M, int N, int NRHS, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseUpperLower, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseUpperLower, A, NB, NB, LDA, N, M, N, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseUpperLower, + morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, MorseUpperLower, B, NB, NB, LDB, NRHS, M, NRHS, sequence, &request ); /* Call the tile interface */ @@ -144,9 +144,9 @@ int MORSE_zgeqrs_param(const libhqr_tree_t *qrtree, int M, int N, int NRHS, /* Submit the matrix conversion back */ morse_ztile2lap( morse, &descAl, &descAt, - MorseUpperLower, sequence, &request ); + MorseDescInput, MorseUpperLower, sequence, &request ); morse_ztile2lap( morse, &descBl, &descBt, - MorseUpperLower, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zgesv_incpiv.c b/compute/zgesv_incpiv.c index d20e9c526..53278b297 100644 --- a/compute/zgesv_incpiv.c +++ b/compute/zgesv_incpiv.c @@ -138,9 +138,9 @@ int MORSE_zgesv_incpiv(int N, int NRHS, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseUpperLower, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, MorseUpperLower, A, NB, NB, LDA, N, N, N, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseUpperLower, + morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, MorseUpperLower, B, NB, NB, LDB, NRHS, N, NRHS, sequence, &request ); /* Call the tile interface */ @@ -148,9 +148,9 @@ int MORSE_zgesv_incpiv(int N, int NRHS, /* Submit the matrix conversion back */ morse_ztile2lap( morse, &descAl, &descAt, - MorseUpperLower, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_ztile2lap( morse, &descBl, &descBt, - MorseUpperLower, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zgesv_nopiv.c b/compute/zgesv_nopiv.c index 6e9f42169..442df3b6e 100644 --- a/compute/zgesv_nopiv.c +++ b/compute/zgesv_nopiv.c @@ -137,9 +137,9 @@ int MORSE_zgesv_nopiv(int N, int NRHS, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseUpperLower, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, MorseUpperLower, A, NB, NB, LDA, N, N, N, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseUpperLower, + morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, MorseUpperLower, B, NB, NB, LDB, NRHS, N, NRHS, sequence, &request ); /* Call the tile interface */ @@ -147,9 +147,9 @@ int MORSE_zgesv_nopiv(int N, int NRHS, /* Submit the matrix conversion back */ morse_ztile2lap( morse, &descAl, &descAt, - MorseUpperLower, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_ztile2lap( morse, &descBl, &descBt, - MorseUpperLower, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zgesvd.c b/compute/zgesvd.c index b05aa6f4c..d84f67c96 100644 --- a/compute/zgesvd.c +++ b/compute/zgesvd.c @@ -215,7 +215,7 @@ int MORSE_zgesvd(MORSE_enum jobu, MORSE_enum jobvt, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseUpperLower, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, MorseUpperLower, A, NB, NB, LDA, N, M, N, sequence, &request ); /* Call the tile interface */ @@ -223,7 +223,7 @@ int MORSE_zgesvd(MORSE_enum jobu, MORSE_enum jobvt, /* Submit the matrix conversion back */ morse_ztile2lap( morse, &descAl, &descAt, - MorseUpperLower, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zgetrf_incpiv.c b/compute/zgetrf_incpiv.c index 65ef98d87..9628e1e13 100644 --- a/compute/zgetrf_incpiv.c +++ b/compute/zgetrf_incpiv.c @@ -124,7 +124,7 @@ int MORSE_zgetrf_incpiv(int M, int N, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseUpperLower, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, MorseUpperLower, A, NB, NB, LDA, N, M, N, sequence, &request ); /* Call the tile interface */ @@ -132,7 +132,7 @@ int MORSE_zgetrf_incpiv(int M, int N, /* Submit the matrix conversion back */ morse_ztile2lap( morse, &descAl, &descAt, - MorseUpperLower, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zgetrf_nopiv.c b/compute/zgetrf_nopiv.c index c4ea0f88f..919699244 100644 --- a/compute/zgetrf_nopiv.c +++ b/compute/zgetrf_nopiv.c @@ -117,7 +117,7 @@ int MORSE_zgetrf_nopiv(int M, int N, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseUpperLower, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, MorseUpperLower, A, NB, NB, LDA, N, N, N, sequence, &request ); /* Call the tile interface */ @@ -125,7 +125,7 @@ int MORSE_zgetrf_nopiv(int M, int N, /* Submit the matrix conversion back */ morse_ztile2lap( morse, &descAl, &descAt, - MorseUpperLower, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zgetrs_incpiv.c b/compute/zgetrs_incpiv.c index 418b598a1..b011994af 100644 --- a/compute/zgetrs_incpiv.c +++ b/compute/zgetrs_incpiv.c @@ -144,17 +144,19 @@ int MORSE_zgetrs_incpiv(MORSE_enum trans, int N, int NRHS, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseUpperLower, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseUpperLower, A, NB, NB, LDA, N, N, N, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseUpperLower, + morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, MorseUpperLower, B, NB, NB, LDB, NRHS, N, NRHS, sequence, &request ); /* Call the tile interface */ MORSE_zgetrs_incpiv_Tile_Async( &descAt, descL, IPIV, &descBt, sequence, &request ); /* Submit the matrix conversion back */ + morse_ztile2lap( morse, &descAl, &descAt, + MorseDescInput, MorseUpperLower, sequence, &request ); morse_ztile2lap( morse, &descBl, &descBt, - MorseUpperLower, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zgetrs_nopiv.c b/compute/zgetrs_nopiv.c index fc2a4f12b..8eff02ea1 100644 --- a/compute/zgetrs_nopiv.c +++ b/compute/zgetrs_nopiv.c @@ -138,17 +138,19 @@ int MORSE_zgetrs_nopiv(MORSE_enum trans, int N, int NRHS, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseUpperLower, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseUpperLower, A, NB, NB, LDA, N, N, N, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseUpperLower, + morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, MorseUpperLower, B, NB, NB, LDB, NRHS, N, NRHS, sequence, &request ); /* Call the tile interface */ MORSE_zgetrs_nopiv_Tile_Async( &descAt, &descBt, sequence, &request ); /* Submit the matrix conversion back */ + morse_ztile2lap( morse, &descAl, &descAt, + MorseDescInput, MorseUpperLower, sequence, &request ); morse_ztile2lap( morse, &descBl, &descBt, - MorseUpperLower, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zheevd.c b/compute/zheevd.c index 3bc25f3f3..1c763d06c 100644 --- a/compute/zheevd.c +++ b/compute/zheevd.c @@ -153,7 +153,7 @@ int MORSE_zheevd(MORSE_enum jobz, MORSE_enum uplo, int N, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, uplo, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, uplo, A, NB, NB, LDA, N, N, N, sequence, &request ); /* Call the tile interface */ @@ -161,7 +161,7 @@ int MORSE_zheevd(MORSE_enum jobz, MORSE_enum uplo, int N, /* Submit the matrix conversion back */ morse_ztile2lap( morse, &descAl, &descAt, - uplo, sequence, &request ); + MorseDescInout, uplo, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zhemm.c b/compute/zhemm.c index 57098b820..d004a263f 100644 --- a/compute/zhemm.c +++ b/compute/zhemm.c @@ -176,19 +176,23 @@ int MORSE_zhemm(MORSE_enum side, MORSE_enum uplo, int M, int N, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, uplo, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, uplo, A, NB, NB, LDA, Am, Am, Am, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, uplo, + morse_zlap2tile( morse, &descBl, &descBt, MorseDescInput, MorseUpperLower, B, NB, NB, LDB, N, M, N, sequence, &request ); - morse_zlap2tile( morse, &descCl, &descCt, uplo, + morse_zlap2tile( morse, &descCl, &descCt, MorseDescInout, MorseUpperLower, C, NB, NB, LDC, N, M, N, sequence, &request ); /* Call the tile interface */ MORSE_zhemm_Tile_Async( side, uplo, alpha, &descAt, &descBt, beta, &descCt, sequence, &request ); /* Submit the matrix conversion back */ + morse_ztile2lap( morse, &descAl, &descAt, + MorseDescInput, uplo, sequence, &request ); + morse_ztile2lap( morse, &descBl, &descBt, + MorseDescInput, MorseUpperLower, sequence, &request ); morse_ztile2lap( morse, &descCl, &descCt, - uplo, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zher2k.c b/compute/zher2k.c index 9f88e2053..6e573292f 100644 --- a/compute/zher2k.c +++ b/compute/zher2k.c @@ -181,19 +181,23 @@ int MORSE_zher2k(MORSE_enum uplo, MORSE_enum trans, int N, int K, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, uplo, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseUpperLower, A, NB, NB, LDA, An, Am, An, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, uplo, + morse_zlap2tile( morse, &descBl, &descBt, MorseDescInput, MorseUpperLower, B, NB, NB, LDB, An, Am, An, sequence, &request ); - morse_zlap2tile( morse, &descCl, &descCt, uplo, + morse_zlap2tile( morse, &descCl, &descCt, MorseDescInout, uplo, C, NB, NB, LDC, N, N, N, sequence, &request ); /* Call the tile interface */ MORSE_zher2k_Tile_Async( uplo, trans, alpha, &descAt, &descBt, beta, &descCt, sequence, &request ); /* Submit the matrix conversion back */ + morse_ztile2lap( morse, &descAl, &descAt, + MorseDescInput, MorseUpperLower, sequence, &request ); + morse_ztile2lap( morse, &descBl, &descBt, + MorseDescInput, MorseUpperLower, sequence, &request ); morse_ztile2lap( morse, &descCl, &descCt, - uplo, sequence, &request ); + MorseDescInout, uplo, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zherk.c b/compute/zherk.c index cda0eda2b..035adf207 100644 --- a/compute/zherk.c +++ b/compute/zherk.c @@ -166,17 +166,19 @@ int MORSE_zherk(MORSE_enum uplo, MORSE_enum trans, int N, int K, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, uplo, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseUpperLower, A, NB, NB, LDA, An, Am, An, sequence, &request ); - morse_zlap2tile( morse, &descCl, &descCt, uplo, + morse_zlap2tile( morse, &descCl, &descCt, MorseDescInout, uplo, C, NB, NB, LDC, N, N, N, sequence, &request ); /* Call the tile interface */ MORSE_zherk_Tile_Async( uplo, trans, alpha, &descAt, beta, &descCt, sequence, &request ); /* Submit the matrix conversion back */ + morse_ztile2lap( morse, &descAl, &descAt, + MorseDescInput, MorseUpperLower, sequence, &request ); morse_ztile2lap( morse, &descCl, &descCt, - uplo, sequence, &request ); + MorseDescInout, uplo, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zhetrd.c b/compute/zhetrd.c index d29be08b2..c2f530514 100644 --- a/compute/zhetrd.c +++ b/compute/zhetrd.c @@ -167,7 +167,7 @@ int MORSE_zhetrd(MORSE_enum jobz, MORSE_enum uplo, int N, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, uplo, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, uplo, A, NB, NB, LDA, N, N, N, sequence, &request ); /* Call the tile interface */ @@ -175,7 +175,7 @@ int MORSE_zhetrd(MORSE_enum jobz, MORSE_enum uplo, int N, /* Submit the matrix conversion back */ morse_ztile2lap( morse, &descAl, &descAt, - uplo, sequence, &request ); + MorseDescInout, uplo, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zlacpy.c b/compute/zlacpy.c index 75885a393..e06df2437 100644 --- a/compute/zlacpy.c +++ b/compute/zlacpy.c @@ -132,17 +132,19 @@ int MORSE_zlacpy(MORSE_enum uplo, int M, int N, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, uplo, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, uplo, A, NB, NB, LDA, N, M, N, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, uplo, + morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, uplo, B, NB, NB, LDB, N, M, N, sequence, &request ); /* Call the tile interface */ MORSE_zlacpy_Tile_Async( uplo, &descAt, &descBt, sequence, &request ); /* Submit the matrix conversion back */ + morse_ztile2lap( morse, &descAl, &descAt, + MorseDescInput, uplo, sequence, &request ); morse_ztile2lap( morse, &descBl, &descBt, - uplo, sequence, &request ); + MorseDescInout, uplo, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zlange.c b/compute/zlange.c index 362faddd8..b0e9aacbc 100644 --- a/compute/zlange.c +++ b/compute/zlange.c @@ -135,7 +135,7 @@ double MORSE_zlange(MORSE_enum norm, int M, int N, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseUpperLower, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseUpperLower, A, NB, NB, LDA, N, M, N, sequence, &request ); /* Call the tile interface */ @@ -143,7 +143,7 @@ double MORSE_zlange(MORSE_enum norm, int M, int N, /* Submit the matrix conversion back */ morse_ztile2lap( morse, &descAl, &descAt, - MorseUpperLower, sequence, &request ); + MorseDescInput, MorseUpperLower, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zlanhe.c b/compute/zlanhe.c index cad3fcdac..c2a5a38f6 100644 --- a/compute/zlanhe.c +++ b/compute/zlanhe.c @@ -135,7 +135,7 @@ double MORSE_zlanhe(MORSE_enum norm, MORSE_enum uplo, int N, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, uplo, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, uplo, A, NB, NB, LDA, N, N, N, sequence, &request ); /* Call the tile interface */ @@ -143,7 +143,7 @@ double MORSE_zlanhe(MORSE_enum norm, MORSE_enum uplo, int N, /* Submit the matrix conversion back */ morse_ztile2lap( morse, &descAl, &descAt, - uplo, sequence, &request ); + MorseDescInput, uplo, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zlansy.c b/compute/zlansy.c index 16c8fd40d..f1100d215 100644 --- a/compute/zlansy.c +++ b/compute/zlansy.c @@ -135,13 +135,15 @@ double MORSE_zlansy(MORSE_enum norm, MORSE_enum uplo, int N, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, uplo, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, uplo, A, NB, NB, LDA, N, N, N, sequence, &request ); /* Call the tile interface */ MORSE_zlansy_Tile_Async( norm, uplo, &descAt, &value, sequence, &request ); - /* Submit the matrix conversion */ + /* Submit the matrix conversion back */ + morse_ztile2lap( morse, &descAl, &descAt, + MorseDescInput, uplo, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zlantr.c b/compute/zlantr.c index 51b0539a3..aebf0fdb9 100644 --- a/compute/zlantr.c +++ b/compute/zlantr.c @@ -155,13 +155,15 @@ double MORSE_zlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, uplo, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, uplo, A, NB, NB, LDA, N, M, N, sequence, &request ); /* Call the tile interface */ MORSE_zlantr_Tile_Async( norm, uplo, diag, &descAt, &value, sequence, &request ); - /* Submit the matrix conversion */ + /* Submit the matrix conversion back */ + morse_ztile2lap( morse, &descAl, &descAt, + MorseDescInput, uplo, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zlascal.c b/compute/zlascal.c index 4fe78a6db..840530e4c 100644 --- a/compute/zlascal.c +++ b/compute/zlascal.c @@ -114,7 +114,7 @@ int MORSE_zlascal(MORSE_enum uplo, int M, int N, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, uplo, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, uplo, A, NB, NB, LDA, N, M, N, sequence, &request ); /* Call the tile interface */ @@ -122,8 +122,11 @@ int MORSE_zlascal(MORSE_enum uplo, int M, int N, /* Submit the matrix conversion back */ morse_ztile2lap( morse, &descAl, &descAt, - uplo, sequence, &request ); - RUNTIME_sequence_wait(morse, sequence); + MorseDescInout, uplo, sequence, &request ); + + morse_sequence_wait(morse, sequence); + + /* Cleanup the temporary data */ morse_ztile2lap_cleanup( morse, &descAl, &descAt ); status = sequence->status; diff --git a/compute/zlaset.c b/compute/zlaset.c index 3799aaf4e..c167bebab 100644 --- a/compute/zlaset.c +++ b/compute/zlaset.c @@ -128,13 +128,15 @@ int MORSE_zlaset(MORSE_enum uplo, int M, int N, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, uplo, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, uplo, A, NB, NB, LDA, N, M, N, sequence, &request ); /* Call the tile interface */ MORSE_zlaset_Tile_Async( uplo, alpha, beta, &descAt, sequence, &request ); - /* Submit the matrix conversion */ + /* Submit the matrix conversion back */ + morse_ztile2lap( morse, &descAl, &descAt, + MorseDescInout, uplo, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zlauum.c b/compute/zlauum.c index 12661efe0..3fb93a3fd 100644 --- a/compute/zlauum.c +++ b/compute/zlauum.c @@ -122,7 +122,7 @@ int MORSE_zlauum(MORSE_enum uplo, int N, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, uplo, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, uplo, A, NB, NB, LDA, N, N, N, sequence, &request ); /* Call the tile interface */ @@ -130,7 +130,7 @@ int MORSE_zlauum(MORSE_enum uplo, int N, /* Submit the matrix conversion back */ morse_ztile2lap( morse, &descAl, &descAt, - uplo, sequence, &request ); + MorseDescInout, uplo, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zplghe.c b/compute/zplghe.c index c2ffc15aa..6889182ed 100644 --- a/compute/zplghe.c +++ b/compute/zplghe.c @@ -116,7 +116,7 @@ int MORSE_zplghe( double bump, MORSE_enum uplo, int N, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, uplo, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescOutput, uplo, A, NB, NB, LDA, N, N, N, sequence, &request ); /* Call the tile interface */ @@ -124,7 +124,7 @@ int MORSE_zplghe( double bump, MORSE_enum uplo, int N, /* Submit the matrix conversion back */ morse_ztile2lap( morse, &descAl, &descAt, - uplo, sequence, &request ); + MorseDescOutput, uplo, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zplgsy.c b/compute/zplgsy.c index 4da8ef7e8..3c857fbd8 100644 --- a/compute/zplgsy.c +++ b/compute/zplgsy.c @@ -116,7 +116,7 @@ int MORSE_zplgsy( MORSE_Complex64_t bump, MORSE_enum uplo, int N, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, uplo, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescOutput, uplo, A, NB, NB, LDA, N, N, N, sequence, &request ); /* Call the tile interface */ @@ -124,7 +124,7 @@ int MORSE_zplgsy( MORSE_Complex64_t bump, MORSE_enum uplo, int N, /* Submit the matrix conversion back */ morse_ztile2lap( morse, &descAl, &descAt, - uplo, sequence, &request ); + MorseDescOutput, uplo, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zplrnt.c b/compute/zplrnt.c index abca218fe..431f9ea54 100644 --- a/compute/zplrnt.c +++ b/compute/zplrnt.c @@ -114,7 +114,7 @@ int MORSE_zplrnt( int M, int N, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseUpperLower, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescOutput, MorseUpperLower, A, NB, NB, LDA, N, M, N, sequence, &request ); /* Call the tile interface */ @@ -122,7 +122,7 @@ int MORSE_zplrnt( int M, int N, /* Submit the matrix conversion back */ morse_ztile2lap( morse, &descAl, &descAt, - MorseUpperLower, sequence, &request ); + MorseDescOutput, MorseUpperLower, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zposv.c b/compute/zposv.c index 76032a3da..97099a30c 100644 --- a/compute/zposv.c +++ b/compute/zposv.c @@ -151,9 +151,9 @@ int MORSE_zposv(MORSE_enum uplo, int N, int NRHS, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, uplo, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, uplo, A, NB, NB, LDA, N, N, N, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, uplo, + morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, uplo, B, NB, NB, LDB, NRHS, N, NRHS, sequence, &request ); /* Call the tile interface */ @@ -161,9 +161,9 @@ int MORSE_zposv(MORSE_enum uplo, int N, int NRHS, /* Submit the matrix conversion back */ morse_ztile2lap( morse, &descAl, &descAt, - uplo, sequence, &request ); + MorseDescInout, uplo, sequence, &request ); morse_ztile2lap( morse, &descBl, &descBt, - uplo, sequence, &request ); + MorseDescInout, uplo, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zpotrf.c b/compute/zpotrf.c index 2ec32c2d7..950cb9220 100644 --- a/compute/zpotrf.c +++ b/compute/zpotrf.c @@ -128,7 +128,7 @@ int MORSE_zpotrf(MORSE_enum uplo, int N, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, uplo, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, uplo, A, NB, NB, LDA, N, N, N, sequence, &request ); /* Call the tile interface */ @@ -136,7 +136,7 @@ int MORSE_zpotrf(MORSE_enum uplo, int N, /* Submit the matrix conversion back */ morse_ztile2lap( morse, &descAl, &descAt, - uplo, sequence, &request ); + MorseDescInout, uplo, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zpotri.c b/compute/zpotri.c index 542ad704c..8778a473c 100644 --- a/compute/zpotri.c +++ b/compute/zpotri.c @@ -119,7 +119,7 @@ int MORSE_zpotri(MORSE_enum uplo, int N, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, uplo, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, uplo, A, NB, NB, LDA, N, N, N, sequence, &request ); /* Call the tile interface */ @@ -127,7 +127,7 @@ int MORSE_zpotri(MORSE_enum uplo, int N, /* Submit the matrix conversion back */ morse_ztile2lap( morse, &descAl, &descAt, - uplo, sequence, &request ); + MorseDescInout, uplo, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zpotrimm.c b/compute/zpotrimm.c index 2aab20b73..1850d998c 100644 --- a/compute/zpotrimm.c +++ b/compute/zpotrimm.c @@ -131,11 +131,11 @@ int MORSE_zpotrimm(MORSE_enum uplo, int N, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, uplo, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, uplo, A, NB, NB, LDA, N, N, N, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, uplo, + morse_zlap2tile( morse, &descBl, &descBt, MorseDescInput, MorseUpperLower, B, NB, NB, LDB, N, N, N, sequence, &request ); - morse_zlap2tile( morse, &descCl, &descCt, uplo, + morse_zlap2tile( morse, &descCl, &descCt, MorseDescInout, MorseUpperLower, C, NB, NB, LDC, N, N, N, sequence, &request ); /* Call the tile interface */ @@ -143,11 +143,11 @@ int MORSE_zpotrimm(MORSE_enum uplo, int N, /* Submit the matrix conversion back */ morse_ztile2lap( morse, &descAl, &descAt, - uplo, sequence, &request ); + MorseDescInout, uplo, sequence, &request ); morse_ztile2lap( morse, &descBl, &descBt, - uplo, sequence, &request ); + MorseDescInput, MorseUpperLower, sequence, &request ); morse_ztile2lap( morse, &descCl, &descCt, - uplo, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zpotrs.c b/compute/zpotrs.c index 8d841fec4..162c6cb29 100644 --- a/compute/zpotrs.c +++ b/compute/zpotrs.c @@ -135,17 +135,19 @@ int MORSE_zpotrs(MORSE_enum uplo, int N, int NRHS, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, uplo, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, uplo, A, NB, NB, LDA, N, N, N, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, uplo, + morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, MorseUpperLower, B, NB, NB, LDB, NRHS, N, NRHS, sequence, &request ); /* Call the tile interface */ MORSE_zpotrs_Tile_Async( uplo, &descAt, &descBt, sequence, &request ); /* Submit the matrix conversion back */ + morse_ztile2lap( morse, &descAl, &descAt, + MorseDescInput, uplo, sequence, &request ); morse_ztile2lap( morse, &descBl, &descBt, - uplo, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zsymm.c b/compute/zsymm.c index d7826a9a6..d2405343a 100644 --- a/compute/zsymm.c +++ b/compute/zsymm.c @@ -176,19 +176,23 @@ int MORSE_zsymm(MORSE_enum side, MORSE_enum uplo, int M, int N, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, uplo, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, uplo, A, NB, NB, LDA, Am, Am, Am, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, uplo, + morse_zlap2tile( morse, &descBl, &descBt, MorseDescInput, MorseUpperLower, B, NB, NB, LDB, N, M, N, sequence, &request ); - morse_zlap2tile( morse, &descCl, &descCt, uplo, + morse_zlap2tile( morse, &descCl, &descCt, MorseDescInout, MorseUpperLower, C, NB, NB, LDC, N, M, N, sequence, &request ); /* Call the tile interface */ MORSE_zsymm_Tile_Async( side, uplo, alpha, &descAt, &descBt, beta, &descCt, sequence, &request ); /* Submit the matrix conversion back */ + morse_ztile2lap( morse, &descAl, &descAt, + MorseDescInput, uplo, sequence, &request ); + morse_ztile2lap( morse, &descBl, &descBt, + MorseDescInput, MorseUpperLower, sequence, &request ); morse_ztile2lap( morse, &descCl, &descCt, - uplo, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zsyr2k.c b/compute/zsyr2k.c index 88020a26b..59e6790c5 100644 --- a/compute/zsyr2k.c +++ b/compute/zsyr2k.c @@ -181,19 +181,23 @@ int MORSE_zsyr2k(MORSE_enum uplo, MORSE_enum trans, int N, int K, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, uplo, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseUpperLower, A, NB, NB, LDA, An, Am, An, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, uplo, + morse_zlap2tile( morse, &descBl, &descBt, MorseDescInput, MorseUpperLower, B, NB, NB, LDB, An, Am, An, sequence, &request ); - morse_zlap2tile( morse, &descCl, &descCt, uplo, + morse_zlap2tile( morse, &descCl, &descCt, MorseDescInout, uplo, C, NB, NB, LDC, N, N, N, sequence, &request ); /* Call the tile interface */ MORSE_zsyr2k_Tile_Async( uplo, trans, alpha, &descAt, &descBt, beta, &descCt, sequence, &request ); /* Submit the matrix conversion back */ + morse_ztile2lap( morse, &descAl, &descAt, + MorseDescInput, MorseUpperLower, sequence, &request ); + morse_ztile2lap( morse, &descBl, &descBt, + MorseDescInput, MorseUpperLower, sequence, &request ); morse_ztile2lap( morse, &descCl, &descCt, - uplo, sequence, &request ); + MorseDescInout, uplo, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zsyrk.c b/compute/zsyrk.c index 237164df2..5cbe29975 100644 --- a/compute/zsyrk.c +++ b/compute/zsyrk.c @@ -166,17 +166,19 @@ int MORSE_zsyrk(MORSE_enum uplo, MORSE_enum trans, int N, int K, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, uplo, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseUpperLower, A, NB, NB, LDA, An, Am, An, sequence, &request ); - morse_zlap2tile( morse, &descCl, &descCt, uplo, + morse_zlap2tile( morse, &descCl, &descCt, MorseDescInout, uplo, C, NB, NB, LDC, N, N, N, sequence, &request ); /* Call the tile interface */ MORSE_zsyrk_Tile_Async( uplo, trans, alpha, &descAt, beta, &descCt, sequence, &request ); /* Submit the matrix conversion back */ + morse_ztile2lap( morse, &descAl, &descAt, + MorseDescInput, MorseUpperLower, sequence, &request ); morse_ztile2lap( morse, &descCl, &descCt, - uplo, sequence, &request ); + MorseDescInout, uplo, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zsysv.c b/compute/zsysv.c index fa5c01538..460624047 100644 --- a/compute/zsysv.c +++ b/compute/zsysv.c @@ -148,9 +148,9 @@ int MORSE_zsysv(MORSE_enum uplo, int N, int NRHS, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, uplo, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, uplo, A, NB, NB, LDA, N, N, N, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, uplo, + morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, MorseUpperLower, B, NB, NB, LDB, NRHS, N, NRHS, sequence, &request ); /* Call the tile interface */ @@ -158,9 +158,9 @@ int MORSE_zsysv(MORSE_enum uplo, int N, int NRHS, /* Submit the matrix conversion back */ morse_ztile2lap( morse, &descAl, &descAt, - uplo, sequence, &request ); + MorseDescInout, uplo, sequence, &request ); morse_ztile2lap( morse, &descBl, &descBt, - uplo, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zsytrf.c b/compute/zsytrf.c index 34df2fcee..1d0875bb0 100644 --- a/compute/zsytrf.c +++ b/compute/zsytrf.c @@ -123,7 +123,7 @@ int MORSE_zsytrf(MORSE_enum uplo, int N, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, uplo, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, uplo, A, NB, NB, LDA, N, N, N, sequence, &request ); /* Call the tile interface */ @@ -131,7 +131,7 @@ int MORSE_zsytrf(MORSE_enum uplo, int N, /* Submit the matrix conversion back */ morse_ztile2lap( morse, &descAl, &descAt, - uplo, sequence, &request ); + MorseDescInout, uplo, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zsytrs.c b/compute/zsytrs.c index 201561ad8..16812476d 100644 --- a/compute/zsytrs.c +++ b/compute/zsytrs.c @@ -134,17 +134,19 @@ int MORSE_zsytrs(MORSE_enum uplo, int N, int NRHS, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, uplo, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, uplo, A, NB, NB, LDA, N, N, N, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, uplo, + morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, MorseUpperLower, B, NB, NB, LDB, NRHS, N, NRHS, sequence, &request ); /* Call the tile interface */ MORSE_zsytrs_Tile_Async( uplo, &descAt, &descBt, sequence, &request ); /* Submit the matrix conversion back */ + morse_ztile2lap( morse, &descAl, &descAt, + MorseDescInput, uplo, sequence, &request ); morse_ztile2lap( morse, &descBl, &descBt, - uplo, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/ztile.c b/compute/ztile.c index 84a18d4b0..a52368eb5 100644 --- a/compute/ztile.c +++ b/compute/ztile.c @@ -97,7 +97,7 @@ int MORSE_zLapack_to_Tile(MORSE_Complex64_t *Af77, int LDA, MORSE_desc_t *A) RUNTIME_desc_flush( &B, sequence ); RUNTIME_desc_flush( A, sequence ); - RUNTIME_sequence_wait( morse, sequence ); + morse_sequence_wait( morse, sequence ); RUNTIME_desc_destroy( &B ); @@ -177,7 +177,7 @@ int MORSE_zTile_to_Lapack(MORSE_desc_t *A, MORSE_Complex64_t *Af77, int LDA) RUNTIME_desc_flush( A, sequence ); RUNTIME_desc_flush( &B, sequence ); - RUNTIME_sequence_wait( morse, sequence ); + morse_sequence_wait( morse, sequence ); RUNTIME_desc_destroy( &B ); diff --git a/compute/ztpgqrt.c b/compute/ztpgqrt.c index faff5bee6..adf47e86c 100644 --- a/compute/ztpgqrt.c +++ b/compute/ztpgqrt.c @@ -211,23 +211,27 @@ int MORSE_ztpgqrt( int M, int N, int K, int L, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descV1l, &descV1t, MorseUpperLower, + morse_zlap2tile( morse, &descV1l, &descV1t, MorseDescInput, MorseUpperLower, V1, NB, NB, LDV1, K, M, K, sequence, &request ); - morse_zlap2tile( morse, &descV2l, &descV2t, MorseUpperLower, + morse_zlap2tile( morse, &descV2l, &descV2t, MorseDescInput, MorseUpperLower, V2, NB, NB, LDV2, K, M, K, sequence, &request ); - morse_zlap2tile( morse, &descQ1l, &descQ1t, MorseUpperLower, + morse_zlap2tile( morse, &descQ1l, &descQ1t, MorseDescInout, MorseUpperLower, Q1, NB, NB, LDQ1, N, K, N, sequence, &request ); - morse_zlap2tile( morse, &descQ2l, &descQ2t, MorseUpperLower, + morse_zlap2tile( morse, &descQ2l, &descQ2t, MorseDescInout, MorseUpperLower, Q2, NB, NB, LDQ2, N, M, N, sequence, &request ); /* Call the tile interface */ MORSE_ztpgqrt_Tile_Async( L, &descV1t, descT1, &descV2t, descT2, &descQ1t, &descQ2t, sequence, &request ); /* Submit the matrix conversion back */ + morse_ztile2lap( morse, &descV1l, &descV1t, + MorseDescInput, MorseUpperLower, sequence, &request ); + morse_ztile2lap( morse, &descV2l, &descV2t, + MorseDescInput, MorseUpperLower, sequence, &request ); morse_ztile2lap( morse, &descQ1l, &descQ1t, - MorseUpperLower, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_ztile2lap( morse, &descQ2l, &descQ2t, - MorseUpperLower, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/ztpqrt.c b/compute/ztpqrt.c index ba56c04a3..bdbe28718 100644 --- a/compute/ztpqrt.c +++ b/compute/ztpqrt.c @@ -187,9 +187,9 @@ int MORSE_ztpqrt( int M, int N, int L, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseUpperLower, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, MorseUpper, A, NB, NB, LDA, N, N, N, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseUpperLower, + morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, MorseUpperLower, B, NB, NB, LDB, N, M, N, sequence, &request ); /* Call the tile interface */ @@ -197,9 +197,9 @@ int MORSE_ztpqrt( int M, int N, int L, /* Submit the matrix conversion back */ morse_ztile2lap( morse, &descAl, &descAt, - MorseUpperLower, sequence, &request ); + MorseDescInout, MorseUpper, sequence, &request ); morse_ztile2lap( morse, &descBl, &descBt, - MorseUpperLower, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/ztradd.c b/compute/ztradd.c index 6883d04bd..2fa56e67a 100644 --- a/compute/ztradd.c +++ b/compute/ztradd.c @@ -165,17 +165,19 @@ int MORSE_ztradd(MORSE_enum uplo, MORSE_enum trans, int M, int N, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, uplo, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, uplo, A, NB, NB, LDA, An, Am, An, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, uplo, + morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, uplo, B, NB, NB, LDB, N, M, N, sequence, &request ); /* Call the tile interface */ MORSE_ztradd_Tile_Async( uplo, trans, alpha, &descAt, beta, &descBt, sequence, &request ); /* Submit the matrix conversion back */ + morse_ztile2lap( morse, &descAl, &descAt, + MorseDescInput, uplo, sequence, &request ); morse_ztile2lap( morse, &descBl, &descBt, - uplo, sequence, &request ); + MorseDescInout, uplo, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/ztrmm.c b/compute/ztrmm.c index 20f8c2330..268ea9a5f 100644 --- a/compute/ztrmm.c +++ b/compute/ztrmm.c @@ -179,17 +179,19 @@ int MORSE_ztrmm(MORSE_enum side, MORSE_enum uplo, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, uplo, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, uplo, A, NB, NB, LDA, NA, NA, NA, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, uplo, - B, NB, NB, LDB, NRHS, N, NRHS, sequence, &request ); + morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, MorseUpperLower, + B, NB, NB, LDB, NRHS, N, NRHS, sequence, &request ); /* Call the tile interface */ MORSE_ztrmm_Tile_Async( side, uplo, transA, diag, alpha, &descAt, &descBt, sequence, &request ); /* Submit the matrix conversion back */ + morse_ztile2lap( morse, &descAl, &descAt, + MorseDescInput, uplo, sequence, &request ); morse_ztile2lap( morse, &descBl, &descBt, - uplo, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/ztrsm.c b/compute/ztrsm.c index f58707ef3..8313dcc5f 100644 --- a/compute/ztrsm.c +++ b/compute/ztrsm.c @@ -177,17 +177,19 @@ int MORSE_ztrsm(MORSE_enum side, MORSE_enum uplo, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, uplo, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, uplo, A, NB, NB, LDA, NA, NA, NA, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, uplo, + morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, MorseUpperLower, B, NB, NB, LDB, NRHS, N, NRHS, sequence, &request ); /* Call the tile interface */ MORSE_ztrsm_Tile_Async( side, uplo, transA, diag, alpha, &descAt, &descBt, sequence, &request ); /* Submit the matrix conversion back */ + morse_ztile2lap( morse, &descAl, &descAt, + MorseDescInput, uplo, sequence, &request ); morse_ztile2lap( morse, &descBl, &descBt, - uplo, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/ztrsmpl.c b/compute/ztrsmpl.c index ec0c750e7..83195d5c6 100644 --- a/compute/ztrsmpl.c +++ b/compute/ztrsmpl.c @@ -132,17 +132,19 @@ int MORSE_ztrsmpl(int N, int NRHS, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseUpperLower, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseLower, A, NB, NB, LDA, N, N, N, sequence, &request ); - morse_zlap2tile( morse, &descBl, &descBt, MorseUpperLower, + morse_zlap2tile( morse, &descBl, &descBt, MorseDescInout, MorseUpperLower, B, NB, NB, LDB, NRHS, N, NRHS, sequence, &request ); /* Call the tile interface */ MORSE_ztrsmpl_Tile_Async( &descAt, descL, IPIV, &descBt, sequence, &request ); /* Submit the matrix conversion back */ + morse_ztile2lap( morse, &descAl, &descAt, + MorseDescInput, MorseLower, sequence, &request ); morse_ztile2lap( morse, &descBl, &descBt, - MorseUpperLower, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/ztrtri.c b/compute/ztrtri.c index f1f9ed70e..c1864a56f 100644 --- a/compute/ztrtri.c +++ b/compute/ztrtri.c @@ -126,12 +126,12 @@ int MORSE_ztrtri(MORSE_enum uplo, MORSE_enum diag, int N, } /* Set NT */ - NB = MORSE_NB; + NB = MORSE_NB; morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, uplo, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInout, uplo, A, NB, NB, LDA, N, N, N, sequence, &request ); /* Call the tile interface */ @@ -139,7 +139,7 @@ int MORSE_ztrtri(MORSE_enum uplo, MORSE_enum diag, int N, /* Submit the matrix conversion back */ morse_ztile2lap( morse, &descAl, &descAt, - uplo, sequence, &request ); + MorseDescInout, uplo, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zunglq.c b/compute/zunglq.c index c6cf9ed57..4dbd23de5 100644 --- a/compute/zunglq.c +++ b/compute/zunglq.c @@ -138,17 +138,19 @@ int MORSE_zunglq(int M, int N, int K, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseUpperLower, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseUpper, A, NB, NB, LDA, N, K, N, sequence, &request ); - morse_zlap2tile( morse, &descQl, &descQt, MorseUpperLower, + morse_zlap2tile( morse, &descQl, &descQt, MorseDescInout, MorseUpperLower, Q, NB, NB, LDQ, N, M, N, sequence, &request ); /* Call the tile interface */ MORSE_zunglq_Tile_Async( &descAt, descT, &descQt, sequence, &request ); /* Submit the matrix conversion back */ + morse_ztile2lap( morse, &descAl, &descAt, + MorseDescInput, MorseUpper, sequence, &request ); morse_ztile2lap( morse, &descQl, &descQt, - MorseUpperLower, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zunglq_param.c b/compute/zunglq_param.c index e1c6607a4..deec8916a 100644 --- a/compute/zunglq_param.c +++ b/compute/zunglq_param.c @@ -135,17 +135,19 @@ int MORSE_zunglq_param(const libhqr_tree_t *qrtree, int M, int N, int K, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseUpperLower, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseUpper, A, NB, NB, LDA, N, K, N, sequence, &request ); - morse_zlap2tile( morse, &descQl, &descQt, MorseUpperLower, + morse_zlap2tile( morse, &descQl, &descQt, MorseDescInout, MorseUpperLower, Q, NB, NB, LDQ, N, M, N, sequence, &request ); /* Call the tile interface */ MORSE_zunglq_param_Tile_Async( qrtree, &descAt, descTS, descTT, &descQt, sequence, &request ); /* Submit the matrix conversion back */ + morse_ztile2lap( morse, &descAl, &descAt, + MorseDescInput, MorseUpper, sequence, &request ); morse_ztile2lap( morse, &descQl, &descQt, - MorseUpperLower, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zungqr.c b/compute/zungqr.c index 9e5ce555a..db36ac172 100644 --- a/compute/zungqr.c +++ b/compute/zungqr.c @@ -137,17 +137,19 @@ int MORSE_zungqr(int M, int N, int K, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseUpperLower, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseLower, A, NB, NB, LDA, N, M, K, sequence, &request ); - morse_zlap2tile( morse, &descQl, &descQt, MorseUpperLower, + morse_zlap2tile( morse, &descQl, &descQt, MorseDescInout, MorseUpperLower, Q, NB, NB, LDQ, N, M, N, sequence, &request ); /* Call the tile interface */ MORSE_zungqr_Tile_Async( &descAt, descT, &descQt, sequence, &request ); /* Submit the matrix conversion back */ + morse_ztile2lap( morse, &descAl, &descAt, + MorseDescInput, MorseLower, sequence, &request ); morse_ztile2lap( morse, &descQl, &descQt, - MorseUpperLower, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zungqr_param.c b/compute/zungqr_param.c index 342c12f3a..32bb62d7a 100644 --- a/compute/zungqr_param.c +++ b/compute/zungqr_param.c @@ -136,17 +136,19 @@ int MORSE_zungqr_param(const libhqr_tree_t *qrtree, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseUpperLower, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseLower, A, NB, NB, LDA, N, M, K, sequence, &request ); - morse_zlap2tile( morse, &descQl, &descQt, MorseUpperLower, + morse_zlap2tile( morse, &descQl, &descQt, MorseDescInout, MorseUpperLower, Q, NB, NB, LDQ, N, M, N, sequence, &request ); /* Call the tile interface */ MORSE_zungqr_param_Tile_Async( qrtree, &descAt, descTS, descTT, &descQt, sequence, &request ); /* Submit the matrix conversion back */ + morse_ztile2lap( morse, &descAl, &descAt, + MorseDescInput, MorseLower, sequence, &request ); morse_ztile2lap( morse, &descQl, &descQt, - MorseUpperLower, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zunmlq.c b/compute/zunmlq.c index f944588a9..7ba6f30b7 100644 --- a/compute/zunmlq.c +++ b/compute/zunmlq.c @@ -175,17 +175,19 @@ int MORSE_zunmlq(MORSE_enum side, MORSE_enum trans, int M, int N, int K, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseUpperLower, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseUpper, A, NB, NB, LDA, An, K, An, sequence, &request ); - morse_zlap2tile( morse, &descCl, &descCt, MorseUpperLower, + morse_zlap2tile( morse, &descCl, &descCt, MorseDescInout, MorseUpperLower, C, NB, NB, LDC, N, M, N, sequence, &request ); /* Call the tile interface */ MORSE_zunmlq_Tile_Async( side, trans, &descAt, descT, &descCt, sequence, &request ); /* Submit the matrix conversion back */ + morse_ztile2lap( morse, &descAl, &descAt, + MorseDescInput, MorseUpper, sequence, &request ); morse_ztile2lap( morse, &descCl, &descCt, - MorseUpperLower, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zunmlq_param.c b/compute/zunmlq_param.c index b4ab58d0c..fce325bd7 100644 --- a/compute/zunmlq_param.c +++ b/compute/zunmlq_param.c @@ -174,17 +174,19 @@ int MORSE_zunmlq_param(const libhqr_tree_t *qrtree, MORSE_enum side, MORSE_enum morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseUpperLower, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseUpper, A, NB, NB, LDA, An, K, An, sequence, &request ); - morse_zlap2tile( morse, &descCl, &descCt, MorseUpperLower, + morse_zlap2tile( morse, &descCl, &descCt, MorseDescInout, MorseUpperLower, C, NB, NB, LDC, N, M, N, sequence, &request ); /* Call the tile interface */ MORSE_zunmlq_param_Tile_Async( qrtree, side, trans, &descAt, descTS, descTT, &descCt, sequence, &request ); /* Submit the matrix conversion back */ + morse_ztile2lap( morse, &descAl, &descAt, + MorseDescInput, MorseUpper, sequence, &request ); morse_ztile2lap( morse, &descCl, &descCt, - MorseUpperLower, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zunmqr.c b/compute/zunmqr.c index c2b513ef7..501300566 100644 --- a/compute/zunmqr.c +++ b/compute/zunmqr.c @@ -178,17 +178,19 @@ int MORSE_zunmqr(MORSE_enum side, MORSE_enum trans, int M, int N, int K, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseUpperLower, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseLower, A, NB, NB, LDA, K, Am, K, sequence, &request ); - morse_zlap2tile( morse, &descCl, &descCt, MorseUpperLower, + morse_zlap2tile( morse, &descCl, &descCt, MorseDescInout, MorseUpperLower, C, NB, NB, LDC, N, M, N, sequence, &request ); /* Call the tile interface */ MORSE_zunmqr_Tile_Async( side, trans, &descAt, descT, &descCt, sequence, &request ); /* Submit the matrix conversion back */ + morse_ztile2lap( morse, &descAl, &descAt, + MorseDescInput, MorseLower, sequence, &request ); morse_ztile2lap( morse, &descCl, &descCt, - MorseUpperLower, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/compute/zunmqr_param.c b/compute/zunmqr_param.c index 53656b7c3..d1f406be2 100644 --- a/compute/zunmqr_param.c +++ b/compute/zunmqr_param.c @@ -179,17 +179,19 @@ int MORSE_zunmqr_param(const libhqr_tree_t *qrtree, morse_sequence_create(morse, &sequence); /* Submit the matrix conversion */ - morse_zlap2tile( morse, &descAl, &descAt, MorseUpperLower, + morse_zlap2tile( morse, &descAl, &descAt, MorseDescInput, MorseLower, A, NB, NB, LDA, K, Am, K, sequence, &request ); - morse_zlap2tile( morse, &descCl, &descCt, MorseUpperLower, + morse_zlap2tile( morse, &descCl, &descCt, MorseDescInout, MorseUpperLower, C, NB, NB, LDC, N, M, N, sequence, &request ); /* Call the tile interface */ MORSE_zunmqr_param_Tile_Async( qrtree, side, trans, &descAt, descTS, descTT, &descCt, sequence, &request ); /* Submit the matrix conversion back */ + morse_ztile2lap( morse, &descAl, &descAt, + MorseDescInput, MorseLower, sequence, &request ); morse_ztile2lap( morse, &descCl, &descCt, - MorseUpperLower, sequence, &request ); + MorseDescInout, MorseUpperLower, sequence, &request ); morse_sequence_wait(morse, sequence); diff --git a/control/common.h b/control/common.h index 07c3adccc..1df9385ba 100644 --- a/control/common.h +++ b/control/common.h @@ -107,7 +107,6 @@ #define MorseIPT_Panel 1 #define MorseIPT_All 2 - /******************************************************************************* * Global array of LAPACK constants **/ diff --git a/control/compute_z.h b/control/compute_z.h index 55a9de175..7a1086edc 100644 --- a/control/compute_z.h +++ b/control/compute_z.h @@ -28,6 +28,13 @@ * **/ +/******************************************************************************* + * LAPACK/Tile Descriptor accesses + **/ +#define MorseDescInput 1 +#define MorseDescOutput 2 +#define MorseDescInout 3 + /***************************************************************************//** * Macro for matrix conversion / Lapack interface **/ @@ -180,7 +187,8 @@ void morse_pzungqr_param(const libhqr_tree_t *qrtree, MORSE_desc_t *A, MORSE_des static inline int morse_zlap2tile( MORSE_context_t *morse, MORSE_desc_t *descAl, MORSE_desc_t *descAt, - MORSE_enum uplo, MORSE_Complex64_t *A, int mb, int nb, int lm, int ln, int m, int n, + MORSE_enum mode, MORSE_enum uplo, + MORSE_Complex64_t *A, int mb, int nb, int lm, int ln, int m, int n, MORSE_sequence_t *seq, MORSE_request_t *req ) { /* Initialize the Lapack descriptor */ @@ -205,13 +213,17 @@ morse_zlap2tile( MORSE_context_t *morse, RUNTIME_desc_destroy( descAt ); return MORSE_ERR_OUT_OF_RESOURCES; } - morse_pzlacpy( uplo, descAl, descAt, seq, req ); + if ( mode & MorseDescInput ) { + morse_pzlacpy( uplo, descAl, descAt, seq, req ); + } } else { morse_fatal_error( "morse_zlap2tile", "INPLACE translation not supported yet"); descAt->mat = A; - /* MORSE_zgecfi_Async( lm, ln, A, MorseCM, mb, nb, */ - /* MorseCCRB, mb, nb, seq, req ); */ + if ( mode & MorseDescInput ) { + /* MORSE_zgecfi_Async( lm, ln, A, MorseCM, mb, nb, */ + /* MorseCCRB, mb, nb, seq, req ); */ + } return MORSE_ERR_NOT_SUPPORTED; } @@ -224,16 +236,20 @@ morse_zlap2tile( MORSE_context_t *morse, */ static inline int morse_ztile2lap( MORSE_context_t *morse, MORSE_desc_t *descAl, MORSE_desc_t *descAt, - MORSE_enum uplo, MORSE_sequence_t *seq, MORSE_request_t *req ) + MORSE_enum mode, MORSE_enum uplo, MORSE_sequence_t *seq, MORSE_request_t *req ) { if ( MORSE_TRANSLATION == MORSE_OUTOFPLACE ) { - morse_pzlacpy( uplo, descAt, descAl, seq, req ); + if ( mode & MorseDescOutput ) { + morse_pzlacpy( uplo, descAt, descAl, seq, req ); + } } else { morse_fatal_error( "morse_ztile2lap", "INPLACE translation not supported yet"); - /* MORSE_zgecfi_Async( descAl->lm, descAl->ln, descAl->mat, */ - /* MorseCCRB, descAl->mb, descAl->nb, */ - /* MorseCM, descAl->mb, descAl->nb, seq, req ); */ + if ( mode & MorseDescOutput ) { + /* MORSE_zgecfi_Async( descAl->lm, descAl->ln, descAl->mat, */ + /* MorseCCRB, descAl->mb, descAl->nb, */ + /* MorseCM, descAl->mb, descAl->nb, seq, req ); */ + } return MORSE_ERR_NOT_SUPPORTED; } RUNTIME_desc_flush( descAl, seq ); diff --git a/include/chameleon/morse_constants.h b/include/chameleon/morse_constants.h index 8ffe90dc0..5638145bd 100644 --- a/include/chameleon/morse_constants.h +++ b/include/chameleon/morse_constants.h @@ -109,7 +109,6 @@ #define morse_const_neg(const) (((const-1)^0x01)+1) - /** **************************************************************************** * MORSE constants - boolean **/ @@ -119,7 +118,6 @@ #define MORSE_CPU ((1ULL)<<1) #define MORSE_CUDA ((1ULL)<<3) - /** **************************************************************************** * State machine switches **/ @@ -149,7 +147,6 @@ #define MORSE_INPLACE 1 #define MORSE_OUTOFPLACE 2 - /** **************************************************************************** * MORSE constants - success & error codes **/ @@ -166,7 +163,6 @@ #define MORSE_ERR_UNEXPECTED -110 #define MORSE_ERR_SEQUENCE_FLUSHED -111 - /** **************************************************************************** * Kernels options **/ @@ -181,7 +177,6 @@ #define CALLBACK 17 #define REDUX 18 - /** **************************************************************************** * MORSE ??? **/ -- GitLab