tasks_z.h 32.2 KB
Newer Older
Mathieu Faverge's avatar
Mathieu Faverge committed
1 2 3 4 5 6
/**
 *
 * @file chameleon_tasks_z.h
 *
 * @copyright 2009-2014 The University of Tennessee and The University of
 *                      Tennessee Research Foundation. All rights reserved.
Mathieu Faverge's avatar
Mathieu Faverge committed
7
 * @copyright 2012-2018 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
Mathieu Faverge's avatar
Mathieu Faverge committed
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
 *                      Univ. Bordeaux. All rights reserved.
 *
 ***
 *
 * @brief Chameleon CHAMELEON_Complex64_t elementary tasks header
 *
 * @version 1.0.0
 * @comment This file has been automatically generated
 *          from Plasma 2.5.0 for CHAMELEON 1.0.0
 * @author Jakub Kurzak
 * @author Hatem Ltaief
 * @author Azzam Haidar
 * @author Mathieu Faverge
 * @author Emmanuel Agullo
 * @author Cedric Castagnede
23
 * @date 2018-11-07
Mathieu Faverge's avatar
Mathieu Faverge committed
24 25 26 27 28 29 30 31 32
 * @precisions normal z -> c d s
 *
 */
#ifndef _chameleon_tasks_z_h_
#define _chameleon_tasks_z_h_

/**
 *  Declarations of QUARK wrappers (called by CHAMELEON) - alphabetical order
 */
33
void INSERT_TASK_dzasum( const RUNTIME_option_t *options,
34 35 36
                         cham_store_t storev, cham_uplo_t uplo, int M, int N,
                         const CHAM_desc_t *A, int Am, int An, int lda,
                         const CHAM_desc_t *B, int Bm, int Bn );
Mathieu Faverge's avatar
Mathieu Faverge committed
37 38 39 40
void INSERT_TASK_zaxpy( const RUNTIME_option_t *options,
                        int M, CHAMELEON_Complex64_t alpha,
                        const CHAM_desc_t *A, int Am, int An, int incA,
                        const CHAM_desc_t *B, int Bm, int Bn, int incB );
41
void INSERT_TASK_zgeadd( const RUNTIME_option_t *options,
42 43 44
                         cham_trans_t trans, int m, int n, int nb,
                         CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda,
                         CHAMELEON_Complex64_t beta,  const CHAM_desc_t *B, int Bm, int Bn, int ldb );
45
void INSERT_TASK_zlascal( const RUNTIME_option_t *options,
46 47 48 49
                          cham_uplo_t uplo,
                          int m, int n, int nb,
                          CHAMELEON_Complex64_t alpha,
                          const CHAM_desc_t *A, int Am, int An, int lda );
50
void INSERT_TASK_zbrdalg( const RUNTIME_option_t *options,
51 52 53 54 55 56 57
                          cham_uplo_t uplo,
                          int N, int NB,
                          const CHAM_desc_t *A,
                          const CHAM_desc_t *C, int Cm, int Cn,
                          const CHAM_desc_t *S, int Sm, int Sn,
                          int i, int j, int m, int grsiz, int BAND,
                          int *PCOL, int *ACOL, int *MCOL );
58
void INSERT_TASK_zgelqt( const RUNTIME_option_t *options,
59 60 61
                         int m, int n, int ib, int nb,
                         const CHAM_desc_t *A, int Am, int An, int lda,
                         const CHAM_desc_t *T, int Tm, int Tn, int ldt );
62
void INSERT_TASK_zgemm( const RUNTIME_option_t *options,
Mathieu Faverge's avatar
Mathieu Faverge committed
63
                        cham_trans_t transA, cham_trans_t transB,
Mathieu Faverge's avatar
Mathieu Faverge committed
64
                        int m, int n, int k, int nb,
65
                        CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda,
Mathieu Faverge's avatar
Mathieu Faverge committed
66
                        const CHAM_desc_t *B, int Bm, int Bn, int ldb,
67
                        CHAMELEON_Complex64_t beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc );
68 69 70 71 72 73
void INSERT_TASK_zgemm2( const RUNTIME_option_t *options,
                         cham_trans_t transA, cham_trans_t transB,
                         int m, int n, int k, int nb,
                         CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda,
                         const CHAM_desc_t *B, int Bm, int Bn, int ldb,
                         CHAMELEON_Complex64_t beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc );
74
void INSERT_TASK_zgemm_f2( const RUNTIME_option_t *options,
75 76 77 78 79 80 81
                           cham_trans_t transA, cham_trans_t transB,
                           int m, int n, int k, int nb,
                           CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda,
                           const CHAM_desc_t *B, int Bm, int Bn, int ldb,
                           CHAMELEON_Complex64_t beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc,
                           const CHAM_desc_t *fake1, int fake1m, int fake1n, int szefake1, int flag1,
                           const CHAM_desc_t *fake2, int fake2m, int fake2n, int szefake2, int flag2 );
82
void INSERT_TASK_zgemm_p2( const RUNTIME_option_t *options,
83 84 85 86 87
                           cham_trans_t transA, cham_trans_t transB,
                           int m, int n, int k, int nb,
                           CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda,
                           const CHAMELEON_Complex64_t **B, int ldb,
                           CHAMELEON_Complex64_t beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc );
88
void INSERT_TASK_zgemm_p2f1( const RUNTIME_option_t *options,
89 90 91 92 93 94
                             cham_trans_t transA, cham_trans_t transB,
                             int m, int n, int k, int nb,
                             CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda,
                             const CHAMELEON_Complex64_t **B, int ldb,
                             CHAMELEON_Complex64_t beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc,
                             const CHAM_desc_t *fake1, int fake1m, int fake1n, int szefake1, int flag1 );
95
void INSERT_TASK_zgemm_p3( const RUNTIME_option_t *options,
96 97 98 99 100
                           cham_trans_t transA, cham_trans_t transB,
                           int m, int n, int k, int nb,
                           CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda,
                           const CHAM_desc_t *B, int Bm, int Bn, int ldb,
                           CHAMELEON_Complex64_t beta, CHAMELEON_Complex64_t **C, int ldc );
101
void INSERT_TASK_zgeqrt( const RUNTIME_option_t *options,
102 103 104
                         int m, int n, int ib, int nb,
                         const CHAM_desc_t *A, int Am, int An, int lda,
                         const CHAM_desc_t *T, int Tm, int Tn, int ldt );
105
void INSERT_TASK_zgessm( const RUNTIME_option_t *options,
106 107 108 109 110
                         int m, int n, int k, int ib, int nb,
                         int *IPIV,
                         const CHAM_desc_t *L, int Lm, int Ln, int ldl,
                         const CHAM_desc_t *D, int Dm, int Dn, int ldd,
                         const CHAM_desc_t *A, int Am, int An, int lda );
111
void INSERT_TASK_zgessq( const RUNTIME_option_t *options,
112 113 114
                         int m, int n,
                         const CHAM_desc_t *A, int Am, int An, int lda,
                         const CHAM_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn );
115
void INSERT_TASK_zgetrf( const RUNTIME_option_t *options,
116 117 118 119
                         int m, int n, int nb,
                         const CHAM_desc_t *A, int Am, int An, int lda,
                         int *IPIV,
                         cham_bool_t check_info, int iinfo );
120
void INSERT_TASK_zgetrf_incpiv( const RUNTIME_option_t *options,
121 122 123 124 125
                                int m, int n, int ib, int nb,
                                const CHAM_desc_t *A, int Am, int An, int lda,
                                const CHAM_desc_t *L, int Lm, int Ln, int ldl,
                                int *IPIV,
                                cham_bool_t check_info, int iinfo );
126
void INSERT_TASK_zgetrf_nopiv( const RUNTIME_option_t *options,
127 128
                               int m, int n, int ib, int nb,
                               const CHAM_desc_t *A, int Am, int An, int lda, int iinfo );
129
void INSERT_TASK_zgetrf_reclap( const RUNTIME_option_t *options,
130 131 132
                                int m, int n, int nb,
                                const CHAM_desc_t *A, int Am, int An, int lda,
                                int *IPIV,
Mathieu Faverge's avatar
Mathieu Faverge committed
133

134 135
                                cham_bool_t check_info, int iinfo,
                                int nbthread );
136
void INSERT_TASK_zgetrf_rectil( const RUNTIME_option_t *options,
137 138
                                const CHAM_desc_t A, const CHAM_desc_t *Amn, int Amnm, int Amnn, int size,
                                int *IPIV,
Mathieu Faverge's avatar
Mathieu Faverge committed
139

140 141
                                cham_bool_t check_info, int iinfo,
                                int nbthread );
142
void INSERT_TASK_zgetrip( const RUNTIME_option_t *options,
143
                          int m, int n, const CHAM_desc_t *A, int Am, int An, int szeA );
144
void INSERT_TASK_zgetrip_f1( const RUNTIME_option_t *options,
145 146
                             int m, int n, const CHAM_desc_t *A, int Am, int An, int szeA,
                             const CHAM_desc_t *fake, int fakem, int faken, int szeF, int paramF );
147
void INSERT_TASK_zgetrip_f2( const RUNTIME_option_t *options,
148 149 150
                             int m, int n, const CHAM_desc_t *A, int Am, int An, int szeA,
                             const CHAM_desc_t *fake1, int fake1m, int fake1n, int szeF1, int paramF1,
                             const CHAM_desc_t *fake2, int fake2m, int fake2n, int szeF2, int paramF2 );
151
void INSERT_TASK_zhe2ge( const RUNTIME_option_t *options,
152 153 154 155
                         cham_uplo_t uplo,
                         int m, int n, int mb,
                         const CHAM_desc_t *A, int Am, int An, int lda,
                         const CHAM_desc_t *B, int Bm, int Bn, int ldb );
156
void INSERT_TASK_zhemm( const RUNTIME_option_t *options,
157 158 159 160 161
                        cham_side_t side, cham_uplo_t uplo,
                        int m, int n, int nb,
                        CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda,
                        const CHAM_desc_t *B, int Bm, int Bn, int ldb,
                        CHAMELEON_Complex64_t beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc );
162
void INSERT_TASK_zhegst( const RUNTIME_option_t *options,
163 164 165 166
                         int itype, cham_uplo_t uplo, int N,
                         const CHAM_desc_t *A, int Am, int An, int LDA,
                         const CHAM_desc_t *B, int Bm, int Bn, int LDB,
                         int iinfo );
167
void INSERT_TASK_zherk( const RUNTIME_option_t *options,
Mathieu Faverge's avatar
Mathieu Faverge committed
168
                        cham_uplo_t uplo, cham_trans_t trans,
Mathieu Faverge's avatar
Mathieu Faverge committed
169
                        int n, int k, int nb,
170
                        double alpha, const CHAM_desc_t *A, int Am, int An, int lda,
Mathieu Faverge's avatar
Mathieu Faverge committed
171
                        double beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc );
172 173 174 175 176 177
void INSERT_TASK_zher2k( const RUNTIME_option_t *options,
                         cham_uplo_t uplo, cham_trans_t trans,
                         int n, int k, int nb,
                         CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda,
                         const CHAM_desc_t *B, int Bm, int Bn, int LDB,
                         double beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc );
178
void INSERT_TASK_zherfb( const RUNTIME_option_t *options,
179 180 181 182 183
                         cham_uplo_t uplo,
                         int n, int k, int ib, int nb,
                         const CHAM_desc_t *A, int Am, int An, int lda,
                         const CHAM_desc_t *T, int Tm, int Tn, int ldt,
                         const CHAM_desc_t *C, int Cm, int Cn, int ldc );
184
void INSERT_TASK_zlacpy( const RUNTIME_option_t *options,
Mathieu Faverge's avatar
Mathieu Faverge committed
185
                         cham_uplo_t uplo, int m, int n, int mb,
186 187 188 189 190 191
                         const CHAM_desc_t *A, int Am, int An, int lda,
                         const CHAM_desc_t *B, int Bm, int Bn, int ldb );
void INSERT_TASK_zlacpyx( const RUNTIME_option_t *options,
                          cham_uplo_t uplo, int m, int n, int mb,
                          int displA, const CHAM_desc_t *A, int Am, int An, int lda,
                          int displB, const CHAM_desc_t *B, int Bm, int Bn, int ldb );
192
void INSERT_TASK_zlange( const RUNTIME_option_t *options,
193 194 195
                         cham_normtype_t norm, int M, int N, int NB,
                         const CHAM_desc_t *A, int Am, int An, int LDA,
                         const CHAM_desc_t *B, int Bm, int Bn );
196
void INSERT_TASK_zlange_max( const RUNTIME_option_t *options,
197 198
                             const CHAM_desc_t *A, int Am, int An,
                             const CHAM_desc_t *B, int Bm, int Bn );
199
void INSERT_TASK_zhessq( const RUNTIME_option_t *options,
200 201 202
                         cham_uplo_t uplo, int n,
                         const CHAM_desc_t *A, int Am, int An, int lda,
                         const CHAM_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn );
203
void INSERT_TASK_zlanhe( const RUNTIME_option_t *options,
204 205 206
                         cham_normtype_t norm, cham_uplo_t uplo, int N, int NB,
                         const CHAM_desc_t *A, int Am, int An, int LDA,
                         const CHAM_desc_t *B, int Bm, int Bn );
207
void INSERT_TASK_zlansy( const RUNTIME_option_t *options,
208 209 210
                         cham_normtype_t norm, cham_uplo_t uplo, int N, int NB,
                         const CHAM_desc_t *A, int Am, int An, int LDA,
                         const CHAM_desc_t *B, int Bm, int Bn );
211
void INSERT_TASK_zlantr( const RUNTIME_option_t *options,
212 213 214 215
                         cham_normtype_t norm, cham_uplo_t uplo, cham_diag_t diag,
                         int M, int N, int NB,
                         const CHAM_desc_t *A, int Am, int An, int LDA,
                         const CHAM_desc_t *B, int Bm, int Bn );
216
void INSERT_TASK_zlaset( const RUNTIME_option_t *options,
217
                         cham_uplo_t uplo, int n1, int n2, CHAMELEON_Complex64_t alpha,
218 219 220 221
                         CHAMELEON_Complex64_t beta, const CHAM_desc_t *tileA, int tileAm, int tileAn, int ldtilea );
void INSERT_TASK_zlaset2( const RUNTIME_option_t *options,
                          cham_uplo_t uplo, int n1, int n2, CHAMELEON_Complex64_t alpha,
                          const CHAM_desc_t *tileA, int tileAm, int tileAn, int ldtilea );
222
void INSERT_TASK_zlaswp( const RUNTIME_option_t *options,
223 224
                         int n, const CHAM_desc_t *A, int Am, int An, int lda,
                         int i1,  int i2, int *ipiv, int inc );
225
void INSERT_TASK_zlaswp_f2( const RUNTIME_option_t *options,
226 227 228 229
                            int n, const CHAM_desc_t *A, int Am, int An, int lda,
                            int i1,  int i2, int *ipiv, int inc,
                            const CHAM_desc_t *fake1, int fake1m, int fake1n, int szefake1, int flag1,
                            const CHAM_desc_t *fake2, int fake2m, int fake2n, int szefake2, int flag2 );
230
void INSERT_TASK_zlaswp_ontile( const RUNTIME_option_t *options,
Mathieu Faverge's avatar
Mathieu Faverge committed
231
                                const CHAM_desc_t descA, const CHAM_desc_t *A, int Am, int An,
232
                                int i1,  int i2, int *ipiv, int inc, CHAMELEON_Complex64_t *fakepanel );
233 234 235 236 237 238 239 240
void INSERT_TASK_zlaswp_ontile_f2( const RUNTIME_option_t *options,
                                   const CHAM_desc_t descA, const CHAM_desc_t *A, int Am, int An,
                                   int i1,  int i2, int *ipiv, int inc,
                                   const CHAM_desc_t *fake1, int fake1m, int fake1n, int szefake1, int flag1,
                                   const CHAM_desc_t *fake2, int fake2m, int fake2n, int szefake2, int flag2 );
void INSERT_TASK_zlaswpc_ontile( const RUNTIME_option_t *options,
                                 const CHAM_desc_t descA, const CHAM_desc_t *A, int Am, int An,
                                 int i1,  int i2, int *ipiv, int inc, CHAMELEON_Complex64_t *fakepanel );
241
void INSERT_TASK_zlatro( const RUNTIME_option_t *options,
242 243 244
                         cham_uplo_t uplo, cham_trans_t trans, int m, int n, int mb,
                         const CHAM_desc_t *A, int Am, int An, int lda,
                         const CHAM_desc_t *B, int Bm, int Bn, int ldb );
245
void INSERT_TASK_zlauum( const RUNTIME_option_t *options,
246 247
                         cham_uplo_t uplo, int n, int nb,
                         const CHAM_desc_t *A, int Am, int An, int lda );
248
void INSERT_TASK_zplghe( const RUNTIME_option_t *options,
249 250
                         double bump, int m, int n, const CHAM_desc_t *A, int Am, int An, int lda,
                         int bigM, int m0, int n0, unsigned long long int seed );
251
void INSERT_TASK_zplgsy( const RUNTIME_option_t *options,
252 253
                         CHAMELEON_Complex64_t bump, int m, int n, const CHAM_desc_t *A, int Am, int An, int lda,
                         int bigM, int m0, int n0, unsigned long long int seed );
254
void INSERT_TASK_zplrnt( const RUNTIME_option_t *options,
255 256
                         int m, int n, const CHAM_desc_t *A, int Am, int An, int lda,
                         int bigM, int m0, int n0, unsigned long long int seed );
257
void INSERT_TASK_zpotrf( const RUNTIME_option_t *options,
258 259
                         cham_uplo_t uplo, int n, int nb,
                         const CHAM_desc_t *A, int Am, int An, int lda,
Mathieu Faverge's avatar
Mathieu Faverge committed
260

261
                         int iinfo );
262
void INSERT_TASK_zshift( const RUNTIME_option_t *options,
263 264
                         int s, int m, int n, int L,
                         CHAMELEON_Complex64_t *A );
265
void INSERT_TASK_zshiftw( const RUNTIME_option_t *options,
266 267
                          int s, int cl, int m, int n, int L,
                          const CHAM_desc_t *A, int Am, int An, CHAMELEON_Complex64_t *W );
268
void INSERT_TASK_zssssm( const RUNTIME_option_t *options,
269 270 271 272 273 274
                         int m1, int n1, int m2, int n2, int k, int ib, int nb,
                         const CHAM_desc_t *A1, int A1m, int A1n, int lda1,
                         const CHAM_desc_t *A2, int A2m, int A2n, int lda2,
                         const CHAM_desc_t *L1, int L1m, int L1n, int ldl1,
                         const CHAM_desc_t *L2, int L2m, int L2n, int ldl2,
                         const int *IPIV );
275
void INSERT_TASK_zsymm( const RUNTIME_option_t *options,
276 277 278 279 280
                        cham_side_t side, cham_uplo_t uplo,
                        int m, int n, int nb,
                        CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda,
                        const CHAM_desc_t *B, int Bm, int Bn, int ldb,
                        CHAMELEON_Complex64_t beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc );
281
void INSERT_TASK_zsyrk( const RUNTIME_option_t *options,
Mathieu Faverge's avatar
Mathieu Faverge committed
282
                        cham_uplo_t uplo, cham_trans_t trans,
Mathieu Faverge's avatar
Mathieu Faverge committed
283
                        int n, int k, int nb,
284 285
                        CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda,
                        CHAMELEON_Complex64_t beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc );
286 287 288 289 290 291
void INSERT_TASK_zsyr2k( const RUNTIME_option_t *options,
                         cham_uplo_t uplo, cham_trans_t trans,
                         int n, int k, int nb,
                         CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda,
                         const CHAM_desc_t *B, int Bm, int Bn, int LDB,
                         CHAMELEON_Complex64_t beta, const CHAM_desc_t *C, int Cm, int Cn, int ldc );
292
void INSERT_TASK_zsyssq( const RUNTIME_option_t *options,
293 294 295
                         cham_uplo_t uplo, int n,
                         const CHAM_desc_t *A, int Am, int An, int lda,
                         const CHAM_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn );
296
void INSERT_TASK_zsytrf_nopiv( const RUNTIME_option_t *options,
297 298 299
                               cham_uplo_t uplo, int n, int nb,
                               const CHAM_desc_t *A, int Am, int An, int lda,
                               int iinfo );
300
void INSERT_TASK_zswpab( const RUNTIME_option_t *options,
301 302
                         int i, int n1, int n2,
                         const CHAM_desc_t *A, int Am, int An, int szeA );
303
void INSERT_TASK_zswptr_ontile( const RUNTIME_option_t *options,
304 305 306
                                const CHAM_desc_t descA, const CHAM_desc_t *Aij, int Aijm, int Aijn,
                                int i1,  int i2, int *ipiv, int inc,
                                const CHAM_desc_t *Akk, int Akkm, int Akkn, int ldak );
307
void INSERT_TASK_ztplqt( const RUNTIME_option_t *options,
308
                         int m, int n, int l, int ib, int nb,
Mathieu Faverge's avatar
Mathieu Faverge committed
309
                         const CHAM_desc_t *A, int Am, int An, int lda,
310 311 312 313 314 315 316 317 318
                         const CHAM_desc_t *B, int Bm, int Bn, int ldb,
                         const CHAM_desc_t *T, int Tm, int Tn, int ldt );
void INSERT_TASK_ztpmlqt( const RUNTIME_option_t *options,
                          cham_side_t side, cham_trans_t trans,
                          int M, int N, int K, int L, int ib, int nb,
                          const CHAM_desc_t *V, int Vm, int Vn, int ldv,
                          const CHAM_desc_t *T, int Tm, int Tn, int ldt,
                          const CHAM_desc_t *A, int Am, int An, int lda,
                          const CHAM_desc_t *B, int Bm, int Bn, int ldb );
319
void INSERT_TASK_ztpmqrt( const RUNTIME_option_t *options,
320 321 322 323 324 325
                          cham_side_t side, cham_trans_t trans,
                          int m, int n, int k, int l, int ib, int nb,
                          const CHAM_desc_t *V, int Vm, int Vn, int ldv,
                          const CHAM_desc_t *T, int Tm, int Tn, int ldt,
                          const CHAM_desc_t *A, int Am, int An, int lda,
                          const CHAM_desc_t *B, int Bm, int Bn, int ldb );
326
void INSERT_TASK_ztpqrt( const RUNTIME_option_t *options,
327 328 329 330
                         int m, int n, int l, int ib, int nb,
                         const CHAM_desc_t *A, int Am, int An, int lda,
                         const CHAM_desc_t *B, int Bm, int Bn, int ldb,
                         const CHAM_desc_t *T, int Tm, int Tn, int ldt );
331
void INSERT_TASK_ztrdalg( const RUNTIME_option_t *options,
332 333 334 335 336 337 338
                          cham_uplo_t uplo,
                          int N, int NB,
                          const CHAM_desc_t *A,
                          const CHAM_desc_t *C, int Cm, int Cn,
                          const CHAM_desc_t *S, int Sm, int Sn,
                          int i, int j, int m, int grsiz, int BAND,
                          int *PCOL, int *ACOL, int *MCOL );
339
void INSERT_TASK_ztradd( const RUNTIME_option_t *options,
340 341 342
                         cham_uplo_t uplo, cham_trans_t trans, int m, int n, int nb,
                         CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda,
                         CHAMELEON_Complex64_t beta,  const CHAM_desc_t *B, int Bm, int Bn, int ldb );
343
void INSERT_TASK_ztrasm( const RUNTIME_option_t *options,
344 345 346
                         cham_store_t storev, cham_uplo_t uplo, cham_diag_t diag, int M, int N,
                         const CHAM_desc_t *A, int Am, int An, int lda,
                         const CHAM_desc_t *B, int Bm, int Bn );
347
void INSERT_TASK_ztrmm( const RUNTIME_option_t *options,
348 349 350 351
                        cham_side_t side, cham_uplo_t uplo, cham_trans_t transA, cham_diag_t diag,
                        int m, int n, int nb,
                        CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda,
                        const CHAM_desc_t *B, int Bm, int Bn, int ldb );
352
void INSERT_TASK_ztrmm_p2( const RUNTIME_option_t *options,
353 354 355 356
                           cham_side_t side, cham_uplo_t uplo, cham_trans_t transA, cham_diag_t diag,
                           int m, int n, int nb,
                           CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda,
                           CHAMELEON_Complex64_t **B, int ldb );
357
void INSERT_TASK_ztrsm( const RUNTIME_option_t *options,
358 359 360 361
                        cham_side_t side, cham_uplo_t uplo, cham_trans_t transA, cham_diag_t diag,
                        int m, int n, int nb,
                        CHAMELEON_Complex64_t alpha, const CHAM_desc_t *A, int Am, int An, int lda,
                        const CHAM_desc_t *B, int Bm, int Bn, int ldb );
362
void INSERT_TASK_ztrssq( const RUNTIME_option_t *options,
363 364 365 366
                         cham_uplo_t uplo, cham_diag_t diag,
                         int m, int n,
                         const CHAM_desc_t *A, int Am, int An, int lda,
                         const CHAM_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn );
367
void INSERT_TASK_ztrtri( const RUNTIME_option_t *options,
368 369
                         cham_uplo_t uplo, cham_diag_t diag, int n, int nb,
                         const CHAM_desc_t *A, int Am, int An, int lda,
Mathieu Faverge's avatar
Mathieu Faverge committed
370

371
                         int iinfo );
372
void INSERT_TASK_ztsmlq_hetra1( const RUNTIME_option_t *options,
373 374 375 376 377 378
                                cham_side_t side, cham_trans_t trans,
                                int m1, int n1, int m2, int n2, int k, int ib, int nb,
                                const CHAM_desc_t *A1, int A1m, int A1n, int lda1,
                                const CHAM_desc_t *A2, int A2m, int A2n, int lda2,
                                const CHAM_desc_t *V, int Vm, int Vn, int ldv,
                                const CHAM_desc_t *T, int Tm, int Tn, int ldt );
379
void INSERT_TASK_ztsmqr_hetra1( const RUNTIME_option_t *options,
380 381 382 383 384 385
                                cham_side_t side, cham_trans_t trans,
                                int m1, int n1, int m2, int n2, int k, int ib, int nb,
                                const CHAM_desc_t *A1, int A1m, int A1n, int lda1,
                                const CHAM_desc_t *A2, int A2m, int A2n, int lda2,
                                const CHAM_desc_t *V, int Vm, int Vn, int ldv,
                                const CHAM_desc_t *T, int Tm, int Tn, int ldt );
386
void INSERT_TASK_ztstrf( const RUNTIME_option_t *options,
387 388 389 390 391 392 393 394 395
                         int m, int n, int ib, int nb,
                         const CHAM_desc_t *U, int Um, int Un, int ldu,
                         const CHAM_desc_t *A, int Am, int An, int lda,
                         const CHAM_desc_t *L, int Lm, int Ln, int ldl,
                         int *IPIV,
                         cham_bool_t check_info, int iinfo );
void INSERT_TASK_zpamm( const RUNTIME_option_t *options,
                        int op, cham_side_t side, cham_store_t storev,
                        int m, int n, int k, int l,
Mathieu Faverge's avatar
Mathieu Faverge committed
396 397 398
                        const CHAM_desc_t *A1, int A1m, int A1n, int lda1,
                        const CHAM_desc_t *A2, int A2m, int A2n, int lda2,
                        const CHAM_desc_t *V, int Vm, int Vn, int ldv,
399
                        const CHAM_desc_t *W, int Wm, int Wn, int ldw );
400
void INSERT_TASK_zplssq( const RUNTIME_option_t *options,
401 402
                         const CHAM_desc_t *SCALESUMSQ, int SCALESUMSQm, int SCALESUMSQn,
                         const CHAM_desc_t *SCLSSQ,     int SCLSSQm,     int SCLSSQn );
403
void INSERT_TASK_zplssq2( const RUNTIME_option_t *options,
404
                          const CHAM_desc_t *RESULT, int RESULTm, int RESULTn );
405
void INSERT_TASK_zunmlq( const RUNTIME_option_t *options,
406 407 408 409 410
                         cham_side_t side, cham_trans_t trans,
                         int m, int n, int ib,  int nb, int k,
                         const CHAM_desc_t *A, int Am, int An, int lda,
                         const CHAM_desc_t *T, int Tm, int Tn, int ldt,
                         const CHAM_desc_t *C, int Cm, int Cn, int ldc );
411
void INSERT_TASK_zunmqr( const RUNTIME_option_t *options,
412 413 414 415 416
                         cham_side_t side, cham_trans_t trans,
                         int m, int n, int k, int ib, int nb,
                         const CHAM_desc_t *A, int Am, int An, int lda,
                         const CHAM_desc_t *T, int Tm, int Tn, int ldt,
                         const CHAM_desc_t *C, int Cm, int Cn, int ldc );
417
void INSERT_TASK_zbuild( const RUNTIME_option_t *options,
418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531
                         const CHAM_desc_t *A, int Am, int An, int lda,
                         void *user_data, void* user_build_callback );


/**
 * Keep these insert_task for retro-compatibility
 */
static inline void
INSERT_TASK_ztslqt( const RUNTIME_option_t *options,
                    int m, int n, int ib, int nb,
                    const CHAM_desc_t *A1, int A1m, int A1n, int lda1,
                    const CHAM_desc_t *A2, int A2m, int A2n, int lda2,
                    const CHAM_desc_t *T, int Tm, int Tn, int ldt )
{
    return INSERT_TASK_ztplqt( options, m, n, 0, ib, nb,
                               A1, A1m, A1n, lda1,
                               A2, A2m, A2n, lda2,
                               T,  Tm,  Tn,  ldt );
}

static inline void
INSERT_TASK_ztsqrt( const RUNTIME_option_t *options,
                    int m, int n, int ib, int nb,
                    const CHAM_desc_t *A1, int A1m, int A1n, int lda1,
                    const CHAM_desc_t *A2, int A2m, int A2n, int lda2,
                    const CHAM_desc_t *T, int Tm, int Tn, int ldt )
{
    return INSERT_TASK_ztpqrt( options, m, n, 0, ib, nb,
                               A1, A1m, A1n, lda1,
                               A2, A2m, A2n, lda2,
                               T,  Tm,  Tn,  ldt );
}

static inline void
INSERT_TASK_zttlqt( const RUNTIME_option_t *options,
                    int m, int n, int ib, int nb,
                    const CHAM_desc_t *A1, int A1m, int A1n, int lda1,
                    const CHAM_desc_t *A2, int A2m, int A2n, int lda2,
                    const CHAM_desc_t *T, int Tm, int Tn, int ldt )
{
    return INSERT_TASK_ztplqt( options, m, n, n, ib, nb,
                               A1, A1m, A1n, lda1,
                               A2, A2m, A2n, lda2,
                               T,  Tm,  Tn,  ldt );
}

static inline void
INSERT_TASK_zttqrt( const RUNTIME_option_t *options,
                    int m, int n, int ib, int nb,
                    const CHAM_desc_t *A1, int A1m, int A1n, int lda1,
                    const CHAM_desc_t *A2, int A2m, int A2n, int lda2,
                    const CHAM_desc_t *T, int Tm, int Tn, int ldt )
{
    return INSERT_TASK_ztpqrt( options, m, n, m, ib, nb,
                               A1, A1m, A1n, lda1,
                               A2, A2m, A2n, lda2,
                               T,  Tm,  Tn,  ldt );
}

static inline void
INSERT_TASK_ztsmlq( const RUNTIME_option_t *options,
                    cham_side_t side, cham_trans_t trans,
                    int m1, int n1, int m2, int n2, int k, int ib, int nb,
                    const CHAM_desc_t *A1, int A1m, int A1n, int lda1,
                    const CHAM_desc_t *A2, int A2m, int A2n, int lda2,
                    const CHAM_desc_t *V, int Vm, int Vn, int ldv,
                    const CHAM_desc_t *T, int Tm, int Tn, int ldt )
{
    return INSERT_TASK_ztpmlqt( options, side, trans, m2, n2, k, 0, ib, nb,
                                V, Vm, Vn, ldv, T, Tm, Tn, ldt,
                                A1, A1m, A1n, lda1, A2, A2m, A2n, lda2 );
}

static inline void
INSERT_TASK_ztsmqr( const RUNTIME_option_t *options,
                    cham_side_t side, cham_trans_t trans,
                    int m1, int n1, int m2, int n2, int k, int ib, int nb,
                    const CHAM_desc_t *A1, int A1m, int A1n, int lda1,
                    const CHAM_desc_t *A2, int A2m, int A2n, int lda2,
                    const CHAM_desc_t *V, int Vm, int Vn, int ldv,
                    const CHAM_desc_t *T, int Tm, int Tn, int ldt )
{
    return INSERT_TASK_ztpmqrt( options, side, trans, m2, n2, k, 0, ib, nb,
                                V, Vm, Vn, ldv, T, Tm, Tn, ldt,
                                A1, A1m, A1n, lda1, A2, A2m, A2n, lda2 );
}

static inline void
INSERT_TASK_zttmlq( const RUNTIME_option_t *options,
                    cham_side_t side, cham_trans_t trans,
                    int m1, int n1, int m2, int n2, int k, int ib, int nb,
                    const CHAM_desc_t *A1, int A1m, int A1n, int lda1,
                    const CHAM_desc_t *A2, int A2m, int A2n, int lda2,
                    const CHAM_desc_t *V, int Vm, int Vn, int ldv,
                    const CHAM_desc_t *T, int Tm, int Tn, int ldt )
{
    return INSERT_TASK_ztpmlqt( options, side, trans, m2, n2, k, n2, ib, nb,
                                V, Vm, Vn, ldv, T, Tm, Tn, ldt,
                                A1, A1m, A1n, lda1, A2, A2m, A2n, lda2 );
}

static inline void
INSERT_TASK_zttmqr( const RUNTIME_option_t *options,
                    cham_side_t side, cham_trans_t trans,
                    int m1, int n1, int m2, int n2, int k, int ib, int nb,
                    const CHAM_desc_t *A1, int A1m, int A1n, int lda1,
                    const CHAM_desc_t *A2, int A2m, int A2n, int lda2,
                    const CHAM_desc_t *V, int Vm, int Vn, int ldv,
                    const CHAM_desc_t *T, int Tm, int Tn, int ldt )
{
    return INSERT_TASK_ztpmqrt( options, side, trans, m2, n2, k, m2, ib, nb,
                                V, Vm, Vn, ldv, T, Tm, Tn, ldt,
                                A1, A1m, A1n, lda1, A2, A2m, A2n, lda2 );
}
Mathieu Faverge's avatar
Mathieu Faverge committed
532

Mathieu Faverge's avatar
Mathieu Faverge committed
533
#endif /* _chameleon_tasks_z_h_ */