diff --git a/compute/pzunmlq.c b/compute/pzunmlq.c index df686642bc6831ce37ae65a92f0be9e5befd0bea..84475c878f2dc015d7819572c2ccc807b7588a97 100644 --- a/compute/pzunmlq.c +++ b/compute/pzunmlq.c @@ -127,6 +127,10 @@ void morse_pzunmlq(MORSE_enum side, MORSE_enum trans, T(k, k), T->mb, B(k, n), ldbk); } + + MORSE_TASK_dataflush( &options, D(k) ); + MORSE_TASK_dataflush( &options, T(k, k) ); + for (m = k+1; m < B->mt; m++) { tempmm = m == B->mt-1 ? B->m-m*B->mb : B->mb; ldbm = BLKLDD(B, m); @@ -146,6 +150,9 @@ void morse_pzunmlq(MORSE_enum side, MORSE_enum trans, B(k, n), ldbk, B(m, n), ldbm); } + + MORSE_TASK_dataflush( &options, A(k, m) ); + MORSE_TASK_dataflush( &options, T(k, m) ); } /* Restore the original location of the tiles */ @@ -187,6 +194,9 @@ void morse_pzunmlq(MORSE_enum side, MORSE_enum trans, B(k, n), ldbk, B(m, n), ldbm); } + + MORSE_TASK_dataflush( &options, A(k, m) ); + MORSE_TASK_dataflush( &options, T(k, m) ); } #if defined(CHAMELEON_COPY_DIAG) MORSE_TASK_zlacpy( @@ -216,6 +226,8 @@ void morse_pzunmlq(MORSE_enum side, MORSE_enum trans, T(k, k), T->mb, B(k, n), ldbk); } + MORSE_TASK_dataflush( &options, D(k) ); + MORSE_TASK_dataflush( &options, T(k, k) ); RUNTIME_iteration_pop(morse); } } @@ -250,6 +262,9 @@ void morse_pzunmlq(MORSE_enum side, MORSE_enum trans, B(m, k), ldbm, B(m, n), ldbm); } + + MORSE_TASK_dataflush( &options, A(k, n) ); + MORSE_TASK_dataflush( &options, T(k, n) ); } #if defined(CHAMELEON_COPY_DIAG) MORSE_TASK_zlacpy( @@ -281,6 +296,9 @@ void morse_pzunmlq(MORSE_enum side, MORSE_enum trans, B(m, k), ldbm); } + MORSE_TASK_dataflush( &options, D(k) ); + MORSE_TASK_dataflush( &options, T(k, k) ); + RUNTIME_iteration_pop(morse); } } @@ -319,6 +337,10 @@ void morse_pzunmlq(MORSE_enum side, MORSE_enum trans, T(k, k), T->mb, B(m, k), ldbm); } + + MORSE_TASK_dataflush( &options, D(k) ); + MORSE_TASK_dataflush( &options, T(k, k) ); + for (n = k+1; n < B->nt; n++) { tempnn = n == B->nt-1 ? B->n-n*B->nb : B->nb; for (m = 0; m < B->mt; m++) { @@ -338,6 +360,9 @@ void morse_pzunmlq(MORSE_enum side, MORSE_enum trans, B(m, k), ldbm, B(m, n), ldbm); } + + MORSE_TASK_dataflush( &options, A(k, n) ); + MORSE_TASK_dataflush( &options, T(k, n) ); } /* Restore the original location of the tiles */ diff --git a/compute/pzunmlq_param.c b/compute/pzunmlq_param.c index c37ea1b59b484c14a23a2b63533e72d6cc30f709..1bee53e2772572e0846c8ded2b9faf1034d494dc 100644 --- a/compute/pzunmlq_param.c +++ b/compute/pzunmlq_param.c @@ -129,6 +129,8 @@ void morse_pzunmlq_param(const libhqr_tree_t *qrtree, } } + MORSE_TASK_dataflush( &options, D(k, p) ); + MORSE_TASK_dataflush( &options, T(k, p) ); /* Setting the order of the tiles*/ libhqr_walk_stepk(qrtree, k, tiles + (k+1)); @@ -167,6 +169,8 @@ void morse_pzunmlq_param(const libhqr_tree_t *qrtree, B(p, n), ldbp, B(m, n), ldbm); } + MORSE_TASK_dataflush( &options, A(k, m) ); + MORSE_TASK_dataflush( &options, T(k, m) ); } /* Restore the original location of the tiles */ @@ -226,6 +230,8 @@ void morse_pzunmlq_param(const libhqr_tree_t *qrtree, B(p, n), ldbp, B(m, n), ldbm); } + MORSE_TASK_dataflush( &options, A(k, m) ); + MORSE_TASK_dataflush( &options, T(k, m) ); } T = TS; @@ -265,6 +271,10 @@ void morse_pzunmlq_param(const libhqr_tree_t *qrtree, B(p, n), ldbp); } } + + MORSE_TASK_dataflush( &options, D(k, p) ); + MORSE_TASK_dataflush( &options, T(k, p) ); + RUNTIME_iteration_pop(morse); } } @@ -318,6 +328,8 @@ void morse_pzunmlq_param(const libhqr_tree_t *qrtree, B(m, p), ldbm, B(m, n), ldbm); } + MORSE_TASK_dataflush( &options, A(k, n) ); + MORSE_TASK_dataflush( &options, T(k, n) ); } T = TS; @@ -357,6 +369,10 @@ void morse_pzunmlq_param(const libhqr_tree_t *qrtree, B(m, p), ldbm); } } + + MORSE_TASK_dataflush( &options, D(k, p) ); + MORSE_TASK_dataflush( &options, T(k, p) ); + RUNTIME_iteration_pop(morse); } } @@ -404,6 +420,9 @@ void morse_pzunmlq_param(const libhqr_tree_t *qrtree, B(m, p), ldbm); } } + + MORSE_TASK_dataflush( &options, D(k, p) ); + MORSE_TASK_dataflush( &options, T(k, p) ); /* Setting the order of tiles */ libhqr_walk_stepk(qrtree, k, tiles + (k+1)); @@ -443,6 +462,8 @@ void morse_pzunmlq_param(const libhqr_tree_t *qrtree, B(m, p), ldbm, B(m, n), ldbm); } + MORSE_TASK_dataflush( &options, A( k, n) ); + MORSE_TASK_dataflush( &options, TT(k, n) ); } RUNTIME_iteration_pop(morse); diff --git a/compute/pzunmqr.c b/compute/pzunmqr.c index 3a0f3c18d97e41252869371e1555a1a197cd5308..72b7b62d4b65e48afadb52c182bc46f67a016ae9 100644 --- a/compute/pzunmqr.c +++ b/compute/pzunmqr.c @@ -127,6 +127,10 @@ void morse_pzunmqr(MORSE_enum side, MORSE_enum trans, T(k, k), T->mb, B(k, n), ldbk); } + + MORSE_TASK_dataflush( &options, D(k) ); + MORSE_TASK_dataflush( &options, T(k, k) ); + for (m = k+1; m < B->mt; m++) { tempmm = m == B->mt-1 ? B->m-m*B->mb : B->mb; ldam = BLKLDD(A, m); @@ -147,6 +151,9 @@ void morse_pzunmqr(MORSE_enum side, MORSE_enum trans, B(k, n), ldbk, B(m, n), ldbm); } + + MORSE_TASK_dataflush( &options, A(m, k) ); + MORSE_TASK_dataflush( &options, T(m, k) ); } /* Restore the original location of the tiles */ @@ -189,6 +196,9 @@ void morse_pzunmqr(MORSE_enum side, MORSE_enum trans, B(k, n), ldbk, B(m, n), ldbm); } + + MORSE_TASK_dataflush( &options, A(m, k) ); + MORSE_TASK_dataflush( &options, T(m, k) ); } #if defined(CHAMELEON_COPY_DIAG) MORSE_TASK_zlacpy( @@ -218,6 +228,8 @@ void morse_pzunmqr(MORSE_enum side, MORSE_enum trans, T(k, k), T->mb, B(k, n), ldbk); } + MORSE_TASK_dataflush( &options, D(k) ); + MORSE_TASK_dataflush( &options, T(k, k) ); RUNTIME_iteration_pop(morse); } } @@ -254,6 +266,9 @@ void morse_pzunmqr(MORSE_enum side, MORSE_enum trans, B(m, k), ldbm, B(m, n), ldbm); } + + MORSE_TASK_dataflush( &options, A(n, k) ); + MORSE_TASK_dataflush( &options, T(n, k) ); } #if defined(CHAMELEON_COPY_DIAG) MORSE_TASK_zlacpy( @@ -285,6 +300,9 @@ void morse_pzunmqr(MORSE_enum side, MORSE_enum trans, B(m, k), ldbm); } + MORSE_TASK_dataflush( &options, D(k) ); + MORSE_TASK_dataflush( &options, T(k, k) ); + RUNTIME_iteration_pop(morse); } } @@ -323,6 +341,10 @@ void morse_pzunmqr(MORSE_enum side, MORSE_enum trans, T(k, k), T->mb, B(m, k), ldbm); } + + MORSE_TASK_dataflush( &options, D(k) ); + MORSE_TASK_dataflush( &options, T(k, k) ); + for (n = k+1; n < B->nt; n++) { tempnn = n == B->nt-1 ? B->n-n*B->nb : B->nb; ldan = BLKLDD(A, n); @@ -343,6 +365,9 @@ void morse_pzunmqr(MORSE_enum side, MORSE_enum trans, B(m, k), ldbm, B(m, n), ldbm); } + + MORSE_TASK_dataflush( &options, A(n, k) ); + MORSE_TASK_dataflush( &options, T(n, k) ); } /* Restore the original location of the tiles */ diff --git a/compute/pzunmqr_param.c b/compute/pzunmqr_param.c index 0ad3b1f87eee68a324af18d45bc5138fb3644144..4b415ff3d1c6089ae6ac567804a52b25e7f0b602 100644 --- a/compute/pzunmqr_param.c +++ b/compute/pzunmqr_param.c @@ -127,6 +127,8 @@ void morse_pzunmqr_param(const libhqr_tree_t *qrtree, T(m, k), T->mb, B(m, n), ldbm); } + MORSE_TASK_dataflush( &options, D(m, k) ); + MORSE_TASK_dataflush( &options, T(m, k) ); } /* Setting the order of the tiles*/ @@ -168,7 +170,9 @@ void morse_pzunmqr_param(const libhqr_tree_t *qrtree, B(p, n), ldbp, B(m, n), ldbm); } - } + MORSE_TASK_dataflush( &options, A(m, k) ); + MORSE_TASK_dataflush( &options, T(m, k) ); + } /* Restore the original location of the tiles */ for (n = 0; n < B->nt; n++) { @@ -227,6 +231,8 @@ void morse_pzunmqr_param(const libhqr_tree_t *qrtree, B(p, n), ldbp, B(m, n), ldbm); } + MORSE_TASK_dataflush( &options, A(m, k) ); + MORSE_TASK_dataflush( &options, T(m, k) ); } T = TS; @@ -267,6 +273,10 @@ void morse_pzunmqr_param(const libhqr_tree_t *qrtree, B(m, n), ldbm); } } + + MORSE_TASK_dataflush( &options, D(m, k) ); + MORSE_TASK_dataflush( &options, T(m, k) ); + RUNTIME_iteration_pop(morse); } } @@ -320,6 +330,8 @@ void morse_pzunmqr_param(const libhqr_tree_t *qrtree, B(m, p), ldbm, B(m, n), ldbm); } + MORSE_TASK_dataflush( &options, A(n, k) ); + MORSE_TASK_dataflush( &options, T(n, k) ); } T = TS; @@ -359,6 +371,8 @@ void morse_pzunmqr_param(const libhqr_tree_t *qrtree, T(n, k), T->mb, B(m, n), ldbm); } + MORSE_TASK_dataflush( &options, D(n, k) ); + MORSE_TASK_dataflush( &options, T(n, k) ); } RUNTIME_iteration_pop(morse); } @@ -405,7 +419,10 @@ void morse_pzunmqr_param(const libhqr_tree_t *qrtree, T(n, k), T->mb, B(m, n), ldbm); } + MORSE_TASK_dataflush( &options, D(n, k) ); + MORSE_TASK_dataflush( &options, T(n, k) ); } + /* Setting the order of tiles */ libhqr_walk_stepk(qrtree, k, tiles + (k+1)); @@ -446,6 +463,8 @@ void morse_pzunmqr_param(const libhqr_tree_t *qrtree, B(m, p), ldbm, B(m, n), ldbm); } + MORSE_TASK_dataflush( &options, A(n, k) ); + MORSE_TASK_dataflush( &options, T(n, k) ); } RUNTIME_iteration_pop(morse);