Commit 99b1c7ee authored by Mathieu Faverge's avatar Mathieu Faverge
Browse files

Merge branch 'cleanup/getoncpu_flush' into 'master'

Cleanup/getoncpu flush

See merge request solverstack/chameleon!77
parents 7761fbae 4387fb3c
......@@ -30,7 +30,7 @@
#include "control/common.h"
#define A(m, n) A, m, n
/***************************************************************************//**
/*******************************************************************************
* Parallel tile matrix generation
*
*******************************************************************************
......@@ -86,6 +86,5 @@ void morse_pzbuild( MORSE_enum uplo, MORSE_desc_t *A, void *user_data, void* use
}
}
MORSE_TASK_flush_desc( &options, uplo, A );
RUNTIME_options_finalize( &options, morse);
}
......@@ -38,7 +38,7 @@
#define D(k) A, k, k
#endif
/***************************************************************************//**
/*******************************************************************************
* Parallel tile LQ factorization - dynamic scheduling
**/
void morse_pzgelqf(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D,
......@@ -153,10 +153,7 @@ void morse_pzgelqf(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D,
RUNTIME_iteration_pop(morse);
}
MORSE_TASK_flush_desc( &options, MorseUpperLower, A );
MORSE_TASK_flush_desc( &options, MorseUpper, T );
RUNTIME_options_ws_free(&options);
RUNTIME_options_finalize(&options, morse);
MORSE_TASK_flush_all();
(void)D;
}
......@@ -196,12 +196,8 @@ void morse_pzgelqf_param( const libhqr_tree_t *qrtree, MORSE_desc_t *A,
RUNTIME_iteration_pop(morse);
}
MORSE_TASK_flush_desc( &options, MorseUpperLower, A );
MORSE_TASK_flush_desc( &options, MorseUpper, TS );
MORSE_TASK_flush_desc( &options, MorseUpper, TT );
free(tiles);
RUNTIME_options_ws_free(&options);
RUNTIME_options_finalize(&options, morse);
MORSE_TASK_flush_all();
(void)D;
}
......@@ -181,10 +181,7 @@ void morse_pzgelqfrh(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, int BS,
RUNTIME_iteration_pop(morse);
}
MORSE_TASK_flush_desc( &options, MorseUpperLower, A );
MORSE_TASK_flush_desc( &options, MorseUpper, T );
RUNTIME_options_ws_free(&options);
RUNTIME_options_finalize(&options, morse);
MORSE_TASK_flush_all();
(void)D;
}
......@@ -31,7 +31,7 @@
#define A(m, n) A, m, n
#define B(m, n) B, m, n
#define C(m, n) C, m, n
/***************************************************************************//**
/*******************************************************************************
* Parallel tile matrix-matrix multiplication - dynamic scheduling
**/
void morse_pzgemm(MORSE_enum transA, MORSE_enum transB,
......@@ -134,19 +134,17 @@ void morse_pzgemm(MORSE_enum transA, MORSE_enum transB,
}
}
}
MORSE_TASK_flush_data( &options, C(m, n) );
RUNTIME_data_flush( sequence, C(m, n) );
}
if (transA == MorseNoTrans) {
for (k = 0; k < A->nt; k++) {
MORSE_TASK_flush_data( &options, A(m, k) );
RUNTIME_data_flush( sequence, A(m, k) );
}
} else {
for (k = 0; k < A->mt; k++) {
MORSE_TASK_flush_data( &options, A(k, m) );
RUNTIME_data_flush( sequence, A(k, m) );
}
}
}
MORSE_TASK_flush_desc( &options, MorseUpperLower, B );
RUNTIME_options_finalize(&options, morse);
MORSE_TASK_flush_all();
}
......@@ -38,7 +38,7 @@
#define D(k) A, k, k
#endif
/***************************************************************************//**
/*******************************************************************************
* Parallel tile QR factorization - dynamic scheduling
**/
void morse_pzgeqrf(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D,
......@@ -147,10 +147,7 @@ void morse_pzgeqrf(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D,
RUNTIME_iteration_pop(morse);
}
MORSE_TASK_flush_desc( &options, MorseUpperLower, A );
MORSE_TASK_flush_desc( &options, MorseLower, T );
RUNTIME_options_ws_free(&options);
RUNTIME_options_finalize(&options, morse);
MORSE_TASK_flush_all();
(void)D;
}
......@@ -195,12 +195,8 @@ void morse_pzgeqrf_param( const libhqr_tree_t *qrtree, MORSE_desc_t *A,
RUNTIME_iteration_pop(morse);
}
MORSE_TASK_flush_desc( &options, MorseUpperLower, A );
MORSE_TASK_flush_desc( &options, MorseLower, TS );
MORSE_TASK_flush_desc( &options, MorseLower, TT );
free(tiles);
RUNTIME_options_ws_free(&options);
RUNTIME_options_finalize(&options, morse);
MORSE_TASK_flush_all();
(void)D;
}
......@@ -40,7 +40,7 @@
#define D(m,n) A, (m), (n)
#endif
/***************************************************************************//**
/*******************************************************************************
* Parallel tile QR factorization (reduction Householder) - dynamic scheduling
**/
void morse_pzgeqrfrh(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, int BS,
......@@ -180,10 +180,7 @@ void morse_pzgeqrfrh(MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *D, int BS,
RUNTIME_iteration_pop(morse);
}
MORSE_TASK_flush_desc( &options, MorseUpperLower, A );
MORSE_TASK_flush_desc( &options, MorseLower, T );
RUNTIME_options_ws_free(&options);
RUNTIME_options_finalize(&options, morse);
MORSE_TASK_flush_all();
(void)D;
}
......@@ -42,7 +42,7 @@
#define L(_m_,_n_) L, _m_, _n_
#define IPIV(_m_,_n_) &(IPIV[(int64_t)A->mb*((int64_t)(_m_)+(int64_t)A->mt*(int64_t)(_n_))])
/***************************************************************************//**
/*******************************************************************************
* Parallel tile LU factorization - dynamic scheduling
**/
void morse_pzgetrf_incpiv(MORSE_desc_t *A, MORSE_desc_t *L, int *IPIV,
......@@ -136,11 +136,8 @@ void morse_pzgetrf_incpiv(MORSE_desc_t *A, MORSE_desc_t *L, int *IPIV,
RUNTIME_iteration_pop(morse);
}
MORSE_TASK_flush_desc( &options, MorseUpperLower, A );
MORSE_TASK_flush_desc( &options, MorseLower, L );
RUNTIME_options_ws_free(&options);
RUNTIME_options_finalize(&options, morse);
MORSE_TASK_flush_all();
morse_desc_mat_free(DIAG);
free(DIAG);
......
......@@ -29,7 +29,7 @@
#define A(m,n) A, m, n
/***************************************************************************//**
/*******************************************************************************
* Parallel tile LU factorization with no pivoting - dynamic scheduling
**/
void morse_pzgetrf_nopiv(MORSE_desc_t *A,
......@@ -104,7 +104,5 @@ void morse_pzgetrf_nopiv(MORSE_desc_t *A,
RUNTIME_iteration_pop(morse);
}
MORSE_TASK_flush_desc( &options, MorseUpperLower, A );
RUNTIME_options_finalize(&options, morse);
MORSE_TASK_flush_all();
}
......@@ -31,7 +31,7 @@
#define A(m,n) A, m, n
#define B(m,n) B, m, n
#define C(m,n) C, m, n
/***************************************************************************//**
/*******************************************************************************
* Parallel tile Hermitian matrix-matrix multiplication - dynamic scheduling
**/
void morse_pzhemm(MORSE_enum side, MORSE_enum uplo,
......@@ -226,9 +226,5 @@ void morse_pzhemm(MORSE_enum side, MORSE_enum uplo,
}
}
}
MORSE_TASK_flush_desc( &options, MorseUpperLower, A );
MORSE_TASK_flush_desc( &options, MorseUpperLower, B );
MORSE_TASK_flush_desc( &options, MorseUpperLower, C );
RUNTIME_options_finalize(&options, morse);
MORSE_TASK_flush_all();
}
......@@ -31,7 +31,7 @@
#define A(m,n) A, m, n
#define B(m,n) B, m, n
#define C(m,n) C, m, n
/***************************************************************************//**
/*******************************************************************************
* Parallel tile Hermitian rank-k update - dynamic scheduling
**/
void morse_pzher2k(MORSE_enum uplo, MORSE_enum trans,
......@@ -214,9 +214,5 @@ void morse_pzher2k(MORSE_enum uplo, MORSE_enum trans,
}
}
}
MORSE_TASK_flush_desc( &options, MorseUpperLower, A );
MORSE_TASK_flush_desc( &options, MorseUpperLower, B );
MORSE_TASK_flush_desc( &options, MorseUpperLower, C );
RUNTIME_options_finalize(&options, morse);
MORSE_TASK_flush_all();
}
......@@ -30,7 +30,7 @@
#define A(m,n) A, m, n
#define C(m,n) C, m, n
/***************************************************************************//**
/*******************************************************************************
* Parallel tile Hermitian rank-k update - dynamic scheduling
**/
void morse_pzherk(MORSE_enum uplo, MORSE_enum trans,
......@@ -173,7 +173,5 @@ void morse_pzherk(MORSE_enum uplo, MORSE_enum trans,
}
}
}
MORSE_TASK_flush_desc( &options, MorseUpperLower, A );
MORSE_TASK_flush_desc( &options, uplo, C );
RUNTIME_options_finalize(&options, morse);
}
......@@ -38,7 +38,7 @@
#define E(m, n) A, m, n
#endif
/***************************************************************************//**
/*******************************************************************************
* Parallel tile BAND Tridiagonal Reduction - dynamic scheduler
**/
void morse_pzhetrd_he2hb(MORSE_enum uplo,
......@@ -436,10 +436,8 @@ void morse_pzhetrd_he2hb(MORSE_enum uplo,
}
MORSE_TASK_flush_desc( &options, MorseUpperLower, A );
RUNTIME_options_ws_free(&options);
RUNTIME_options_finalize(&options, morse);
MORSE_TASK_flush_all();
MORSE_Sequence_Wait(sequence);
morse_desc_mat_free(D);
......
......@@ -30,11 +30,11 @@
#define A(m,n) A, m, n
#define B(m,n) B, m, n
/***************************************************************************//**
/*******************************************************************************
*
**/
/***************************************************************************//**
/*******************************************************************************
*
**/
void morse_pzlacpy(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B,
......@@ -129,7 +129,5 @@ void morse_pzlacpy(MORSE_enum uplo, MORSE_desc_t *A, MORSE_desc_t *B,
}
}
}
MORSE_TASK_flush_desc( &options, MorseUpperLower, A );
MORSE_TASK_flush_desc( &options, MorseUpperLower, B );
RUNTIME_options_finalize(&options, morse);
}
......@@ -32,11 +32,11 @@
#define B(m,n) B, m, n
#define SA(m,n) SA, m, n
#define SB(m,n) SB, m, n
/***************************************************************************//**
/*******************************************************************************
*
**/
/***************************************************************************//**
/*******************************************************************************
*
**/
void morse_pclag2z(MORSE_desc_t *SA, MORSE_desc_t *B,
......@@ -67,7 +67,5 @@ void morse_pclag2z(MORSE_desc_t *SA, MORSE_desc_t *B,
B(m, n), ldbm);
}
}
MORSE_TASK_flush_desc( &options, MorseUpperLower, SA );
MORSE_TASK_flush_desc( &options, MorseUpperLower, B );
RUNTIME_options_finalize(&options, morse);
}
......@@ -35,15 +35,12 @@
#define VECNORMS_STEP1(m, n) VECNORMS_STEP1, m, n
#define VECNORMS_STEP2(m, n) VECNORMS_STEP2, m, n
#define RESULT(m, n) RESULT, m, n
/***************************************************************************//**
*
**/
/***************************************************************************//**
*
**/
void morse_pzlange(MORSE_enum norm, MORSE_desc_t *A, double *result,
MORSE_sequence_t *sequence, MORSE_request_t *request)
/*****************************************************************************
*
**/
void morse_pzlange( MORSE_enum norm, MORSE_desc_t *A, double *result,
MORSE_sequence_t *sequence, MORSE_request_t *request )
{
MORSE_desc_t *VECNORMS_STEP1 = NULL;
MORSE_desc_t *VECNORMS_STEP2 = NULL;
......@@ -412,5 +409,4 @@ void morse_pzlange(MORSE_enum norm, MORSE_desc_t *A, double *result,
MORSE_Desc_Destroy( &(RESULT) );
RUNTIME_options_ws_free(&options);
RUNTIME_options_finalize(&options, morse);
MORSE_TASK_flush_all();
}
......@@ -35,11 +35,11 @@
#define VECNORMS_STEP1(m, n) VECNORMS_STEP1, m, n
#define VECNORMS_STEP2(m, n) VECNORMS_STEP2, m, n
#define RESULT(m, n) RESULT, m, n
/***************************************************************************//**
/*******************************************************************************
*
**/
/***************************************************************************//**
/*******************************************************************************
*
**/
void morse_pzlanhe(MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A, double *result,
......@@ -456,5 +456,4 @@ void morse_pzlanhe(MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A, double *re
}
RUNTIME_options_ws_free(&options);
RUNTIME_options_finalize(&options, morse);
MORSE_TASK_flush_all();
}
......@@ -35,11 +35,11 @@
#define VECNORMS_STEP1(m, n) VECNORMS_STEP1, m, n
#define VECNORMS_STEP2(m, n) VECNORMS_STEP2, m, n
#define RESULT(m, n) RESULT, m, n
/***************************************************************************//**
/*******************************************************************************
*
**/
/***************************************************************************//**
/*******************************************************************************
*
**/
void morse_pzlansy(MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A, double *result,
......@@ -465,5 +465,4 @@ void morse_pzlansy(MORSE_enum norm, MORSE_enum uplo, MORSE_desc_t *A, double *re
}
RUNTIME_options_ws_free(&options);
RUNTIME_options_finalize(&options, morse);
MORSE_TASK_flush_all();
}
......@@ -32,7 +32,7 @@
#define VECNORMS_STEP1(m, n) VECNORMS_STEP1, m, n
#define VECNORMS_STEP2(m, n) VECNORMS_STEP2, m, n
#define RESULT(m, n) RESULT, m, n
/***************************************************************************//**
/*******************************************************************************
*
**/
void morse_pzlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag,
......@@ -665,5 +665,4 @@ void morse_pzlantr(MORSE_enum norm, MORSE_enum uplo, MORSE_enum diag,
}
RUNTIME_options_ws_free(&options);
RUNTIME_options_finalize(&options, morse);
MORSE_TASK_flush_all();
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment