Commit 55938b98 authored by Mathieu Faverge's avatar Mathieu Faverge

Merge branch 'issue56/cuda_zttxx' into 'master'

Fix #56  - Issue in CUDA_zparfb kernels for TT case

Closes #56

See merge request solverstack/chameleon!129
parents 16165abb cc2a3552
......@@ -19,7 +19,7 @@
* @author Mathieu Faverge
* @author Emmanuel Agullo
* @author Cedric Castagnede
* @date 2010-11-15
* @date 2018-11-08
* @precisions normal z -> s d c
*
*/
......@@ -65,10 +65,10 @@ void chameleon_pzgelqf( int genD, CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *D
}
/*
* zgelqt = A->nb * (ib+1)
* zunmlq = A->nb * ib
* ztslqt = A->nb * (ib+1)
* ztsmlq = A->nb * ib
* zgelqt = A->nb * (ib+1)
* zunmlq = A->nb * ib
* ztplqt = A->nb * (ib+1)
* ztpmlqt = A->nb * ib
*/
ws_worker = A->nb * (ib+1);
......@@ -76,8 +76,8 @@ void chameleon_pzgelqf( int genD, CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *D
#if defined(CHAMELEON_USE_CUDA)
/* Worker space
*
* zunmqr = A->nb * ib
* ztsmqr = 2 * A->nb * ib
* zunmlq = A->nb * ib
* ztpmlqt = 2 * A->nb * ib
*/
ws_worker = chameleon_max( ws_worker, ib * A->nb * 2 );
#endif
......
......@@ -14,7 +14,7 @@
* @version 1.0.0
* @author Mathieu Faverge
* @author Raphael Boucherie
* @date 2017-05-17
* @date 2018-11-09
* @precisions normal z -> s d c
*
*/
......@@ -69,10 +69,10 @@ void chameleon_pzgelqf_param( int genD, const libhqr_tree_t *qrtree, CHAM_desc_t
/* Allocation of temporary (scratch) working space */
#if defined(CHAMELEON_USE_CUDA)
/*
* zunmqr = A->nb * ib
* ztpmqrt = 2 * A->nb * ib
* zunmlq = A->nb * ib
* ztpmlqt = 3 * A->nb * ib
*/
ws_worker = chameleon_max( ws_worker, ib * A->nb * 2 );
ws_worker = chameleon_max( ws_worker, ib * A->nb * 3 );
#endif
ws_worker *= sizeof(CHAMELEON_Complex64_t);
......
......@@ -20,7 +20,7 @@
* @author Mathieu Faverge
* @author Emmanuel Agullo
* @author Cedric Castagnede
* @date 2010-11-15
* @date 2018-11-09
* @precisions normal z -> s d c
*
*/
......@@ -62,10 +62,10 @@ void chameleon_pzgelqfrh( int genD, int BS, CHAM_desc_t *A, CHAM_desc_t *T, CHAM
}
/*
* zgelqt = A->nb * (ib+1)
* zunmlq = A->nb * ib
* ztplqt = A->nb * (ib+1)
* ztpmlq = A->nb * ib
* zgelqt = A->nb * (ib+1)
* zunmlq = A->nb * ib
* ztplqt = A->nb * (ib+1)
* ztpmlqt = A->nb * ib
*/
ws_worker = A->nb * (ib+1);
......@@ -73,10 +73,10 @@ void chameleon_pzgelqfrh( int genD, int BS, CHAM_desc_t *A, CHAM_desc_t *T, CHAM
#if defined(CHAMELEON_USE_CUDA)
/* Worker space
*
* zunmqr = A->nb * ib
* ztpmqr = 2 * A->nb * ib
* zunmlq = A->nb * ib
* ztpmlqt = 3 * A->nb * ib
*/
ws_worker = chameleon_max( ws_worker, ib * A->nb * 2 );
ws_worker = chameleon_max( ws_worker, ib * A->nb * 3 );
#endif
ws_worker *= sizeof(CHAMELEON_Complex64_t);
......
......@@ -19,7 +19,7 @@
* @author Mathieu Faverge
* @author Emmanuel Agullo
* @author Cedric Castagnede
* @date 2010-11-15
* @date 2018-11-08
* @precisions normal z -> s d c
*
*/
......@@ -60,10 +60,10 @@ void chameleon_pzgeqrf( int genD, CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *D
}
/*
* zgeqrt = A->nb * (ib+1)
* zunmqr = A->nb * ib
* ztsqrt = A->nb * (ib+1)
* ztsmqr = A->nb * ib
* zgeqrt = A->nb * (ib+1)
* zunmqr = A->nb * ib
* ztpqrt = A->nb * (ib+1)
* ztpmqrt = A->nb * ib
*/
ws_worker = A->nb * (ib+1);
......@@ -71,8 +71,8 @@ void chameleon_pzgeqrf( int genD, CHAM_desc_t *A, CHAM_desc_t *T, CHAM_desc_t *D
#if defined(CHAMELEON_USE_CUDA)
/* Worker space
*
* zunmqr = A->nb * ib
* ztsmqr = 2 * A->nb * ib
* zunmqr = A->nb * ib
* ztpmqrt = 2 * A->nb * ib
*/
ws_worker = chameleon_max( ws_worker, ib * A->nb * 2 );
#endif
......
......@@ -14,7 +14,7 @@
* @version 1.0.0
* @author Mathieu Faverge
* @author Raphael Boucherie
* @date 2017-05-17
* @date 2018-11-09
* @precisions normal z -> s d c
*
*/
......@@ -74,10 +74,10 @@ void chameleon_pzgeqrf_param( int genD, int K,
/* Allocation of temporary (scratch) working space */
#if defined(CHAMELEON_USE_CUDA)
/*
* zunmqr = A->nb * ib
* ztpmqrt = 2 * A->nb * ib
* zunmqr = A->nb * ib
* ztpmqrt = 3 * A->nb * ib
*/
ws_worker = chameleon_max( ws_worker, ib * A->nb * 2 );
ws_worker = chameleon_max( ws_worker, ib * A->nb * 3 );
#endif
ws_worker *= sizeof(CHAMELEON_Complex64_t);
......
......@@ -20,7 +20,7 @@
* @author Mathieu Faverge
* @author Emmanuel Agullo
* @author Cedric Castagnede
* @date 2010-11-15
* @date 2018-11-09
* @precisions normal z -> s d c
*
*/
......@@ -62,10 +62,10 @@ void chameleon_pzgeqrfrh( int genD, int BS, CHAM_desc_t *A, CHAM_desc_t *T, CHAM
}
/*
* zgeqrt = A->nb * (ib+1)
* zunmqr = A->nb * ib
* ztpqrt = A->nb * (ib+1)
* ztpmqr = A->nb * ib
* zgeqrt = A->nb * (ib+1)
* zunmqr = A->nb * ib
* ztpqrt = A->nb * (ib+1)
* ztpmqrt = A->nb * ib
*/
ws_worker = A->nb * (ib+1);
......@@ -73,10 +73,10 @@ void chameleon_pzgeqrfrh( int genD, int BS, CHAM_desc_t *A, CHAM_desc_t *T, CHAM
#if defined(CHAMELEON_USE_CUDA)
/* Worker space
*
* zunmqr = A->nb * ib
* ztpmqr = 2 * A->nb * ib
* zunmqr = A->nb * ib
* ztpmqrt = 3 * A->nb * ib
*/
ws_worker = chameleon_max( ws_worker, ib * A->nb * 2 );
ws_worker = chameleon_max( ws_worker, ib * A->nb * 3 );
#endif
ws_worker *= sizeof(CHAMELEON_Complex64_t);
......
......@@ -14,7 +14,7 @@
* @version 1.0.0
* @author Hatem Ltaief
* @author Azzam Haidar
* @date 2010-11-15
* @date 2018-11-09
* @precisions normal z -> s d c
*
*/
......@@ -74,9 +74,9 @@ void chameleon_pzhetrd_he2hb(cham_uplo_t uplo,
#if defined(CHAMELEON_USE_CUDA)
/* Worker space
*
* zunmqr = A->nb * ib
* zunmqr = A->nb * ib
* ztsmqr = 2 * A->nb * ib
* zherfb = A->nb * ib
* zherfb = A->nb * ib
*/
ws_worker = chameleon_max( ws_worker, ib * A->nb * 2 );
#endif
......
......@@ -14,7 +14,7 @@
*
* @version 1.0.0
* @author Mathieu Faverge
* @date 2016-12-15
* @date 2018-11-09
* @precisions normal z -> s d c
*
*/
......@@ -66,9 +66,9 @@ void chameleon_pztpgqrt( int KT, int L,
#if defined(CHAMELEON_USE_CUDA)
/* Worker space
*
* ztpmqrt = 2 * Q1->nb * ib
* ztpmqrt = 3 * Q1->nb * ib
*/
ws_worker = chameleon_max( ws_worker, ib * Q1->nb * 2 );
ws_worker = chameleon_max( ws_worker, ib * Q1->nb * 3 );
#endif
ws_worker *= sizeof(CHAMELEON_Complex64_t);
......
......@@ -14,7 +14,7 @@
*
* @version 1.0.0
* @author Mathieu Faverge
* @date 2016-12-15
* @date 2018-11-09
* @precisions normal z -> s d c
*
*/
......@@ -61,9 +61,9 @@ void chameleon_pztpqrt( int L, CHAM_desc_t *A, CHAM_desc_t *B, CHAM_desc_t *T,
/* Allocation of temporary (scratch) working space */
#if defined(CHAMELEON_USE_CUDA)
/*
* ztpmqrt = 2 * A->nb * ib
* ztpmqrt = 3 * A->nb * ib
*/
ws_worker = chameleon_max( ws_worker, ib * A->nb * 2 );
ws_worker = chameleon_max( ws_worker, ib * A->nb * 3 );
#endif
ws_worker *= sizeof(CHAMELEON_Complex64_t);
......
......@@ -19,7 +19,7 @@
* @author Mathieu Faverge
* @author Emmanuel Agullo
* @author Cedric Castagnede
* @date 2010-11-15
* @date 2018-11-09
* @precisions normal z -> s d c
*
*/
......@@ -67,8 +67,8 @@ void chameleon_pzunglq( int genD, CHAM_desc_t *A, CHAM_desc_t *Q, CHAM_desc_t *T
}
/*
* zunmlq = A->nb * ib
* ztpmlq = A->nb * ib
* zunmlq = A->nb * ib
* ztpmlqt = A->nb * ib
*/
ws_worker = A->nb * ib;
......@@ -76,8 +76,8 @@ void chameleon_pzunglq( int genD, CHAM_desc_t *A, CHAM_desc_t *Q, CHAM_desc_t *T
#if defined(CHAMELEON_USE_CUDA)
/* Worker space
*
* zunmlq = A->nb * ib
* ztpmlq = 2 * A->nb * ib
* zunmlq = A->nb * ib
* ztpmlqt = 2 * A->nb * ib
*/
ws_worker = chameleon_max( ws_worker, ib * A->nb * 2 );
#endif
......
......@@ -14,7 +14,7 @@
* @version 1.0.0
* @author Mathieu Faverge
* @author Raphael Boucherie
* @date 2017-05-17
* @date 2018-11-09
* @precisions normal z -> s d c
*
*/
......@@ -63,18 +63,18 @@ void chameleon_pzunglq_param( int genD, const libhqr_tree_t *qrtree, CHAM_desc_t
}
/*
* zunmqr = A->nb * ib
* ztpmqr = A->nb * ib
* zunmlq = A->nb * ib
* ztpmlqt = A->nb * ib
*/
ws_worker = A->nb * ib;
#if defined(CHAMELEON_USE_CUDA)
/* Worker space
*
* zunmqr = A->nb * ib
* ztpmqr = 2 * A->nb * ib
* zunmlq = A->nb * ib
* ztpmlqt = 3 * A->nb * ib
*/
ws_worker = chameleon_max( ws_worker, ib * A->nb * 2 );
ws_worker = chameleon_max( ws_worker, ib * A->nb * 3 );
#endif
ws_worker *= sizeof(CHAMELEON_Complex64_t);
......
......@@ -18,7 +18,7 @@
* @author Mathieu Faverge
* @author Emmanuel Agullo
* @author Cedric Castagnede
* @date 2011-05-24
* @date 2018-11-09
* @precisions normal z -> s d c
*
*/
......@@ -64,18 +64,18 @@ void chameleon_pzunglqrh( int genD, int BS,
}
/*
* zunmqr = A->nb * ib
* ztpmqr = A->nb * ib
* zunmlq = A->nb * ib
* ztpmlqt = A->nb * ib
*/
ws_worker = A->nb * ib;
#if defined(CHAMELEON_USE_CUDA)
/* Worker space
*
* zunmqr = A->nb * ib
* ztpmqr = 2 * A->nb * ib
* zunmlq = A->nb * ib
* ztpmlqt = 3 * A->nb * ib
*/
ws_worker = chameleon_max( ws_worker, ib * A->nb * 2 );
ws_worker = chameleon_max( ws_worker, ib * A->nb * 3 );
#endif
ws_worker *= sizeof(CHAMELEON_Complex64_t);
......
......@@ -19,7 +19,7 @@
* @author Mathieu Faverge
* @author Emmanuel Agullo
* @author Cedric Castagnede
* @date 2010-11-15
* @date 2018-11-09
* @precisions normal z -> s d c
*
*/
......@@ -68,8 +68,8 @@ void chameleon_pzungqr( int genD, CHAM_desc_t *A, CHAM_desc_t *Q,
}
/*
* zunmqr = A->nb * ib
* ztsmqr = A->nb * ib
* zunmqr = A->nb * ib
* ztpmqrt = A->nb * ib
*/
ws_worker = A->nb * ib;
......@@ -77,8 +77,8 @@ void chameleon_pzungqr( int genD, CHAM_desc_t *A, CHAM_desc_t *Q,
#if defined(CHAMELEON_USE_CUDA)
/* Worker space
*
* zunmqr = A->nb * ib
* ztsmqr = 2 * A->nb * ib
* zunmqr = A->nb * ib
* ztpmqrt = 2 * A->nb * ib
*/
ws_worker = chameleon_max( ws_worker, ib * A->nb * 2 );
#endif
......
......@@ -14,7 +14,7 @@
* @version 1.0.0
* @author Mathieu Faverge
* @author Raphael Boucherie
* @date 2017-05-17
* @date 2018-11-09
* @precisions normal z -> s d c
*
*/
......@@ -60,17 +60,17 @@ void chameleon_pzungqr_param( int genD, int K,
}
/*
* zunmqr = A->nb * ib
* ztpmqr = A->nb * ib
* zunmqr = A->nb * ib
* ztpmqrt = A->nb * ib
*/
ws_worker = A->nb * ib;
/* Allocation of temporary (scratch) working space */
#if defined(CHAMELEON_USE_CUDA)
/*
* ztpmqrt = 2 * A->nb * ib
* ztpmqrt = 3 * A->nb * ib
*/
ws_worker = chameleon_max( ws_worker, ib * A->nb * 2 );
ws_worker = chameleon_max( ws_worker, ib * A->nb * 3 );
#endif
ws_worker *= sizeof(CHAMELEON_Complex64_t);
......
......@@ -20,7 +20,7 @@
* @author Mathieu Faverge
* @author Emmanuel Agullo
* @author Cedric Castagnede
* @date 2010-11-15
* @date 2018-11-09
* @precisions normal z -> s d c
*
*/
......@@ -67,8 +67,7 @@ void chameleon_pzungqrrh( int genD, int BS,
}
/*
* zunmqr = A->nb * ib
* ztsmqr = A->nb * ib
* zunmqr = A->nb * ib
* ztpmqrt = A->nb * ib
*/
ws_worker = A->nb * ib;
......@@ -76,10 +75,10 @@ void chameleon_pzungqrrh( int genD, int BS,
#if defined(CHAMELEON_USE_CUDA)
/* Worker space
*
* zunmqr = A->nb * ib
* ztsmqr = 2 * A->nb * ib
* zunmqr = A->nb * ib
* ztpmqrt = 3 * A->nb * ib
*/
ws_worker = chameleon_max( ws_worker, ib * A->nb * 2 );
ws_worker = chameleon_max( ws_worker, ib * A->nb * 3 );
#endif
ws_worker *= sizeof(CHAMELEON_Complex64_t);
......
......@@ -20,7 +20,7 @@
* @author Mathieu Faverge
* @author Emmanuel Agullo
* @author Cedric Castagnede
* @date 2010-11-15
* @date 2018-11-09
* @precisions normal z -> s d c
*
*/
......@@ -70,16 +70,16 @@ void chameleon_pzunmlq( int genD, cham_side_t side, cham_trans_t trans,
}
/*
* zunmlq = A->mb * ib
* ztsmlq = A->mb * ib
* zunmlq = A->mb * ib
* ztpmlqt = A->mb * ib
*/
ws_worker = A->mb * ib;
#if defined(CHAMELEON_USE_CUDA)
/* Worker space
*
* zunmlq = A->mb * ib
* ztsmlq = 2 * A->mb * ib
* zunmlq = A->mb * ib
* ztpmlqt = 2 * A->mb * ib
*/
ws_worker = chameleon_max( ws_worker, ib * A->mb * 2 );
#endif
......
......@@ -14,7 +14,7 @@
* @version 1.0.0
* @author Mathieu Faverge
* @author Raphael Boucherie
* @date 2017-05-17
* @date 2018-11-09
* @precisions normal z -> s d c
*
*/
......@@ -63,19 +63,18 @@ void chameleon_pzunmlq_param( int genD, const libhqr_tree_t *qrtree,
}
/*
* zunmlq = A->nb * ib
* ztsmlq = A->nb * ib
* zttmlq = A->nb * ib
* zunmlq = A->nb * ib
* ztpmlqt = A->nb * ib
*/
ws_worker = A->nb * ib;
#if defined(CHAMELEON_USE_CUDA)
/* Worker space
*
* zunmlq = A->nb * ib
* ztsmlq = 2 * A->nb * ib
* zunmlq = A->nb * ib
* ztpmlqt = 3 * A->nb * ib
*/
ws_worker = chameleon_max( ws_worker, ib * A->nb * 2 );
ws_worker = chameleon_max( ws_worker, ib * A->nb * 3 );
#endif
ws_worker *= sizeof(CHAMELEON_Complex64_t);
......
......@@ -20,7 +20,7 @@
* @author Mathieu Faverge
* @author Emmanuel Agullo
* @author Cedric Castagnede
* @date 2010-11-15
* @date 2018-11-09
* @precisions normal z -> s d c
*
*/
......@@ -65,19 +65,18 @@ void chameleon_pzunmlqrh( int genD, int BS, cham_side_t side, cham_trans_t trans
}
/*
* zunmlq = A->nb * ib
* ztsmlq = A->nb * ib
* zttmlq = A->nb * ib
* zunmlq = A->nb * ib
* ztpmlqt = A->nb * ib
*/
ws_worker = A->nb * ib;
#if defined(CHAMELEON_USE_CUDA)
/* Worker space
*
* zunmlq = A->nb * ib
* ztsmlq = 2 * A->nb * ib
* zunmlq = A->nb * ib
* ztpmlqt = 3 * A->nb * ib
*/
ws_worker = chameleon_max( ws_worker, ib * A->nb * 2 );
ws_worker = chameleon_max( ws_worker, ib * A->nb * 3 );
#endif
ws_worker *= sizeof(CHAMELEON_Complex64_t);
......
......@@ -20,7 +20,7 @@
* @author Mathieu Faverge
* @author Emmanuel Agullo
* @author Cedric Castagnede
* @date 2010-11-15
* @date 2018-11-09
* @precisions normal z -> s d c
*
*/
......@@ -70,16 +70,16 @@ void chameleon_pzunmqr( int genD, cham_side_t side, cham_trans_t trans,
}
/*
* zunmqr = A->nb * ib
* ztsmqr = A->nb * ib
* zunmqr = A->nb * ib
* ztpmqrt = A->nb * ib
*/
ws_worker = A->nb * ib;
#if defined(CHAMELEON_USE_CUDA)
/* Worker space
*
* zunmqr = A->nb * ib
* ztsmqr = 2 * A->nb * ib
* zunmqr = A->nb * ib
* ztpmqrt = 2 * A->nb * ib
*/
ws_worker = chameleon_max( ws_worker, ib * A->nb * 2 );
#endif
......
......@@ -14,7 +14,7 @@
* @version 1.0.0
* @author Mathieu Faverge
* @author Raphael Boucherie
* @date 2017-05-17
* @date 2018-11-09
* @precisions normal z -> s d c
*
*/
......@@ -63,8 +63,7 @@ void chameleon_pzunmqr_param( int genD, const libhqr_tree_t *qrtree,
}
/*
* zunmqr = A->nb * ib
* ztsmqr = A->nb * ib
* zunmqr = A->nb * ib
* ztpmqrt = A->nb * ib
*/
ws_worker = A->nb * ib;
......@@ -72,10 +71,10 @@ void chameleon_pzunmqr_param( int genD, const libhqr_tree_t *qrtree,
#if defined(CHAMELEON_USE_CUDA)
/* Worker space
*
* zunmqr = A->nb * ib
* ztsmqr = 2 * A->nb * ib
* zunmqr = A->nb * ib
* ztpmqrt = 3 * A->nb * ib
*/
ws_worker = chameleon_max( ws_worker, ib * A->nb * 2 );
ws_worker = chameleon_max( ws_worker, ib * A->nb * 3 );
#endif
ws_worker *= sizeof(CHAMELEON_Complex64_t);
......
......@@ -20,7 +20,7 @@
* @author Mathieu Faverge
* @author Emmanuel Agullo
* @author Cedric Castagnede
* @date 2010-11-15
* @date 2018-11-09
* @precisions normal z -> s d c
*
*/
......@@ -66,8 +66,7 @@ void chameleon_pzunmqrrh( int genD, int BS, cham_side_t side, cham_trans_t trans
}
/*
* zunmqr = A->nb * ib
* ztsmqr = A->nb * ib
* zunmqr = A->nb * ib
* ztpmqrt = A->nb * ib
*/
ws_worker = A->nb * ib;
......@@ -75,10 +74,10 @@ void chameleon_pzunmqrrh( int genD, int BS, cham_side_t side, cham_trans_t trans
#if defined(CHAMELEON_USE_CUDA)
/* Worker space
*
* zunmqr = A->nb * ib
* ztsmqr = 2 * A->nb * ib
* zunmqr = A->nb * ib
* ztpmqrt = 3 * A->nb * ib
*/
ws_worker = chameleon_max( ws_worker, ib * A->nb * 2 );
ws_worker = chameleon_max( ws_worker, ib * A->nb * 3 );
#endif
ws_worker *= sizeof(CHAMELEON_Complex64_t);
......
......@@ -18,7 +18,7 @@
* @author Mathieu Faverge
* @author Emmanuel Agullo
* @author Cedric Castagnede
* @date 2011-06-14
* @date 2018-11-09
* @precisions normal z -> c d s
*
*/
......@@ -139,7 +139,8 @@
*/
/* This kernel is never traced so return type on previous line for convert2eztrace.pl script */
int
CORE_zparfb(cham_side_t side, cham_trans_t trans, cham_dir_t direct, cham_store_t storev,
CORE_zparfb(cham_side_t side, cham_trans_t trans,
cham_dir_t direct, cham_store_t storev,
int M1, int N1, int M2, int N2, int K, int L,
CHAMELEON_Complex64_t *A1, int LDA1,
CHAMELEON_Complex64_t *A2, int LDA2,
......
......@@ -13,7 +13,7 @@
*
* @version 1.0.0
* @author Mathieu Faverge
* @date 2016-12-15
* @date 2018-11-09
* @precisions normal z -> c d s
*
*/
......@@ -24,9 +24,11 @@
*
* @ingroup CORE_CHAMELEON_Complex64_t
*
* CORE_ztpmlqt applies a complex orthogonal matrix Q obtained from a
* "triangular-pentagonal" complex block reflector H to a general complex matrix
* C, which consists of two blocks A and B.
* @brief Applies a complex orthogonal matrix Q.
*
* The matrix Q is obtained from a "triangular-pentagonal" complex block
* reflector H to a general complex matrix C, which consists of two blocks A and
* B.
*
*******************************************************************************
*
......@@ -128,9 +130,8 @@
*
*******************************************************************************
*
* @return
* \retval CHAMELEON_SUCCESS successful exit
* \retval <0 if -i, the i-th argument had an illegal value
* @retval CHAMELEON_SUCCESS successful exit
* @retval <0 if -i, the i-th argument had an illegal value
*
*/
......
......@@ -19,7 +19,7 @@
* @author Mathieu Faverge
* @author Emmanuel Agullo
* @author Cedric Castagnede
* @date 2010-11-15
* @date 2018-11-09
* @precisions normal z -> c d s
*
*/
......@@ -127,9 +127,9 @@ int CORE_zttmlq(cham_side_t side, cham_trans_t trans,
const CHAMELEON_Complex64_t *T, int LDT,
CHAMELEON_Complex64_t *WORK, int LDWORK)
{
int i, i1, i3, l;
int i, i1, i3;
int NW;
int kb;
int kb, l;
int ic = 0;
int jc = 0;
int mi1 = M1;
......@@ -205,11 +205,13 @@ int CORE_zttmlq(cham_side_t side, cham_trans_t trans,
}
/* Quick return */
if ((M1 == 0) || (N1 == 0) || (M2 == 0) || (N2 == 0) || (K == 0) || (IB == 0))
if ((M1 == 0) || (N1 == 0) || (M2 == 0) || (N2 == 0) || (K == 0) || (IB == 0)) {
return CHAMELEON_SUCCESS;
}
if (((side == ChamLeft) && (trans == ChamNoTrans))
|| ((side == ChamRight) && (trans != ChamNoTrans))) {
if ( ((side == ChamLeft ) && (trans == ChamNoTrans)) ||
((side == ChamRight) && (trans != ChamNoTrans)) )
{
i1 = 0;
i3 = IB;
}
......@@ -248,13 +250,11 @@ int CORE_zttmlq(cham_side_t side, cham_trans_t trans,
CORE_zparfb(
side, trans, ChamDirForward, ChamRowwise,
mi1, ni1, mi2, ni2, kb, l,
&A1[LDA1*jc+ic], LDA1,
A1 + LDA1 * jc + ic, LDA1,
A2, LDA2,
&V[i], LDV,
&T[LDT*i], LDT,
V + i, LDV,
T + LDT * i, LDT,
WORK, LDWORK);