Commit 8fda2448 authored by Mathieu Faverge's avatar Mathieu Faverge

Temporary fix for missing flush/wait in QR functions

parent ba9be25f
......@@ -297,6 +297,10 @@ int MORSE_zgelqf_Tile_Async( MORSE_desc_t *A, MORSE_desc_t *T,
morse_pzgelqfrh( A, T, Dptr, MORSE_RHBLK, sequence, request );
}
if (Dptr != NULL) {
MORSE_Desc_Flush( A, sequence );
MORSE_Desc_Flush( T, sequence );
MORSE_Desc_Flush( Dptr, sequence );
morse_sequence_wait( morse, sequence );
morse_desc_mat_free( Dptr );
}
(void)D;
......
......@@ -294,6 +294,11 @@ int MORSE_zgelqf_param_Tile_Async( const libhqr_tree_t *qrtree, MORSE_desc_t *A,
morse_pzgelqf_param( qrtree, A, TS, TT, Dptr, sequence, request );
if (Dptr != NULL) {
MORSE_Desc_Flush( A, sequence );
MORSE_Desc_Flush( TS, sequence );
MORSE_Desc_Flush( TT, sequence );
MORSE_Desc_Flush( Dptr, sequence );
morse_sequence_wait( morse, sequence );
morse_desc_mat_free( Dptr );
}
(void)D;
......
......@@ -338,6 +338,11 @@ int MORSE_zgelqs_Tile_Async( MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *B,
}
if (Dptr != NULL) {
MORSE_Desc_Flush( A, sequence );
MORSE_Desc_Flush( B, sequence );
MORSE_Desc_Flush( T, sequence );
MORSE_Desc_Flush( Dptr, sequence );
morse_sequence_wait( morse, sequence );
morse_desc_mat_free( Dptr );
}
(void)D;
......
......@@ -343,6 +343,12 @@ int MORSE_zgelqs_param_Tile_Async( const libhqr_tree_t *qrtree, MORSE_desc_t *A,
morse_pzunmlq_param( qrtree, MorseLeft, MorseConjTrans, A, B, TS, TT, Dptr, sequence, request );
if (Dptr != NULL) {
MORSE_Desc_Flush( A, sequence );
MORSE_Desc_Flush( B, sequence );
MORSE_Desc_Flush( TS, sequence );
MORSE_Desc_Flush( TT, sequence );
MORSE_Desc_Flush( Dptr, sequence );
morse_sequence_wait( morse, sequence );
morse_desc_mat_free( Dptr );
}
(void)D;
......
......@@ -434,6 +434,11 @@ int MORSE_zgels_Tile_Async( MORSE_enum trans, MORSE_desc_t *A,
free(subB);
if (Dptr != NULL) {
MORSE_Desc_Flush( A, sequence );
MORSE_Desc_Flush( T, sequence );
MORSE_Desc_Flush( B, sequence );
MORSE_Desc_Flush( Dptr, sequence );
morse_sequence_wait( morse, sequence );
morse_desc_mat_free( Dptr );
}
(void)D;
......
......@@ -423,6 +423,12 @@ int MORSE_zgels_param_Tile_Async( const libhqr_tree_t *qrtree, MORSE_enum trans,
free(subB);
if (Dptr != NULL) {
MORSE_Desc_Flush( A, sequence );
MORSE_Desc_Flush( TS, sequence );
MORSE_Desc_Flush( TT, sequence );
MORSE_Desc_Flush( B, sequence );
MORSE_Desc_Flush( Dptr, sequence );
morse_sequence_wait( morse, sequence );
morse_desc_mat_free( Dptr );
}
(void)D;
......
......@@ -296,6 +296,10 @@ int MORSE_zgeqrf_Tile_Async( MORSE_desc_t *A, MORSE_desc_t *T,
morse_pzgeqrfrh( A, T, Dptr, MORSE_RHBLK, sequence, request );
}
if (Dptr != NULL) {
MORSE_Desc_Flush( A, sequence );
MORSE_Desc_Flush( T, sequence );
MORSE_Desc_Flush( Dptr, sequence );
morse_sequence_wait( morse, sequence );
morse_desc_mat_free( Dptr );
}
(void)D;
......
......@@ -304,6 +304,11 @@ int MORSE_zgeqrf_param_Tile_Async( const libhqr_tree_t *qrtree, MORSE_desc_t *A,
morse_pzgeqrf_param( qrtree, A, TS, TT, Dptr, sequence, request );
if (Dptr != NULL) {
MORSE_Desc_Flush( A, sequence );
MORSE_Desc_Flush( TS, sequence );
MORSE_Desc_Flush( TT, sequence );
MORSE_Desc_Flush( Dptr, sequence );
morse_sequence_wait( morse, sequence );
morse_desc_mat_free( Dptr );
}
(void)D;
......
......@@ -331,6 +331,12 @@ int MORSE_zgeqrs_param_Tile_Async( const libhqr_tree_t *qrtree,
free(subB);
if (Dptr != NULL) {
MORSE_Desc_Flush( A, sequence );
MORSE_Desc_Flush( TS, sequence );
MORSE_Desc_Flush( TT, sequence );
MORSE_Desc_Flush( B, sequence );
MORSE_Desc_Flush( Dptr, sequence );
morse_sequence_wait( morse, sequence );
morse_desc_mat_free( Dptr );
}
(void)D;
......
......@@ -421,6 +421,14 @@ int MORSE_ztpgqrt_Tile_Async( int L,
/* morse_pztpgqrtrh( Q1, T, MORSE_RHBLK, sequence, request ); */
/* } */
if (Dptr != NULL) {
MORSE_Desc_Flush( V1, sequence );
MORSE_Desc_Flush( T1, sequence );
MORSE_Desc_Flush( V2, sequence );
MORSE_Desc_Flush( T2, sequence );
MORSE_Desc_Flush( Q1, sequence );
MORSE_Desc_Flush( Q2, sequence );
MORSE_Desc_Flush( Dptr, sequence );
morse_sequence_wait( morse, sequence );
morse_desc_mat_free( Dptr );
}
(void)D;
......
......@@ -321,6 +321,11 @@ int MORSE_zunglq_Tile_Async( MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *Q,
}
if (Dptr != NULL) {
MORSE_Desc_Flush( A, sequence );
MORSE_Desc_Flush( Q, sequence );
MORSE_Desc_Flush( T, sequence );
MORSE_Desc_Flush( Dptr, sequence );
morse_sequence_wait( morse, sequence );
morse_desc_mat_free( Dptr );
}
(void)D;
......
......@@ -317,6 +317,12 @@ int MORSE_zunglq_param_Tile_Async( const libhqr_tree_t *qrtree, MORSE_desc_t *A,
morse_pzunglq_param( qrtree, A, Q, TS, TT, Dptr, sequence, request );
if (Dptr != NULL) {
MORSE_Desc_Flush( A, sequence );
MORSE_Desc_Flush( Q, sequence );
MORSE_Desc_Flush( TS, sequence );
MORSE_Desc_Flush( TT, sequence );
MORSE_Desc_Flush( Dptr, sequence );
morse_sequence_wait( morse, sequence );
morse_desc_mat_free( Dptr );
}
(void)D;
......
......@@ -318,6 +318,11 @@ int MORSE_zungqr_Tile_Async( MORSE_desc_t *A, MORSE_desc_t *T, MORSE_desc_t *Q,
}
if (Dptr != NULL) {
MORSE_Desc_Flush( A, sequence );
MORSE_Desc_Flush( Q, sequence );
MORSE_Desc_Flush( T, sequence );
MORSE_Desc_Flush( Dptr, sequence );
morse_sequence_wait( morse, sequence );
morse_desc_mat_free( Dptr );
}
(void)D;
......
......@@ -315,6 +315,12 @@ int MORSE_zungqr_param_Tile_Async( const libhqr_tree_t *qrtree, MORSE_desc_t *A,
morse_pzungqr_param( qrtree, A, Q, TS, TT, Dptr, sequence, request );
if (Dptr != NULL) {
MORSE_Desc_Flush( A, sequence );
MORSE_Desc_Flush( Q, sequence );
MORSE_Desc_Flush( TS, sequence );
MORSE_Desc_Flush( TT, sequence );
MORSE_Desc_Flush( Dptr, sequence );
morse_sequence_wait( morse, sequence );
morse_desc_mat_free( Dptr );
}
(void)D;
......
......@@ -382,6 +382,11 @@ int MORSE_zunmlq_Tile_Async( MORSE_enum side, MORSE_enum trans,
morse_pzunmlqrh( side, trans, A, C, T, Dptr, MORSE_RHBLK, sequence, request );
}
if (Dptr != NULL) {
MORSE_Desc_Flush( A, sequence );
MORSE_Desc_Flush( C, sequence );
MORSE_Desc_Flush( T, sequence );
MORSE_Desc_Flush( Dptr, sequence );
morse_sequence_wait( morse, sequence );
morse_desc_mat_free( Dptr );
}
(void)D;
......
......@@ -378,6 +378,12 @@ int MORSE_zunmlq_param_Tile_Async( const libhqr_tree_t *qrtree, MORSE_enum side,
morse_pzunmlq_param( qrtree, side, trans, A, C, TS, TT, Dptr, sequence, request );
if (Dptr != NULL) {
MORSE_Desc_Flush( A, sequence );
MORSE_Desc_Flush( C, sequence );
MORSE_Desc_Flush( TS, sequence );
MORSE_Desc_Flush( TT, sequence );
MORSE_Desc_Flush( Dptr, sequence );
morse_sequence_wait( morse, sequence );
morse_desc_mat_free( Dptr );
}
(void)D;
......
......@@ -389,6 +389,11 @@ int MORSE_zunmqr_Tile_Async( MORSE_enum side, MORSE_enum trans,
}
if (Dptr != NULL) {
MORSE_Desc_Flush( A, sequence );
MORSE_Desc_Flush( C, sequence );
MORSE_Desc_Flush( T, sequence );
MORSE_Desc_Flush( Dptr, sequence );
morse_sequence_wait( morse, sequence );
morse_desc_mat_free( Dptr );
}
(void)D;
......
......@@ -385,6 +385,12 @@ int MORSE_zunmqr_param_Tile_Async( const libhqr_tree_t *qrtree,
morse_pzunmqr_param( qrtree, side, trans, A, C, TS, TT, Dptr, sequence, request );
if (Dptr != NULL) {
MORSE_Desc_Flush( A, sequence );
MORSE_Desc_Flush( C, sequence );
MORSE_Desc_Flush( TS, sequence );
MORSE_Desc_Flush( TT, sequence );
MORSE_Desc_Flush( Dptr, sequence );
morse_sequence_wait( morse, sequence );
morse_desc_mat_free( Dptr );
}
(void)D;
......
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