From b351e239fba665f147dbb708f1fa55a282c7b10d Mon Sep 17 00:00:00 2001 From: Raphael Boucherie <raphael.boucherie@inria.fr> Date: Mon, 21 Aug 2017 16:46:51 +0200 Subject: [PATCH] add dataflush --- compute/pzgelqf.c | 7 +++++++ compute/pzgelqf_param.c | 5 +++++ compute/pzgeqrf.c | 5 +++++ compute/pzgeqrf_param.c | 5 +++++ 4 files changed, 22 insertions(+) diff --git a/compute/pzgelqf.c b/compute/pzgelqf.c index 1dbea93bc..73050c199 100644 --- a/compute/pzgelqf.c +++ b/compute/pzgelqf.c @@ -127,6 +127,10 @@ void morse_pzgelqf(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, T(k, k), T->mb, A(m, k), ldam); } + + MORSE_TASK_dataflush( &options, D(k) ); + MORSE_TASK_dataflush( &options, T(k, k) ); + for (n = k+1; n < A->nt; n++) { tempnn = n == A->nt-1 ? A->n-n*A->nb : A->nb; @@ -156,6 +160,9 @@ void morse_pzgelqf(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, A(m, k), ldam, A(m, n), ldam); } + + 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/pzgelqf_param.c b/compute/pzgelqf_param.c index ef2a60080..677beeb3f 100644 --- a/compute/pzgelqf_param.c +++ b/compute/pzgelqf_param.c @@ -136,6 +136,9 @@ void morse_pzgelqf_param( const libhqr_tree_t *qrtree, MORSE_desc_t *A, A(m, p), ldam); } } + 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) ); @@ -188,6 +191,8 @@ void morse_pzgelqf_param( const libhqr_tree_t *qrtree, MORSE_desc_t *A, A(m, p), ldam, A(m, n), ldam); } + 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/pzgeqrf.c b/compute/pzgeqrf.c index cb06ffea4..ef1d8cbe5 100644 --- a/compute/pzgeqrf.c +++ b/compute/pzgeqrf.c @@ -121,6 +121,8 @@ void morse_pzgeqrf(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, T(k, k), T->mb, A(k, n), ldak); } + MORSE_TASK_dataflush( &options, D(k) ); + MORSE_TASK_dataflush( &options, T(k, k) ); for (m = k+1; m < A->mt; m++) { tempmm = m == A->mt-1 ? A->m-m*A->mb : A->mb; @@ -153,6 +155,9 @@ void morse_pzgeqrf(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, A(k, n), ldak, A(m, n), ldam); } + + MORSE_TASK_dataflush( &options, A(m, k) ); + MORSE_TASK_dataflush( &options, T(m, k) ); } /* Restore the original location of the tiles */ diff --git a/compute/pzgeqrf_param.c b/compute/pzgeqrf_param.c index 897c935c5..f8712176f 100644 --- a/compute/pzgeqrf_param.c +++ b/compute/pzgeqrf_param.c @@ -133,6 +133,8 @@ void morse_pzgeqrf_param( const libhqr_tree_t *qrtree, MORSE_desc_t *A, A(m, n), ldam); } } + MORSE_TASK_dataflush( &options, D(m, k) ); + MORSE_TASK_dataflush( &options, T(m, k) ); /* Setting the order of the tiles */ libhqr_walk_stepk( qrtree, k, tiles + (k+1) ); @@ -185,6 +187,9 @@ void morse_pzgeqrf_param( const libhqr_tree_t *qrtree, MORSE_desc_t *A, A(p, n), ldap, A(m, n), ldam); } + + MORSE_TASK_dataflush( &options, A(m, k) ); + MORSE_TASK_dataflush( &options, T(m, k) ); } /* Restore the original location of the tiles */ -- GitLab