MAGMA  magma-1.4.0
Matrix Algebra on GPU and Multicore Architectures
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
magma_z.h
Go to the documentation of this file.
1 /*
2  -- MAGMA (version 1.4.0) --
3  Univ. of Tennessee, Knoxville
4  Univ. of California, Berkeley
5  Univ. of Colorado, Denver
6  August 2013
7 
8  @precisions normal z -> s d c
9 */
10 
11 #ifndef MAGMA_Z_H
12 #define MAGMA_Z_H
13 
14 #include "magma_types.h"
15 #include "magma_zgehrd_m.h"
16 
17 #define PRECISION_z
18 
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22 /* ////////////////////////////////////////////////////////////////////////////
23  -- MAGMA Auxiliary functions to get the NB used
24 */
43 /* ////////////////////////////////////////////////////////////////////////////
44  -- MAGMA function definitions / Data on CPU
45 */
46 void magma_dmove_eig(char range, magma_int_t n, double *w, magma_int_t *il,
47  magma_int_t *iu, double vl, double vu, magma_int_t *m);
48 magma_int_t magma_zgebrd( magma_int_t m, magma_int_t n, magmaDoubleComplex *A,
49  magma_int_t lda, double *d, double *e,
50  magmaDoubleComplex *tauq, magmaDoubleComplex *taup,
51  magmaDoubleComplex *work, magma_int_t lwork, magma_int_t *info);
53  magmaDoubleComplex *A, magma_int_t lda, magmaDoubleComplex *tau,
54  magmaDoubleComplex *work, magma_int_t lwork, magma_int_t *info);
56  magmaDoubleComplex *A, magma_int_t lda, magmaDoubleComplex *tau,
57  magmaDoubleComplex *work, magma_int_t lwork,
58  magmaDoubleComplex *dT, magma_int_t *info);
60  magmaDoubleComplex *A, magma_int_t lda, magmaDoubleComplex *tau,
61  magmaDoubleComplex *work, magma_int_t lwork, magma_int_t *info);
63  magmaDoubleComplex *A, magma_int_t lda, magmaDoubleComplex *tau,
64  magmaDoubleComplex *work, magma_int_t lwork, magma_int_t *info);
65 magma_int_t magma_zgeqrf( magma_int_t m, magma_int_t n, magmaDoubleComplex *A,
66  magma_int_t lda, magmaDoubleComplex *tau, magmaDoubleComplex *work,
67  magma_int_t lwork, magma_int_t *info);
69  magmaDoubleComplex *a, magma_int_t lda, magmaDoubleComplex *tau,
70  magmaDoubleComplex *work, magma_int_t lwork, magma_int_t *info );
71 magma_int_t magma_zgeqrf_ooc( magma_int_t m, magma_int_t n, magmaDoubleComplex *A,
72  magma_int_t lda, magmaDoubleComplex *tau, magmaDoubleComplex *work,
73  magma_int_t lwork, magma_int_t *info);
75  magmaDoubleComplex *A, magma_int_t lda, magma_int_t *ipiv,
76  magmaDoubleComplex *B, magma_int_t ldb, magma_int_t *info);
77 magma_int_t magma_zgetrf( magma_int_t m, magma_int_t n, magmaDoubleComplex *A,
78  magma_int_t lda, magma_int_t *ipiv,
79  magma_int_t *info);
80 magma_int_t magma_zgetrf2(magma_int_t m, magma_int_t n, magmaDoubleComplex *a,
81  magma_int_t lda, magma_int_t *ipiv, magma_int_t *info);
82 
84  magma_int_t nb, magma_int_t *kb,
85  magmaDoubleComplex *A, magma_int_t lda,
86  magmaDoubleComplex *dA, magma_int_t ldda,
87  magma_int_t *jpvt, magmaDoubleComplex *tau, double *vn1, double *vn2,
88  magmaDoubleComplex *auxv,
89  magmaDoubleComplex *F, magma_int_t ldf,
90  magmaDoubleComplex *dF, magma_int_t lddf );
91 void magma_zlarfg( magma_int_t n, magmaDoubleComplex *alpha, magmaDoubleComplex *x,
92  magma_int_t incx, magmaDoubleComplex *tau);
93 magma_int_t magma_zlatrd( char uplo, magma_int_t n, magma_int_t nb, magmaDoubleComplex *a,
94  magma_int_t lda, double *e, magmaDoubleComplex *tau,
95  magmaDoubleComplex *w, magma_int_t ldw,
96  magmaDoubleComplex *da, magma_int_t ldda,
97  magmaDoubleComplex *dw, magma_int_t lddw);
99  magmaDoubleComplex *a, magma_int_t lda,
100  double *e, magmaDoubleComplex *tau,
101  magmaDoubleComplex *w, magma_int_t ldw,
102  magmaDoubleComplex *da, magma_int_t ldda,
103  magmaDoubleComplex *dw, magma_int_t lddw,
104  magmaDoubleComplex *dwork, magma_int_t ldwork);
106  magmaDoubleComplex *da, magmaDoubleComplex *dv, magmaDoubleComplex *a,
107  magma_int_t lda, magmaDoubleComplex *tau, magmaDoubleComplex *t,
108  magma_int_t ldt, magmaDoubleComplex *y, magma_int_t ldy);
110  magmaDoubleComplex *a, magma_int_t lda,
111  magmaDoubleComplex *da, magmaDoubleComplex *y,
112  magmaDoubleComplex *v, magmaDoubleComplex *t,
113  magmaDoubleComplex *dwork);
114 magma_int_t magma_zposv ( char uplo, magma_int_t n, magma_int_t nrhs,
115  magmaDoubleComplex *A, magma_int_t lda,
116  magmaDoubleComplex *B, magma_int_t ldb, magma_int_t *info);
117 magma_int_t magma_zpotrf( char uplo, magma_int_t n, magmaDoubleComplex *A,
118  magma_int_t lda, magma_int_t *info);
119 magma_int_t magma_zpotri( char uplo, magma_int_t n, magmaDoubleComplex *A,
120  magma_int_t lda, magma_int_t *info);
121 magma_int_t magma_zlauum( char uplo, magma_int_t n, magmaDoubleComplex *A,
122  magma_int_t lda, magma_int_t *info);
123 magma_int_t magma_ztrtri( char uplo, char diag, magma_int_t n, magmaDoubleComplex *A,
124  magma_int_t lda, magma_int_t *info);
125 magma_int_t magma_zhetrd( char uplo, magma_int_t n, magmaDoubleComplex *A,
126  magma_int_t lda, double *d, double *e,
127  magmaDoubleComplex *tau, magmaDoubleComplex *work, magma_int_t lwork,
128  magma_int_t *info);
130  magmaDoubleComplex *a, magma_int_t lda,
131  magmaDoubleComplex *tau, magmaDoubleComplex *dT,
132  magma_int_t nb, magma_int_t *info );
134  magmaDoubleComplex *a, magma_int_t lda,
135  magmaDoubleComplex *tau, magma_int_t *info );
136 magma_int_t magma_zunmql( char side, char trans,
138  magmaDoubleComplex *a, magma_int_t lda,
139  magmaDoubleComplex *tau,
140  magmaDoubleComplex *c, magma_int_t ldc,
141  magmaDoubleComplex *work, magma_int_t lwork,
142  magma_int_t *info);
143 magma_int_t magma_zunmqr( char side, char trans,
145  magmaDoubleComplex *a, magma_int_t lda, magmaDoubleComplex *tau,
146  magmaDoubleComplex *c, magma_int_t ldc,
147  magmaDoubleComplex *work, magma_int_t lwork, magma_int_t *info);
148 magma_int_t magma_zunmtr( char side, char uplo, char trans,
150  magmaDoubleComplex *a, magma_int_t lda,
151  magmaDoubleComplex *tau,
152  magmaDoubleComplex *c, magma_int_t ldc,
153  magmaDoubleComplex *work, magma_int_t lwork,
154  magma_int_t *info);
156  magmaDoubleComplex *a, magma_int_t lda,
157  magmaDoubleComplex *tau,
158  magmaDoubleComplex *dT, magma_int_t nb,
159  magma_int_t *info);
160 
161 #if defined(PRECISION_z) || defined(PRECISION_c)
162 magma_int_t magma_zgeev( char jobvl, char jobvr, magma_int_t n,
163  magmaDoubleComplex *a, magma_int_t lda,
164  magmaDoubleComplex *w,
165  magmaDoubleComplex *vl, magma_int_t ldvl,
166  magmaDoubleComplex *vr, magma_int_t ldvr,
167  magmaDoubleComplex *work, magma_int_t lwork,
168  double *rwork, magma_int_t *info);
170  magmaDoubleComplex *a, magma_int_t lda,
171  magma_int_t *jpvt, magmaDoubleComplex *tau,
172  magmaDoubleComplex *work, magma_int_t lwork,
173  double *rwork, magma_int_t *info);
174 magma_int_t magma_zgesvd( char jobu, char jobvt, magma_int_t m, magma_int_t n,
175  magmaDoubleComplex *a, magma_int_t lda, double *s,
176  magmaDoubleComplex *u, magma_int_t ldu,
177  magmaDoubleComplex *vt, magma_int_t ldvt,
178  magmaDoubleComplex *work, magma_int_t lwork,
179  double *rwork, magma_int_t *info );
180 magma_int_t magma_zheevd( char jobz, char uplo, magma_int_t n,
181  magmaDoubleComplex *a, magma_int_t lda, double *w,
182  magmaDoubleComplex *work, magma_int_t lwork,
183  double *rwork, magma_int_t lrwork,
184  magma_int_t *iwork, magma_int_t liwork, magma_int_t *info);
185 magma_int_t magma_zheevdx(char jobz, char range, char uplo, magma_int_t n,
186  magmaDoubleComplex *a, magma_int_t lda,
187  double vl, double vu, magma_int_t il, magma_int_t iu,
188  magma_int_t *m, double *w, magmaDoubleComplex *work,
189  magma_int_t lwork, double *rwork, magma_int_t lrwork,
190  magma_int_t *iwork, magma_int_t liwork, magma_int_t *info);
191 magma_int_t magma_zheevdx_2stage(char jobz, char range, char uplo,
192  magma_int_t n,
193  magmaDoubleComplex *a, magma_int_t lda,
194  double vl, double vu, magma_int_t il, magma_int_t iu,
195  magma_int_t *m, double *w,
196  magmaDoubleComplex *work, magma_int_t lwork,
197  double *rwork, magma_int_t lrwork,
198  magma_int_t *iwork, magma_int_t liwork,
199  magma_int_t *info);
200 magma_int_t magma_zheevx( char jobz, char range, char uplo, magma_int_t n,
201  magmaDoubleComplex *a, magma_int_t lda, double vl, double vu,
202  magma_int_t il, magma_int_t iu, double abstol, magma_int_t *m,
203  double *w, magmaDoubleComplex *z, magma_int_t ldz,
204  magmaDoubleComplex *work, magma_int_t lwork,
205  double *rwork, magma_int_t *iwork,
206  magma_int_t *ifail, magma_int_t *info);
207 magma_int_t magma_zheevr( char jobz, char range, char uplo, magma_int_t n,
208  magmaDoubleComplex *a, magma_int_t lda, double vl, double vu,
209  magma_int_t il, magma_int_t iu, double abstol, magma_int_t *m,
210  double *w, magmaDoubleComplex *z, magma_int_t ldz,
211  magma_int_t *isuppz,
212  magmaDoubleComplex *work, magma_int_t lwork,
213  double *rwork, magma_int_t lrwork, magma_int_t *iwork,
214  magma_int_t liwork, magma_int_t *info);
215 magma_int_t magma_zhegvd( magma_int_t itype, char jobz, char uplo, magma_int_t n,
216  magmaDoubleComplex *a, magma_int_t lda,
217  magmaDoubleComplex *b, magma_int_t ldb,
218  double *w, magmaDoubleComplex *work, magma_int_t lwork,
219  double *rwork, magma_int_t lrwork, magma_int_t *iwork,
220  magma_int_t liwork, magma_int_t *info);
221 magma_int_t magma_zhegvdx(magma_int_t itype, char jobz, char range, char uplo,
222  magma_int_t n, magmaDoubleComplex *a, magma_int_t lda,
223  magmaDoubleComplex *b, magma_int_t ldb,
224  double vl, double vu, magma_int_t il, magma_int_t iu,
225  magma_int_t *m, double *w, magmaDoubleComplex *work,
226  magma_int_t lwork, double *rwork,
227  magma_int_t lrwork, magma_int_t *iwork,
228  magma_int_t liwork, magma_int_t *info);
229 magma_int_t magma_zhegvdx_2stage(magma_int_t itype, char jobz, char range, char uplo, magma_int_t n,
230  magmaDoubleComplex *a, magma_int_t lda,
231  magmaDoubleComplex *b, magma_int_t ldb,
232  double vl, double vu, magma_int_t il, magma_int_t iu,
233  magma_int_t *m, double *w,
234  magmaDoubleComplex *work, magma_int_t lwork,
235  double *rwork, magma_int_t lrwork,
236  magma_int_t *iwork, magma_int_t liwork,
237  magma_int_t *info);
238 magma_int_t magma_zhegvx( magma_int_t itype, char jobz, char range, char uplo,
239  magma_int_t n, magmaDoubleComplex *a, magma_int_t lda,
240  magmaDoubleComplex *b, magma_int_t ldb,
241  double vl, double vu, magma_int_t il, magma_int_t iu,
242  double abstol, magma_int_t *m, double *w,
243  magmaDoubleComplex *z, magma_int_t ldz,
244  magmaDoubleComplex *work, magma_int_t lwork, double *rwork,
245  magma_int_t *iwork, magma_int_t *ifail, magma_int_t *info);
246 magma_int_t magma_zhegvr( magma_int_t itype, char jobz, char range, char uplo,
247  magma_int_t n, magmaDoubleComplex *a, magma_int_t lda,
248  magmaDoubleComplex *b, magma_int_t ldb,
249  double vl, double vu, magma_int_t il, magma_int_t iu,
250  double abstol, magma_int_t *m, double *w,
251  magmaDoubleComplex *z, magma_int_t ldz,
252  magma_int_t *isuppz, magmaDoubleComplex *work, magma_int_t lwork,
253  double *rwork, magma_int_t lrwork, magma_int_t *iwork,
254  magma_int_t liwork, magma_int_t *info);
255 magma_int_t magma_zstedx( char range, magma_int_t n, double vl, double vu,
256  magma_int_t il, magma_int_t iu, double *D, double *E,
257  magmaDoubleComplex *Z, magma_int_t ldz,
258  double *rwork, magma_int_t ldrwork, magma_int_t *iwork,
259  magma_int_t liwork, double *dwork, magma_int_t *info);
260 
261 #else /* not (defined(PRECISION_z) || defined(PRECISION_c)) */
262 
263 magma_int_t magma_zgeev( char jobvl, char jobvr, magma_int_t n,
264  magmaDoubleComplex *a, magma_int_t lda,
265  magmaDoubleComplex *wr, magmaDoubleComplex *wi,
266  magmaDoubleComplex *vl, magma_int_t ldvl,
267  magmaDoubleComplex *vr, magma_int_t ldvr,
268  magmaDoubleComplex *work, magma_int_t lwork,
269  magma_int_t *info);
271  magmaDoubleComplex *a, magma_int_t lda,
272  magma_int_t *jpvt, magmaDoubleComplex *tau,
273  magmaDoubleComplex *work, magma_int_t lwork,
274  magma_int_t *info);
275 magma_int_t magma_zgesvd( char jobu, char jobvt, magma_int_t m, magma_int_t n,
276  magmaDoubleComplex *a, magma_int_t lda, double *s,
277  magmaDoubleComplex *u, magma_int_t ldu,
278  magmaDoubleComplex *vt, magma_int_t ldvt,
279  magmaDoubleComplex *work, magma_int_t lwork,
280  magma_int_t *info );
281 magma_int_t magma_zheevd( char jobz, char uplo, magma_int_t n,
282  magmaDoubleComplex *a, magma_int_t lda, double *w,
283  magmaDoubleComplex *work, magma_int_t lwork,
284  magma_int_t *iwork, magma_int_t liwork, magma_int_t *info);
285 magma_int_t magma_zheevdx(char jobz, char range, char uplo, magma_int_t n,
286  magmaDoubleComplex *a, magma_int_t lda,
287  double vl, double vu, magma_int_t il, magma_int_t iu,
288  magma_int_t *m, double *w, magmaDoubleComplex *work,
289  magma_int_t lwork, magma_int_t *iwork,
290  magma_int_t liwork, magma_int_t *info);
291 magma_int_t magma_zheevdx_2stage(char jobz, char range, char uplo,
292  magma_int_t n,
293  magmaDoubleComplex *a, magma_int_t lda,
294  double vl, double vu, magma_int_t il, magma_int_t iu,
295  magma_int_t *m, double *w,
296  magmaDoubleComplex *work, magma_int_t lwork,
297  magma_int_t *iwork, magma_int_t liwork,
298  magma_int_t *info);
299 magma_int_t magma_zhegvd( magma_int_t itype, char jobz, char uplo, magma_int_t n,
300  magmaDoubleComplex *a, magma_int_t lda,
301  magmaDoubleComplex *b, magma_int_t ldb,
302  double *w, magmaDoubleComplex *work, magma_int_t lwork,
303  magma_int_t *iwork, magma_int_t liwork, magma_int_t *info);
304 magma_int_t magma_zhegvdx(magma_int_t itype, char jobz, char range, char uplo,
305  magma_int_t n, magmaDoubleComplex *a, magma_int_t lda,
306  magmaDoubleComplex *b, magma_int_t ldb,
307  double vl, double vu, magma_int_t il, magma_int_t iu,
308  magma_int_t *m, double *w, magmaDoubleComplex *work,
309  magma_int_t lwork, magma_int_t *iwork,
310  magma_int_t liwork, magma_int_t *info);
311 magma_int_t magma_zhegvdx_2stage(magma_int_t itype, char jobz, char range, char uplo, magma_int_t n,
312  magmaDoubleComplex *a, magma_int_t lda,
313  magmaDoubleComplex *b, magma_int_t ldb,
314  double vl, double vu, magma_int_t il, magma_int_t iu,
315  magma_int_t *m, double *w,
316  magmaDoubleComplex *work, magma_int_t lwork,
317  magma_int_t *iwork, magma_int_t liwork,
318  magma_int_t *info);
319 magma_int_t magma_zstedx( char range, magma_int_t n, double vl, double vu,
320  magma_int_t il, magma_int_t iu, double *d, double *e,
321  double *z, magma_int_t ldz,
322  double *work, magma_int_t lwork,
323  magma_int_t *iwork, magma_int_t liwork,
324  double *dwork, magma_int_t *info);
325 magma_int_t magma_zlaex0( magma_int_t n, double *d, double *e, double *q, magma_int_t ldq,
326  double *work, magma_int_t *iwork, double *dwork,
327  char range, double vl, double vu,
328  magma_int_t il, magma_int_t iu, magma_int_t *info);
329 magma_int_t magma_zlaex1( magma_int_t n, double *d, double *q, magma_int_t ldq,
330  magma_int_t *indxq, double rho, magma_int_t cutpnt,
331  double *work, magma_int_t *iwork, double *dwork,
332  char range, double vl, double vu,
333  magma_int_t il, magma_int_t iu, magma_int_t *info);
334 magma_int_t magma_zlaex3( magma_int_t k, magma_int_t n, magma_int_t n1, double *d,
335  double *q, magma_int_t ldq, double rho,
336  double *dlamda, double *q2, magma_int_t *indx,
337  magma_int_t *ctot, double *w, double *s, magma_int_t *indxq,
338  double *dwork,
339  char range, double vl, double vu, magma_int_t il, magma_int_t iu,
340  magma_int_t *info );
341 
342 #endif /* not (defined(PRECISION_z) || defined(PRECISION_c)) */
343 
344 magma_int_t magma_zhegst( magma_int_t itype, char uplo, magma_int_t n,
345  magmaDoubleComplex *a, magma_int_t lda,
346  magmaDoubleComplex *b, magma_int_t ldb, magma_int_t *info);
347 
348 
349 /* ////////////////////////////////////////////////////////////////////////////
350  -- MAGMA function definitions / Data on CPU / Multi-GPU
351 */
354  magmaDoubleComplex *A, magma_int_t lda,
355  magmaDoubleComplex *tau,
356  magmaDoubleComplex *T, magma_int_t ldt,
357  magmaDoubleComplex *Y, magma_int_t ldy,
358  struct zgehrd_data *data );
359 
362  magmaDoubleComplex *A, magma_int_t lda,
363  struct zgehrd_data *data );
364 
365 #if defined(PRECISION_z) || defined(PRECISION_c)
367  char jobvl, char jobvr, magma_int_t n,
368  magmaDoubleComplex *A, magma_int_t lda,
369  magmaDoubleComplex *W,
370  magmaDoubleComplex *vl, magma_int_t ldvl,
371  magmaDoubleComplex *vr, magma_int_t ldvr,
372  magmaDoubleComplex *work, magma_int_t lwork,
373  double *rwork,
374  magma_int_t *info );
375 #else
377  char jobvl, char jobvr, magma_int_t n,
378  magmaDoubleComplex *A, magma_int_t lda,
379  double *WR, double *WI,
380  magmaDoubleComplex *vl, magma_int_t ldvl,
381  magmaDoubleComplex *vr, magma_int_t ldvr,
382  magmaDoubleComplex *work, magma_int_t lwork,
383  magma_int_t *info );
384 #endif
385 
387  magma_int_t n, magma_int_t ilo, magma_int_t ihi,
388  magmaDoubleComplex *A, magma_int_t lda,
389  magmaDoubleComplex *tau,
390  magmaDoubleComplex *work, magma_int_t lwork,
391  magmaDoubleComplex *T,
392  magma_int_t *info );
393 
395  magma_int_t n, magma_int_t ilo, magma_int_t ihi,
396  magmaDoubleComplex *A, magma_int_t lda,
397  magmaDoubleComplex *tau,
398  magmaDoubleComplex *T, magma_int_t nb,
399  magma_int_t *info );
400 
403  magmaDoubleComplex *A, magma_int_t lda,
404  magmaDoubleComplex *tau,
405  magmaDoubleComplex *T, magma_int_t nb,
406  magma_int_t *info );
407 
409  char uplo, magma_int_t n,
410  magmaDoubleComplex *A, magma_int_t lda,
411  magma_int_t *info);
413  char uplo, magma_int_t n,
414  magmaDoubleComplex *a, magma_int_t lda,
415  magma_int_t *info);
417  char range, magma_int_t n, double vl, double vu,
418  magma_int_t il, magma_int_t iu, double *D, double *E,
419  magmaDoubleComplex *Z, magma_int_t ldz,
420  double *rwork, magma_int_t ldrwork, magma_int_t *iwork,
421  magma_int_t liwork, magma_int_t *info);
423  char side, char uplo, char transa, char diag,
424  magma_int_t m, magma_int_t n, magmaDoubleComplex alpha,
425  magmaDoubleComplex *a, magma_int_t lda,
426  magmaDoubleComplex *b, magma_int_t ldb);
427 magma_int_t magma_zunmqr_m( magma_int_t nrgpu, char side, char trans,
429  magmaDoubleComplex *a, magma_int_t lda,
430  magmaDoubleComplex *tau,
431  magmaDoubleComplex *c, magma_int_t ldc,
432  magmaDoubleComplex *work, magma_int_t lwork,
433  magma_int_t *info);
435  char side, char uplo, char trans,
437  magmaDoubleComplex *a, magma_int_t lda,
438  magmaDoubleComplex *tau,
439  magmaDoubleComplex *c, magma_int_t ldc,
440  magmaDoubleComplex *work, magma_int_t lwork,
441  magma_int_t *info);
443  magma_int_t itype, char uplo, magma_int_t n,
444  magmaDoubleComplex *a, magma_int_t lda,
445  magmaDoubleComplex *b, magma_int_t ldb,
446  magma_int_t *info);
447 
448 #if defined(PRECISION_z) || defined(PRECISION_c)
450  char jobz, char uplo,
451  magma_int_t n,
452  magmaDoubleComplex *a, magma_int_t lda,
453  double *w,
454  magmaDoubleComplex *work, magma_int_t lwork,
455  double *rwork, magma_int_t lrwork,
456  magma_int_t *iwork, magma_int_t liwork,
457  magma_int_t *info);
459  magma_int_t itype, char jobz, char uplo,
460  magma_int_t n,
461  magmaDoubleComplex *a, magma_int_t lda,
462  magmaDoubleComplex *b, magma_int_t ldb,
463  double *w,
464  magmaDoubleComplex *work, magma_int_t lwork,
465  double *rwork, magma_int_t lrwork,
466  magma_int_t *iwork, magma_int_t liwork,
467  magma_int_t *info);
469  char jobz, char range, char uplo,
470  magma_int_t n,
471  magmaDoubleComplex *a, magma_int_t lda,
472  double vl, double vu, magma_int_t il, magma_int_t iu,
473  magma_int_t *m, double *w,
474  magmaDoubleComplex *work, magma_int_t lwork,
475  double *rwork, magma_int_t lrwork,
476  magma_int_t *iwork, magma_int_t liwork,
477  magma_int_t *info);
479  magma_int_t itype, char jobz, char range, char uplo,
480  magma_int_t n,
481  magmaDoubleComplex *a, magma_int_t lda,
482  magmaDoubleComplex *b, magma_int_t ldb,
483  double vl, double vu, magma_int_t il, magma_int_t iu,
484  magma_int_t *m, double *w,
485  magmaDoubleComplex *work, magma_int_t lwork,
486  double *rwork, magma_int_t lrwork,
487  magma_int_t *iwork, magma_int_t liwork,
488  magma_int_t *info);
490  char jobz, char range, char uplo,
491  magma_int_t n,
492  magmaDoubleComplex *a, magma_int_t lda,
493  double vl, double vu, magma_int_t il, magma_int_t iu,
494  magma_int_t *m, double *w,
495  magmaDoubleComplex *work, magma_int_t lwork,
496  double *rwork, magma_int_t lrwork,
497  magma_int_t *iwork, magma_int_t liwork,
498  magma_int_t *info);
500  magma_int_t itype, char jobz, char range, char uplo,
501  magma_int_t n,
502  magmaDoubleComplex *a, magma_int_t lda,
503  magmaDoubleComplex *b, magma_int_t ldb,
504  double vl, double vu, magma_int_t il, magma_int_t iu,
505  magma_int_t *m, double *w,
506  magmaDoubleComplex *work, magma_int_t lwork,
507  double *rwork, magma_int_t lrwork,
508  magma_int_t *iwork, magma_int_t liwork,
509  magma_int_t *info);
510 #else /* not (defined(PRECISION_z) || defined(PRECISION_c)) */
511 magma_int_t magma_zheevd_m( magma_int_t nrgpu, char jobz, char uplo,
512  magma_int_t n,
513  magmaDoubleComplex *a, magma_int_t lda,
514  double *w,
515  magmaDoubleComplex *work, magma_int_t lwork,
516  magma_int_t *iwork, magma_int_t liwork,
517  magma_int_t *info);
519  magma_int_t itype, char jobz, char uplo,
520  magma_int_t n,
521  magmaDoubleComplex *a, magma_int_t lda,
522  magmaDoubleComplex *b, magma_int_t ldb,
523  double *w,
524  magmaDoubleComplex *work, magma_int_t lwork,
525  magma_int_t *iwork, magma_int_t liwork,
526  magma_int_t *info);
528  char jobz, char range, char uplo,
529  magma_int_t n,
530  magmaDoubleComplex *a, magma_int_t lda,
531  double vl, double vu, magma_int_t il, magma_int_t iu,
532  magma_int_t *m, double *w,
533  magmaDoubleComplex *work, magma_int_t lwork,
534  magma_int_t *iwork, magma_int_t liwork,
535  magma_int_t *info);
537  magma_int_t itype, char jobz, char range, char uplo,
538  magma_int_t n,
539  magmaDoubleComplex *a, magma_int_t lda,
540  magmaDoubleComplex *b, magma_int_t ldb,
541  double vl, double vu, magma_int_t il, magma_int_t iu,
542  magma_int_t *m, double *w,
543  magmaDoubleComplex *work, magma_int_t lwork,
544  magma_int_t *iwork, magma_int_t liwork,
545  magma_int_t *info);
547  char jobz, char range, char uplo,
548  magma_int_t n,
549  magmaDoubleComplex *a, magma_int_t lda,
550  double vl, double vu, magma_int_t il, magma_int_t iu,
551  magma_int_t *m, double *w,
552  magmaDoubleComplex *work, magma_int_t lwork,
553  magma_int_t *iwork, magma_int_t liwork,
554  magma_int_t *info);
556  magma_int_t itype, char jobz, char range, char uplo,
557  magma_int_t n,
558  magmaDoubleComplex *a, magma_int_t lda,
559  magmaDoubleComplex *b, magma_int_t ldb,
560  double vl, double vu, magma_int_t il, magma_int_t iu,
561  magma_int_t *m, double *w,
562  magmaDoubleComplex *work, magma_int_t lwork,
563  magma_int_t *iwork, magma_int_t liwork,
564  magma_int_t *info);
565 #endif
566 
567 
568 /* ////////////////////////////////////////////////////////////////////////////
569  -- MAGMA function definitions / Data on GPU
570 */
572  magmaDoubleComplex *dA, magma_int_t ldda,
573  magmaDoubleComplex *dB, magma_int_t lddb,
574  magmaDoubleComplex *hwork, magma_int_t lwork,
575  magma_int_t *info);
577  magmaDoubleComplex *dA, magma_int_t ldda,
578  magmaDoubleComplex *dB, magma_int_t lddb,
579  magmaDoubleComplex *hwork, magma_int_t lwork,
580  magma_int_t *info);
582  magmaDoubleComplex *dA, magma_int_t ldda, magmaDoubleComplex *tau,
583  magmaDoubleComplex *work, magma_int_t lwork, magma_int_t *info);
584 
586  magma_int_t *m, magma_int_t *n, magmaDoubleComplex *dA,
587  magma_int_t *ldda, magmaDoubleComplex *dtau,
588  magmaDoubleComplex *dT, magmaDoubleComplex *ddA,
589  double *dwork, magma_int_t *info);
590 
592  magma_int_t *m, magma_int_t *n, magmaDoubleComplex *dA,
593  magma_int_t *ldda, magmaDoubleComplex *dtau,
594  magmaDoubleComplex *dT, magmaDoubleComplex *ddA,
595  double *dwork, magma_int_t *info);
596 
598  magma_int_t *m, magma_int_t *n, magmaDoubleComplex *dA,
599  magma_int_t *ldda, magmaDoubleComplex *dtau,
600  magmaDoubleComplex *dT, magmaDoubleComplex *ddA,
601  double *dwork, magma_int_t *info);
602 
604  magma_int_t *m, magma_int_t *n, magmaDoubleComplex *dA,
605  magma_int_t *ldda, magmaDoubleComplex *dtau,
606  magmaDoubleComplex *dT, magmaDoubleComplex *ddA,
607  double *dwork, magma_int_t *info, magma_queue_t stream);
608 
610  magmaDoubleComplex *dA, magma_int_t ldda,
611  magmaDoubleComplex *tau, magmaDoubleComplex *dT,
612  magma_int_t *info);
614  magmaDoubleComplex *dA, magma_int_t ldda,
615  magmaDoubleComplex *tau, magma_int_t *info);
617  magmaDoubleComplex **dlA, magma_int_t ldda,
618  magmaDoubleComplex *tau, magma_int_t *info );
620  magmaDoubleComplex *dA, magma_int_t ldda,
621  magmaDoubleComplex *tau, magmaDoubleComplex *dT,
622  magma_int_t *info);
624  magmaDoubleComplex *dA, magma_int_t lda,
625  magmaDoubleComplex *tau, double *work,
626  magma_int_t *info);
628  magmaDoubleComplex *dA, magma_int_t ldda,
629  magmaDoubleComplex *tau, magmaDoubleComplex *dT,
630  magmaDoubleComplex *dB, magma_int_t lddb,
631  magmaDoubleComplex *hwork, magma_int_t lhwork,
632  magma_int_t *info);
634  magmaDoubleComplex *dA, magma_int_t ldda,
635  magmaDoubleComplex *tau, magmaDoubleComplex *dT,
636  magmaDoubleComplex *dB, magma_int_t lddb,
637  magmaDoubleComplex *hwork, magma_int_t lhwork,
638  magma_int_t *info);
640  magma_int_t *ipiv,
641  magmaDoubleComplex *dL1, magma_int_t lddl1,
642  magmaDoubleComplex *dL, magma_int_t lddl,
643  magmaDoubleComplex *dA, magma_int_t ldda,
644  magma_int_t *info);
646  magmaDoubleComplex *dA, magma_int_t ldda, magma_int_t *ipiv,
647  magmaDoubleComplex *dB, magma_int_t lddb, magma_int_t *info);
649  magmaDoubleComplex *dA, magma_int_t lda, magma_int_t *ipiv,
650  magma_int_t* info );
652  magmaDoubleComplex *hA, magma_int_t ldha, magmaDoubleComplex *dA, magma_int_t ldda,
653  magmaDoubleComplex *hL, magma_int_t ldhl, magmaDoubleComplex *dL, magma_int_t lddl,
654  magma_int_t *ipiv,
655  magmaDoubleComplex *dwork, magma_int_t lddwork,
656  magma_int_t *info);
658  magmaDoubleComplex *dA, magma_int_t ldda,
659  magma_int_t *ipiv, magma_int_t *info);
661  magmaDoubleComplex **d_lA, magma_int_t ldda,
662  magma_int_t *ipiv, magma_int_t *info);
663 magma_int_t magma_zgetrf_m(magma_int_t num_gpus0, magma_int_t m, magma_int_t n, magmaDoubleComplex *a, magma_int_t lda,
664  magma_int_t *ipiv, magma_int_t *info);
666  magmaDoubleComplex *a, magma_int_t lda, magma_int_t *ipiv,
667  magma_int_t *info);
670  magmaDoubleComplex *d_lAT[], magma_int_t lddat, magma_int_t *ipiv,
671  magmaDoubleComplex *d_lAP[], magmaDoubleComplex *a, magma_int_t lda,
672  magma_queue_t streaml[][2], magma_int_t *info);
675  magmaDoubleComplex *dA, magma_int_t ldda,
676  magma_int_t *info);
678  magmaDoubleComplex *dA, magma_int_t ldda, magma_int_t *ipiv,
679  magmaDoubleComplex *dwork, magma_int_t lwork, magma_int_t *info);
681  magmaDoubleComplex *dA, magma_int_t ldda, magma_int_t *ipiv,
682  magmaDoubleComplex *dB, magma_int_t lddb, magma_int_t *info);
684  magmaDoubleComplex *a, magma_int_t lda, magmaDoubleComplex *da, magma_int_t ldda,
685  double *d, double *e, magmaDoubleComplex *tauq, magmaDoubleComplex *taup,
686  magmaDoubleComplex *x, magma_int_t ldx, magmaDoubleComplex *dx, magma_int_t lddx,
687  magmaDoubleComplex *y, magma_int_t ldy, magmaDoubleComplex *dy, magma_int_t lddy);
688 
690  magma_int_t m, magma_int_t n, magma_int_t offset,
691  magma_int_t nb, magma_int_t *kb,
692  magmaDoubleComplex *A, magma_int_t lda,
693  magma_int_t *jpvt, magmaDoubleComplex *tau,
694  double *vn1, double *vn2,
695  magmaDoubleComplex *auxv,
696  magmaDoubleComplex *dF, magma_int_t lddf);
697 
699  magma_int_t m, magma_int_t n, magma_int_t offset,
700  magma_int_t nb, magma_int_t *kb,
701  magmaDoubleComplex *A, magma_int_t lda,
702  magma_int_t *jpvt, magmaDoubleComplex *tau,
703  double *vn1, double *vn2,
704  magmaDoubleComplex *auxv,
705  magmaDoubleComplex *dF, magma_int_t lddf);
706 
708  magma_int_t m, magma_int_t n, magma_int_t offset,
709  magma_int_t nb, magma_int_t *kb,
710  magmaDoubleComplex *A, magma_int_t lda,
711  magma_int_t *jpvt, magmaDoubleComplex *tau,
712  double *vn1, double *vn2,
713  magmaDoubleComplex *auxv,
714  magmaDoubleComplex *dF, magma_int_t lddf);
715 
716 magma_int_t magma_zlarf_gpu( magma_int_t m, magma_int_t n, magmaDoubleComplex *v, magmaDoubleComplex *tau,
717  magmaDoubleComplex *c, magma_int_t ldc, double *xnorm);
718 magma_int_t magma_zlarfb_gpu( char side, char trans, char direct, char storev,
720  const magmaDoubleComplex *dv, magma_int_t ldv,
721  const magmaDoubleComplex *dt, magma_int_t ldt,
722  magmaDoubleComplex *dc, magma_int_t ldc,
723  magmaDoubleComplex *dwork, magma_int_t ldwork );
725  const magmaDoubleComplex *dV, magma_int_t ldv,
726  const magmaDoubleComplex *dT, magma_int_t ldt,
727  magmaDoubleComplex *dC, magma_int_t ldc,
728  magmaDoubleComplex *dwork, magma_int_t ldwork );
729 magma_int_t magma_zlarfb_gpu_gemm( char side, char trans, char direct, char storev,
731  const magmaDoubleComplex *dv, magma_int_t ldv,
732  const magmaDoubleComplex *dt, magma_int_t ldt,
733  magmaDoubleComplex *dc, magma_int_t ldc,
734  magmaDoubleComplex *dwork, magma_int_t ldwork,
735  magmaDoubleComplex *dworkvt, magma_int_t ldworkvt);
736 magma_int_t magma_zlarfg_gpu( magma_int_t n, magmaDoubleComplex *dx0, magmaDoubleComplex *dx,
737  magmaDoubleComplex *dtau, double *dxnorm, magmaDoubleComplex *dAkk);
739  magmaDoubleComplex *dA, magma_int_t ldda,
740  magmaDoubleComplex *dB, magma_int_t lddb, magma_int_t *info);
742  magmaDoubleComplex *dA, magma_int_t lda,
743  magma_int_t *info );
745  magmaDoubleComplex *dA, magma_int_t ldda, magma_int_t *info);
747  magmaDoubleComplex **d_lA, magma_int_t ldda, magma_int_t *info);
749  magma_int_t off_i, magma_int_t off_j, magma_int_t nb,
750  magmaDoubleComplex *d_lA[], magma_int_t ldda,
751  magmaDoubleComplex *d_lP[], magma_int_t lddp,
752  magmaDoubleComplex *a, magma_int_t lda, magma_int_t h,
753  magma_queue_t stream[][3], magma_event_t event[][5],
754  magma_int_t *info );
756  magmaDoubleComplex *dA, magma_int_t ldda, magma_int_t *info);
758  magmaDoubleComplex *dA, magma_int_t ldda, magma_int_t *info);
759 magma_int_t magma_ztrtri_gpu( char uplo, char diag, magma_int_t n,
760  magmaDoubleComplex *dA, magma_int_t ldda, magma_int_t *info);
762  magmaDoubleComplex *da, magma_int_t ldda,
763  double *d, double *e, magmaDoubleComplex *tau,
764  magmaDoubleComplex *wa, magma_int_t ldwa,
765  magmaDoubleComplex *work, magma_int_t lwork,
766  magma_int_t *info);
768  magmaDoubleComplex *da, magma_int_t ldda,
769  double *d, double *e, magmaDoubleComplex *tau,
770  magmaDoubleComplex *wa, magma_int_t ldwa,
771  magmaDoubleComplex *work, magma_int_t lwork,
772  magmaDoubleComplex *dwork, magma_int_t ldwork,
773  magma_int_t *info);
774 
775 double magma_zlatrd_mgpu(
776  magma_int_t num_gpus, char uplo,
778  magmaDoubleComplex *a, magma_int_t lda,
779  double *e, magmaDoubleComplex *tau,
780  magmaDoubleComplex *w, magma_int_t ldw,
781  magmaDoubleComplex **da, magma_int_t ldda, magma_int_t offset,
782  magmaDoubleComplex **dw, magma_int_t lddw,
783  magmaDoubleComplex *dwork[MagmaMaxGPUs], magma_int_t ldwork,
784  magma_int_t k,
785  magmaDoubleComplex *dx[MagmaMaxGPUs], magmaDoubleComplex *dy[MagmaMaxGPUs],
786  magmaDoubleComplex *work,
787  magma_queue_t stream[][10],
788  double *times );
789 
791  magmaDoubleComplex *a, magma_int_t lda,
792  double *d, double *e, magmaDoubleComplex *tau,
793  magmaDoubleComplex *work, magma_int_t lwork,
794  magma_int_t *info);
795 magma_int_t magma_zhetrd_hb2st(magma_int_t threads, char uplo,
796  magma_int_t n, magma_int_t nb, magma_int_t Vblksiz,
797  magmaDoubleComplex *A, magma_int_t lda,
798  double *D, double *E,
799  magmaDoubleComplex *V, magma_int_t ldv,
800  magmaDoubleComplex *TAU, magma_int_t compT,
801  magmaDoubleComplex *T, magma_int_t ldt);
803  magmaDoubleComplex *a, magma_int_t lda,
804  magmaDoubleComplex *tau, magmaDoubleComplex *work, magma_int_t lwork,
805  magmaDoubleComplex *dT, magma_int_t threads,
806  magma_int_t *info);
808  magmaDoubleComplex *a, magma_int_t lda,
809  magmaDoubleComplex *tau,
810  magmaDoubleComplex *work, magma_int_t lwork,
811  magmaDoubleComplex *dAmgpu[], magma_int_t ldda,
812  magmaDoubleComplex *dTmgpu[], magma_int_t lddt,
813  magma_int_t ngpu, magma_int_t distblk,
814  magma_queue_t streams[][20], magma_int_t nstream,
815  magma_int_t threads, magma_int_t *info);
817  magmaDoubleComplex *a, magma_int_t lda,
818  magmaDoubleComplex *tau,
819  magmaDoubleComplex *work, magma_int_t lwork,
820  magmaDoubleComplex *dAmgpu[], magma_int_t ldda,
821  magmaDoubleComplex *dTmgpu[], magma_int_t lddt,
822  magma_int_t ngpu, magma_int_t distblk,
823  magma_queue_t streams[][20], magma_int_t nstream,
824  magma_int_t threads, magma_int_t *info);
826  magmaDoubleComplex *dA, magma_int_t ldda,
827  magmaDoubleComplex *dB, magma_int_t lddb, magma_int_t *info);
830  magmaDoubleComplex *dA1, magma_int_t ldda1,
831  magmaDoubleComplex *dA2, magma_int_t ldda2,
832  magmaDoubleComplex *dL1, magma_int_t lddl1,
833  magmaDoubleComplex *dL2, magma_int_t lddl2,
834  magma_int_t *IPIV, magma_int_t *info);
836  magmaDoubleComplex *hU, magma_int_t ldhu, magmaDoubleComplex *dU, magma_int_t lddu,
837  magmaDoubleComplex *hA, magma_int_t ldha, magmaDoubleComplex *dA, magma_int_t ldda,
838  magmaDoubleComplex *hL, magma_int_t ldhl, magmaDoubleComplex *dL, magma_int_t lddl,
839  magma_int_t *ipiv,
840  magmaDoubleComplex *hwork, magma_int_t ldhwork,
841  magmaDoubleComplex *dwork, magma_int_t lddwork,
842  magma_int_t *info);
844  magmaDoubleComplex *da, magma_int_t ldda,
845  magmaDoubleComplex *tau, magmaDoubleComplex *dwork,
846  magma_int_t nb, magma_int_t *info );
847 magma_int_t magma_zunmql2_gpu(char side, char trans,
849  magmaDoubleComplex *da, magma_int_t ldda,
850  magmaDoubleComplex *tau,
851  magmaDoubleComplex *dc, magma_int_t lddc,
852  magmaDoubleComplex *wa, magma_int_t ldwa,
853  magma_int_t *info);
854 magma_int_t magma_zunmqr_gpu( char side, char trans,
856  magmaDoubleComplex *dA, magma_int_t ldda, magmaDoubleComplex *tau,
857  magmaDoubleComplex *dC, magma_int_t lddc,
858  magmaDoubleComplex *hwork, magma_int_t lwork,
859  magmaDoubleComplex *dT, magma_int_t nb, magma_int_t *info);
860 magma_int_t magma_zunmqr2_gpu(char side, char trans,
862  magmaDoubleComplex *da, magma_int_t ldda,
863  magmaDoubleComplex *tau,
864  magmaDoubleComplex *dc, magma_int_t lddc,
865  magmaDoubleComplex *wa, magma_int_t ldwa,
866  magma_int_t *info);
867 magma_int_t magma_zunmtr_gpu( char side, char uplo, char trans,
869  magmaDoubleComplex *da, magma_int_t ldda,
870  magmaDoubleComplex *tau,
871  magmaDoubleComplex *dc, magma_int_t lddc,
872  magmaDoubleComplex *wa, magma_int_t ldwa,
873  magma_int_t *info);
874 
875 #if defined(PRECISION_z) || defined(PRECISION_c)
877  magmaDoubleComplex *A, magma_int_t lda,
878  magma_int_t *jpvt, magmaDoubleComplex *tau,
879  magmaDoubleComplex *work, magma_int_t lwork,
880  double *rwork, magma_int_t *info );
881 magma_int_t magma_zheevd_gpu( char jobz, char uplo,
882  magma_int_t n,
883  magmaDoubleComplex *da, magma_int_t ldda,
884  double *w,
885  magmaDoubleComplex *wa, magma_int_t ldwa,
886  magmaDoubleComplex *work, magma_int_t lwork,
887  double *rwork, magma_int_t lrwork,
888  magma_int_t *iwork, magma_int_t liwork,
889  magma_int_t *info);
890 magma_int_t magma_zheevdx_gpu(char jobz, char range, char uplo,
891  magma_int_t n, magmaDoubleComplex *da,
892  magma_int_t ldda, double vl, double vu,
893  magma_int_t il, magma_int_t iu,
894  magma_int_t *m, double *w,
895  magmaDoubleComplex *wa, magma_int_t ldwa,
896  magmaDoubleComplex *work, magma_int_t lwork,
897  double *rwork, magma_int_t lrwork,
898  magma_int_t *iwork, magma_int_t liwork,
899  magma_int_t *info);
900 magma_int_t magma_zheevx_gpu( char jobz, char range, char uplo, magma_int_t n,
901  magmaDoubleComplex *da, magma_int_t ldda, double vl,
902  double vu, magma_int_t il, magma_int_t iu,
903  double abstol, magma_int_t *m,
904  double *w, magmaDoubleComplex *dz, magma_int_t lddz,
905  magmaDoubleComplex *wa, magma_int_t ldwa,
906  magmaDoubleComplex *wz, magma_int_t ldwz,
907  magmaDoubleComplex *work, magma_int_t lwork,
908  double *rwork, magma_int_t *iwork,
909  magma_int_t *ifail, magma_int_t *info);
910 magma_int_t magma_zheevr_gpu( char jobz, char range, char uplo, magma_int_t n,
911  magmaDoubleComplex *da, magma_int_t ldda, double vl, double vu,
912  magma_int_t il, magma_int_t iu, double abstol, magma_int_t *m,
913  double *w, magmaDoubleComplex *dz, magma_int_t lddz,
914  magma_int_t *isuppz,
915  magmaDoubleComplex *wa, magma_int_t ldwa,
916  magmaDoubleComplex *wz, magma_int_t ldwz,
917  magmaDoubleComplex *work, magma_int_t lwork,
918  double *rwork, magma_int_t lrwork, magma_int_t *iwork,
919  magma_int_t liwork, magma_int_t *info);
920 #else
922  magmaDoubleComplex *A, magma_int_t lda,
923  magma_int_t *jpvt, magmaDoubleComplex *tau,
924  magmaDoubleComplex *work, magma_int_t lwork,
925  magma_int_t *info );
926 magma_int_t magma_zheevd_gpu( char jobz, char uplo,
927  magma_int_t n,
928  magmaDoubleComplex *da, magma_int_t ldda,
929  magmaDoubleComplex *w,
930  magmaDoubleComplex *wa, magma_int_t ldwa,
931  magmaDoubleComplex *work, magma_int_t lwork,
932  magma_int_t *iwork, magma_int_t liwork,
933  magma_int_t *info);
934 magma_int_t magma_zheevdx_gpu(char jobz, char range, char uplo,
935  magma_int_t n, magmaDoubleComplex *da,
936  magma_int_t ldda, double vl, double vu,
937  magma_int_t il, magma_int_t iu,
938  magma_int_t *m, double *w,
939  magmaDoubleComplex *wa, magma_int_t ldwa,
940  magmaDoubleComplex *work, magma_int_t lwork,
941  magma_int_t *iwork, magma_int_t liwork,
942  magma_int_t *info);
943 #endif
944 
946  magmaDoubleComplex *da, magma_int_t ldda,
947  magmaDoubleComplex *db, magma_int_t lddb, magma_int_t *info);
948 
949 
950 /* ////////////////////////////////////////////////////////////////////////////
951  -- MAGMA utility function definitions
952 */
953 
954 void magma_zprint ( magma_int_t m, magma_int_t n, const magmaDoubleComplex *A, magma_int_t lda );
955 void magma_zprint_gpu( magma_int_t m, magma_int_t n, const magmaDoubleComplex *dA, magma_int_t ldda );
956 
957 void zpanel_to_q( magma_uplo_t uplo, magma_int_t ib, magmaDoubleComplex *A, magma_int_t lda, magmaDoubleComplex *work );
958 void zq_to_panel( magma_uplo_t uplo, magma_int_t ib, magmaDoubleComplex *A, magma_int_t lda, magmaDoubleComplex *work );
959 
960 #ifdef __cplusplus
961 }
962 #endif
963 
964 #undef PRECISION_z
965 #endif /* MAGMA_Z_H */
magma_int_t magma_zgeqr2x3_gpu(magma_int_t *m, magma_int_t *n, magmaDoubleComplex *dA, magma_int_t *ldda, magmaDoubleComplex *dtau, magmaDoubleComplex *dT, magmaDoubleComplex *ddA, double *dwork, magma_int_t *info)
magma_int_t magma_zgeqrf4(magma_int_t num_gpus, magma_int_t m, magma_int_t n, magmaDoubleComplex *a, magma_int_t lda, magmaDoubleComplex *tau, magmaDoubleComplex *work, magma_int_t lwork, magma_int_t *info)
Definition: zgeqrf-v4.cpp:14
magma_int_t magma_zlaqps3_gpu(magma_int_t m, magma_int_t n, magma_int_t offset, magma_int_t nb, magma_int_t *kb, magmaDoubleComplex *A, magma_int_t lda, magma_int_t *jpvt, magmaDoubleComplex *tau, double *vn1, double *vn2, magmaDoubleComplex *auxv, magmaDoubleComplex *dF, magma_int_t lddf)
magma_int_t magma_zgeqrf3_gpu(magma_int_t m, magma_int_t n, cuDoubleComplex *dA, magma_int_t ldda, cuDoubleComplex *tau, cuDoubleComplex *dT, magma_int_t *info)
magma_int_t magma_zhetrd_he2hb_mgpu_spec(char uplo, magma_int_t n, magma_int_t nb, magmaDoubleComplex *a, magma_int_t lda, magmaDoubleComplex *tau, magmaDoubleComplex *work, magma_int_t lwork, magmaDoubleComplex *dAmgpu[], magma_int_t ldda, magmaDoubleComplex *dTmgpu[], magma_int_t lddt, magma_int_t ngpu, magma_int_t distblk, magma_queue_t streams[][20], magma_int_t nstream, magma_int_t threads, magma_int_t *info)
void zq_to_panel(char uplo, magma_int_t ib, magmaDoubleComplex *A, magma_int_t lda, magmaDoubleComplex *work)
Definition: zpanel_to_q.cpp:57
magma_int_t magma_zlahru(magma_int_t m, magma_int_t n, magma_int_t nb, cuDoubleComplex *a, magma_int_t lda, cuDoubleComplex *da, cuDoubleComplex *y, cuDoubleComplex *v, cuDoubleComplex *t, cuDoubleComplex *dwork)
magma_int_t magma_zlarfg_gpu(magma_int_t n, magmaDoubleComplex *dx0, magmaDoubleComplex *dx, magmaDoubleComplex *dtau, double *dxnorm, magmaDoubleComplex *dAkk)
magma_int_t magma_zlauum_gpu(char uplo, magma_int_t n, cuDoubleComplex *dA, magma_int_t ldda, magma_int_t *info)
magma_int_t magma_zunmtr(char side, char uplo, char trans, magma_int_t m, magma_int_t n, cuDoubleComplex *a, magma_int_t lda, cuDoubleComplex *tau, cuDoubleComplex *c, magma_int_t ldc, cuDoubleComplex *work, magma_int_t lwork, magma_int_t *info)
void magma_dmove_eig(char range, magma_int_t n, double *w, magma_int_t *il, magma_int_t *iu, double vl, double vu, magma_int_t *m)
Definition: dmove_eig.cpp:16
magma_int_t magma_zpotrf_m(magma_int_t num_gpus, char uplo, magma_int_t n, magmaDoubleComplex *A, magma_int_t lda, magma_int_t *info)
Definition: zpotrf_m.cpp:22
magma_int_t magma_zpotrs_gpu(char uplo, magma_int_t n, magma_int_t nrhs, cuDoubleComplex *dA, magma_int_t ldda, cuDoubleComplex *dB, magma_int_t lddb, magma_int_t *info)
magma_int_t magma_zhetrd_gpu(char uplo, magma_int_t n, cuDoubleComplex *da, magma_int_t ldda, double *d, double *e, cuDoubleComplex *tau, cuDoubleComplex *wa, magma_int_t ldwa, cuDoubleComplex *work, magma_int_t lwork, magma_int_t *info)
magma_int_t magma_zgetrf2(magma_int_t m, magma_int_t n, cuDoubleComplex *a, magma_int_t lda, magma_int_t *ipiv, magma_int_t *info)
magma_int_t magma_get_zbulge_gcperf()
Definition: get_nb.cpp:749
#define hwork
magma_int_t magma_get_zhetrd_nb(magma_int_t m)
Definition: get_nb.cpp:423
magma_int_t magma_zlaqps2_gpu(magma_int_t m, magma_int_t n, magma_int_t offset, magma_int_t nb, magma_int_t *kb, magmaDoubleComplex *A, magma_int_t lda, magma_int_t *jpvt, magmaDoubleComplex *tau, double *vn1, double *vn2, magmaDoubleComplex *auxv, magmaDoubleComplex *dF, magma_int_t lddf)
magma_int_t magma_zgeqp3(magma_int_t m, magma_int_t n, magmaDoubleComplex *a, magma_int_t lda, magma_int_t *jpvt, magmaDoubleComplex *tau, magmaDoubleComplex *work, magma_int_t lwork, double *rwork, magma_int_t *info)
Definition: zgeqp3.cpp:18
magma_int_t magma_zunghr_m(magma_int_t n, magma_int_t ilo, magma_int_t ihi, magmaDoubleComplex *A, magma_int_t lda, magmaDoubleComplex *tau, magmaDoubleComplex *T, magma_int_t nb, magma_int_t *info)
Definition: zunghr_m.cpp:16
magma_int_t magma_zheevdx_gpu(char jobz, char range, char uplo, magma_int_t n, magmaDoubleComplex *da, magma_int_t ldda, double vl, double vu, magma_int_t il, magma_int_t iu, magma_int_t *m, double *w, magmaDoubleComplex *wa, magma_int_t ldwa, magmaDoubleComplex *work, magma_int_t lwork, double *rwork, magma_int_t lrwork, magma_int_t *iwork, magma_int_t liwork, magma_int_t *info)
Definition: zheevdx_gpu.cpp:17
#define B(i, j)
Definition: chegst.cpp:17
magma_int_t magma_zheevr(char jobz, char range, char uplo, magma_int_t n, magmaDoubleComplex *a, magma_int_t lda, double vl, double vu, magma_int_t il, magma_int_t iu, double abstol, magma_int_t *m, double *w, magmaDoubleComplex *z, magma_int_t ldz, magma_int_t *isuppz, magmaDoubleComplex *work, magma_int_t lwork, double *rwork, magma_int_t lrwork, magma_int_t *iwork, magma_int_t liwork, magma_int_t *info)
Definition: zheevr.cpp:16
magma_int_t magma_zungqr2(magma_int_t m, magma_int_t n, magma_int_t k, magmaDoubleComplex *a, magma_int_t lda, magmaDoubleComplex *tau, magma_int_t *info)
Definition: zungqr2.cpp:16
magma_int_t magma_zpotf2_gpu(magma_uplo_t uplo, magma_int_t n, magmaDoubleComplex *dA, magma_int_t lda, magma_int_t *info)
magma_int_t magma_zlatrd(char uplo, magma_int_t n, magma_int_t nb, cuDoubleComplex *a, magma_int_t lda, double *e, cuDoubleComplex *tau, cuDoubleComplex *w, magma_int_t ldw, cuDoubleComplex *da, magma_int_t ldda, cuDoubleComplex *dw, magma_int_t lddw)
magma_int_t magma_zhetrd_mgpu(magma_int_t num_gpus, magma_int_t k, char uplo, magma_int_t n, magmaDoubleComplex *a, magma_int_t lda, double *d, double *e, magmaDoubleComplex *tau, magmaDoubleComplex *work, magma_int_t lwork, magma_int_t *info)
#define T(m)
Definition: zgeqrf_mc.cpp:14
magma_int_t magma_ztrtri_gpu(char uplo, char diag, magma_int_t n, cuDoubleComplex *dA, magma_int_t ldda, magma_int_t *info)
magma_int_t magma_zgeev(char jobvl, char jobvr, magma_int_t n, cuDoubleComplex *a, magma_int_t lda, cuDoubleComplex *w, cuDoubleComplex *vl, magma_int_t ldvl, cuDoubleComplex *vr, magma_int_t ldvr, cuDoubleComplex *work, magma_int_t lwork, double *rwork, magma_int_t *info)
magma_int_t magma_zposv(char uplo, magma_int_t n, magma_int_t nrhs, cuDoubleComplex *A, magma_int_t lda, cuDoubleComplex *B, magma_int_t ldb, magma_int_t *info)
magma_int_t magma_zgetri_gpu(magma_int_t n, magmaDoubleComplex *dA, magma_int_t ldda, magma_int_t *ipiv, magmaDoubleComplex *dwork, magma_int_t lwork, magma_int_t *info)
Definition: zgetri_gpu.cpp:16
magma_int_t magma_zlabrd_gpu(magma_int_t m, magma_int_t n, magma_int_t nb, cuDoubleComplex *a, magma_int_t lda, cuDoubleComplex *da, magma_int_t ldda, double *d, double *e, cuDoubleComplex *tauq, cuDoubleComplex *taup, cuDoubleComplex *x, magma_int_t ldx, cuDoubleComplex *dx, magma_int_t lddx, cuDoubleComplex *y, magma_int_t ldy, cuDoubleComplex *dy, magma_int_t lddy)
magma_int_t magma_zhegst_gpu(magma_int_t itype, char uplo, magma_int_t n, cuDoubleComplex *da, magma_int_t ldda, cuDoubleComplex *db, magma_int_t lddb, magma_int_t *info)
int magma_int_t
Definition: magmablas.h:12
magma_int_t magma_zunmtr_gpu(char side, char uplo, char trans, magma_int_t m, magma_int_t n, cuDoubleComplex *da, magma_int_t ldda, cuDoubleComplex *tau, cuDoubleComplex *dc, magma_int_t lddc, cuDoubleComplex *wa, magma_int_t ldwa, magma_int_t *info)
magma_int_t magma_zheevdx_m(magma_int_t nrgpu, char jobz, char range, char uplo, magma_int_t n, magmaDoubleComplex *a, magma_int_t lda, double vl, double vu, magma_int_t il, magma_int_t iu, magma_int_t *m, double *w, magmaDoubleComplex *work, magma_int_t lwork, double *rwork, magma_int_t lrwork, magma_int_t *iwork, magma_int_t liwork, magma_int_t *info)
Definition: zheevdx_m.cpp:19
magma_int_t magma_zgehrd_m(magma_int_t n, magma_int_t ilo, magma_int_t ihi, magmaDoubleComplex *A, magma_int_t lda, magmaDoubleComplex *tau, magmaDoubleComplex *work, magma_int_t lwork, magmaDoubleComplex *T, magma_int_t *info)
Definition: zgehrd_m.cpp:16
magma_int_t magma_zgeqrf_gpu(magma_int_t m, magma_int_t n, cuDoubleComplex *dA, magma_int_t ldda, cuDoubleComplex *tau, cuDoubleComplex *dT, magma_int_t *info)
magma_int_t magma_zgetrf2_mgpu(magma_int_t num_gpus, magma_int_t m, magma_int_t n, magma_int_t nb, magma_int_t offset, magmaDoubleComplex *d_lAT[], magma_int_t lddat, magma_int_t *ipiv, magmaDoubleComplex *d_lAP[], magmaDoubleComplex *a, magma_int_t lda, magma_queue_t streaml[][2], magma_int_t *info)
#define W(k, n)
Definition: zgeqrf_mc.cpp:15
magma_int_t magma_get_zgetri_nb(magma_int_t m)
Definition: get_nb.cpp:584
magma_int_t magma_zlatrd2(char uplo, magma_int_t n, magma_int_t nb, cuDoubleComplex *a, magma_int_t lda, double *e, cuDoubleComplex *tau, cuDoubleComplex *w, magma_int_t ldw, cuDoubleComplex *da, magma_int_t ldda, cuDoubleComplex *dw, magma_int_t lddw, cuDoubleComplex *dwork, magma_int_t ldwork)
magma_int_t magma_ztrtri(char uplo, char diag, magma_int_t n, cuDoubleComplex *A, magma_int_t lda, magma_int_t *info)
magma_int_t magma_get_zgeqlf_nb(magma_int_t m)
Definition: get_nb.cpp:223
magma_int_t magma_zpotrf_mgpu(magma_int_t ngpu, char uplo, magma_int_t n, magmaDoubleComplex **d_lA, magma_int_t ldda, magma_int_t *info)
Definition: zpotrf_mgpu.cpp:15
magma_int_t magma_zhegvd_m(magma_int_t nrgpu, magma_int_t itype, char jobz, char uplo, magma_int_t n, magmaDoubleComplex *a, magma_int_t lda, magmaDoubleComplex *b, magma_int_t ldb, double *w, magmaDoubleComplex *work, magma_int_t lwork, double *rwork, magma_int_t lrwork, magma_int_t *iwork, magma_int_t liwork, magma_int_t *info)
Definition: zhegvd_m.cpp:19
#define dB(dev, i, j)
magma_int_t magma_zgels3_gpu(char trans, magma_int_t m, magma_int_t n, magma_int_t nrhs, cuDoubleComplex *dA, magma_int_t ldda, cuDoubleComplex *dB, magma_int_t lddb, cuDoubleComplex *hwork, magma_int_t lwork, magma_int_t *info)
magma_int_t magma_zgeqrf2_gpu(magma_int_t m, magma_int_t n, cuDoubleComplex *dA, magma_int_t ldda, cuDoubleComplex *tau, magma_int_t *info)
void magma_zprint_gpu(magma_int_t m, magma_int_t n, const magmaDoubleComplex *dA, magma_int_t ldda)
Definition: zprint.cpp:64
magma_int_t magma_zpotri_gpu(char uplo, magma_int_t n, cuDoubleComplex *dA, magma_int_t ldda, magma_int_t *info)
magma_int_t magma_zgesvd(char jobu, char jobvt, magma_int_t m, magma_int_t n, cuDoubleComplex *a, magma_int_t lda, double *s, cuDoubleComplex *u, magma_int_t ldu, cuDoubleComplex *vt, magma_int_t ldvt, cuDoubleComplex *work, magma_int_t lwork, double *rwork, magma_int_t *info)
magma_int_t magma_zstedx_m(magma_int_t nrgpu, char range, magma_int_t n, double vl, double vu, magma_int_t il, magma_int_t iu, double *D, double *E, magmaDoubleComplex *Z, magma_int_t ldz, double *rwork, magma_int_t ldrwork, magma_int_t *iwork, magma_int_t liwork, magma_int_t *info)
Definition: zstedx_m.cpp:15
magma_int_t magma_zgetrf_nopiv_gpu(magma_int_t m, magma_int_t n, cuDoubleComplex *dA, magma_int_t ldda, magma_int_t *info)
magma_int_t magma_zgetrf_piv(magma_int_t m, magma_int_t n, magma_int_t NB, magmaDoubleComplex *a, magma_int_t lda, magma_int_t *ipiv, magma_int_t *info)
Definition: zgetrf_m.cpp:372
magma_int_t magma_zgetrf(magma_int_t m, magma_int_t n, cuDoubleComplex *A, magma_int_t lda, magma_int_t *ipiv, magma_int_t *info)
magma_int_t magma_zlarfb_gpu(char side, char trans, char direct, char storev, magma_int_t m, magma_int_t n, magma_int_t k, cuDoubleComplex *dv, magma_int_t ldv, cuDoubleComplex *dt, magma_int_t ldt, cuDoubleComplex *dc, magma_int_t ldc, cuDoubleComplex *dowrk, magma_int_t ldwork)
Definition: zlarfb_gpu.cpp:21
magma_int_t magma_ztstrf_gpu(char storev, magma_int_t m, magma_int_t n, magma_int_t ib, magma_int_t nb, cuDoubleComplex *hU, magma_int_t ldhu, cuDoubleComplex *dU, magma_int_t lddu, cuDoubleComplex *hA, magma_int_t ldha, cuDoubleComplex *dA, magma_int_t ldda, cuDoubleComplex *hL, magma_int_t ldhl, cuDoubleComplex *dL, magma_int_t lddl, magma_int_t *ipiv, cuDoubleComplex *hwork, magma_int_t ldhwork, cuDoubleComplex *dwork, magma_int_t lddwork, magma_int_t *info)
magma_int_t magma_zgeqrf2_mgpu(magma_int_t num_gpus, magma_int_t m, magma_int_t n, magmaDoubleComplex **dlA, magma_int_t ldda, magmaDoubleComplex *tau, magma_int_t *info)
Definition: zgeqrf_mgpu.cpp:14
magma_int_t magma_zungqr_m(magma_int_t m, magma_int_t n, magma_int_t k, magmaDoubleComplex *A, magma_int_t lda, magmaDoubleComplex *tau, magmaDoubleComplex *T, magma_int_t nb, magma_int_t *info)
Definition: zungqr_m.cpp:18
#define dwork(dev, i, j)
magma_int_t magma_zunmtr_m(magma_int_t nrgpu, char side, char uplo, char trans, magma_int_t m, magma_int_t n, magmaDoubleComplex *a, magma_int_t lda, magmaDoubleComplex *tau, magmaDoubleComplex *c, magma_int_t ldc, magmaDoubleComplex *work, magma_int_t lwork, magma_int_t *info)
Definition: zunmtr_m.cpp:17
magma_int_t magma_zgeqr2x4_gpu(magma_int_t *m, magma_int_t *n, magmaDoubleComplex *dA, magma_int_t *ldda, magmaDoubleComplex *dtau, magmaDoubleComplex *dT, magmaDoubleComplex *ddA, double *dwork, magma_int_t *info, magma_queue_t stream)
#define vl(i, j)
magma_int_t magma_zheevx_gpu(char jobz, char range, char uplo, magma_int_t n, magmaDoubleComplex *da, magma_int_t ldda, double vl, double vu, magma_int_t il, magma_int_t iu, double abstol, magma_int_t *m, double *w, magmaDoubleComplex *dz, magma_int_t lddz, magmaDoubleComplex *wa, magma_int_t ldwa, magmaDoubleComplex *wz, magma_int_t ldwz, magmaDoubleComplex *work, magma_int_t lwork, double *rwork, magma_int_t *iwork, magma_int_t *ifail, magma_int_t *info)
Definition: zheevx_gpu.cpp:17
magma_int_t magma_zhegst(magma_int_t itype, char uplo, magma_int_t n, cuDoubleComplex *a, magma_int_t lda, cuDoubleComplex *b, magma_int_t ldb, magma_int_t *info)
#define Z(ix, iy)
Definition: dstedx.cpp:14
magma_int_t magma_get_zgeqp3_nb(magma_int_t m)
Definition: get_nb.cpp:112
magma_int_t magma_zpotrf_gpu(char uplo, magma_int_t n, cuDoubleComplex *dA, magma_int_t ldda, magma_int_t *info)
magma_int_t magma_zgetrf_gpu(magma_int_t m, magma_int_t n, cuDoubleComplex *dA, magma_int_t ldda, magma_int_t *ipiv, magma_int_t *info)
magma_int_t magma_get_zgesvd_nb(magma_int_t m)
Definition: get_nb.cpp:607
magma_int_t magma_zgetrs_gpu(char trans, magma_int_t n, magma_int_t nrhs, cuDoubleComplex *dA, magma_int_t ldda, magma_int_t *ipiv, cuDoubleComplex *dB, magma_int_t lddb, magma_int_t *info)
magma_int_t magma_zgeqr2_gpu(magma_int_t m, magma_int_t n, magmaDoubleComplex *dA, magma_int_t lda, magmaDoubleComplex *tau, double *work, magma_int_t *info)
magma_int_t magma_zlaqps_gpu(magma_int_t m, magma_int_t n, magma_int_t offset, magma_int_t nb, magma_int_t *kb, magmaDoubleComplex *A, magma_int_t lda, magma_int_t *jpvt, magmaDoubleComplex *tau, double *vn1, double *vn2, magmaDoubleComplex *auxv, magmaDoubleComplex *dF, magma_int_t lddf)
Definition: zlaqps_gpu.cpp:17
magma_int_t magma_zheevdx_2stage(char jobz, char range, char uplo, magma_int_t n, magmaDoubleComplex *a, magma_int_t lda, double vl, double vu, magma_int_t il, magma_int_t iu, magma_int_t *m, double *w, magmaDoubleComplex *work, magma_int_t lwork, double *rwork, magma_int_t lrwork, magma_int_t *iwork, magma_int_t liwork, magma_int_t *info)
magma_int_t magma_get_zpotrf_nb(magma_int_t m)
Definition: get_nb.cpp:79
#define F(i, j)
magma_int_t magma_zgessm_gpu(char storev, magma_int_t m, magma_int_t n, magma_int_t k, magma_int_t ib, magma_int_t *ipiv, cuDoubleComplex *dL1, magma_int_t lddl1, cuDoubleComplex *dL, magma_int_t lddl, cuDoubleComplex *dA, magma_int_t ldda, magma_int_t *info)
magma_int_t magma_zgelqf(magma_int_t m, magma_int_t n, cuDoubleComplex *A, magma_int_t lda, cuDoubleComplex *tau, cuDoubleComplex *work, magma_int_t lwork, magma_int_t *info)
#define TAU(m)
#define dL1(j)
#define dV(m)
#define MagmaMaxGPUs
Definition: magma_types.h:255
magma_int_t magma_zpotrf3_mgpu(magma_int_t num_gpus, char uplo, magma_int_t m, magma_int_t n, magma_int_t off_i, magma_int_t off_j, magma_int_t nb, magmaDoubleComplex *d_lA[], magma_int_t ldda, magmaDoubleComplex *d_lP[], magma_int_t lddp, magmaDoubleComplex *a, magma_int_t lda, magma_int_t h, magma_queue_t stream[][3], magma_event_t event[][5], magma_int_t *info)
magma_int_t magma_zgels_gpu(char trans, magma_int_t m, magma_int_t n, magma_int_t nrhs, cuDoubleComplex *dA, magma_int_t ldda, cuDoubleComplex *dB, magma_int_t lddb, cuDoubleComplex *hwork, magma_int_t lwork, magma_int_t *info)
magma_int_t magma_zhetrd_he2hb(char uplo, magma_int_t n, magma_int_t NB, magmaDoubleComplex *a, magma_int_t lda, magmaDoubleComplex *tau, magmaDoubleComplex *work, magma_int_t lwork, magmaDoubleComplex *dT, magma_int_t threads, magma_int_t *info)
magma_int_t magma_zungqr(magma_int_t m, magma_int_t n, magma_int_t k, cuDoubleComplex *a, magma_int_t lda, cuDoubleComplex *tau, cuDoubleComplex *dwork, magma_int_t nb, magma_int_t *info)
magma_int_t magma_zgesv_gpu(magma_int_t n, magma_int_t nrhs, cuDoubleComplex *dA, magma_int_t ldda, magma_int_t *ipiv, cuDoubleComplex *dB, magma_int_t lddb, magma_int_t *info)
magma_int_t magma_zunmql(const char side, const char trans, magma_int_t m, magma_int_t n, magma_int_t k, cuDoubleComplex *a, magma_int_t lda, cuDoubleComplex *tau, cuDoubleComplex *c, magma_int_t ldc, cuDoubleComplex *work, magma_int_t lwork, magma_int_t *info)
void magma_zlarfg(magma_int_t n, magmaDoubleComplex *alpha, magmaDoubleComplex *x, magma_int_t incx, magmaDoubleComplex *tau)
magma_int_t magma_zheevd(char jobz, char uplo, magma_int_t n, cuDoubleComplex *a, magma_int_t lda, double *w, cuDoubleComplex *work, magma_int_t lwork, double *rwork, magma_int_t lrwork, magma_int_t *iwork, magma_int_t liwork, magma_int_t *info)
magma_int_t magma_zunghr(magma_int_t n, magma_int_t ilo, magma_int_t ihi, cuDoubleComplex *a, magma_int_t lda, cuDoubleComplex *tau, cuDoubleComplex *dT, magma_int_t nb, magma_int_t *info)
magma_int_t magma_zgeqrs_gpu(magma_int_t m, magma_int_t n, magma_int_t nrhs, cuDoubleComplex *dA, magma_int_t ldda, cuDoubleComplex *tau, cuDoubleComplex *dT, cuDoubleComplex *dB, magma_int_t lddb, cuDoubleComplex *hwork, magma_int_t lhwork, magma_int_t *info)
magma_int_t magma_zlahr2_m(magma_int_t n, magma_int_t k, magma_int_t nb, magmaDoubleComplex *A, magma_int_t lda, magmaDoubleComplex *tau, magmaDoubleComplex *T, magma_int_t ldt, magmaDoubleComplex *Y, magma_int_t ldy, struct zgehrd_data *data)
Definition: zlahr2_m.cpp:16
magma_int_t magma_zlarfb_gpu_gemm(char side, char trans, char direct, char storev, magma_int_t m, magma_int_t n, magma_int_t k, const magmaDoubleComplex *dv, magma_int_t ldv, const magmaDoubleComplex *dt, magma_int_t ldt, magmaDoubleComplex *dc, magma_int_t ldc, magmaDoubleComplex *dwork, magma_int_t ldwork, magmaDoubleComplex *dworkvt, magma_int_t ldworkvt)
magma_int_t magma_ztrsm_m(magma_int_t nrgpu, char side, char uplo, char transa, char diag, magma_int_t m, magma_int_t n, magmaDoubleComplex alpha, magmaDoubleComplex *a, magma_int_t lda, magmaDoubleComplex *b, magma_int_t ldb)
Definition: ztrsm_m.cpp:25
magma_int_t magma_zgeqlf(magma_int_t m, magma_int_t n, cuDoubleComplex *A, magma_int_t lda, cuDoubleComplex *tau, cuDoubleComplex *work, magma_int_t lwork, magma_int_t *info)
magma_int_t magma_zheevd_gpu(char jobz, char uplo, magma_int_t n, cuDoubleComplex *da, magma_int_t ldda, double *w, cuDoubleComplex *wa, magma_int_t ldwa, cuDoubleComplex *work, magma_int_t lwork, double *rwork, magma_int_t lrwork, magma_int_t *iwork, magma_int_t liwork, magma_int_t *info)
magma_int_t magma_zunmqr(char side, char trans, magma_int_t m, magma_int_t n, magma_int_t k, cuDoubleComplex *a, magma_int_t lda, cuDoubleComplex *tau, cuDoubleComplex *c, magma_int_t ldc, cuDoubleComplex *work, magma_int_t lwork, magma_int_t *info)
magma_int_t magma_zunmqr_m(magma_int_t nrgpu, char side, char trans, magma_int_t m, magma_int_t n, magma_int_t k, magmaDoubleComplex *a, magma_int_t lda, magmaDoubleComplex *tau, magmaDoubleComplex *c, magma_int_t ldc, magmaDoubleComplex *work, magma_int_t lwork, magma_int_t *info)
Definition: zunmqr_m.cpp:31
magma_int_t magma_get_zhegst_nb(magma_int_t m)
Definition: get_nb.cpp:552
magma_int_t magma_zgehrd2(magma_int_t n, magma_int_t ilo, magma_int_t ihi, cuDoubleComplex *A, magma_int_t lda, cuDoubleComplex *tau, cuDoubleComplex *work, magma_int_t *lwork, magma_int_t *info)
magma_int_t magma_zlahru_m(magma_int_t n, magma_int_t ihi, magma_int_t k, magma_int_t nb, magmaDoubleComplex *A, magma_int_t lda, struct zgehrd_data *data)
Definition: zlahru_m.cpp:16
magma_int_t magma_zhetrd_he2hb_mgpu(char uplo, magma_int_t n, magma_int_t nb, magmaDoubleComplex *a, magma_int_t lda, magmaDoubleComplex *tau, magmaDoubleComplex *work, magma_int_t lwork, magmaDoubleComplex *dAmgpu[], magma_int_t ldda, magmaDoubleComplex *dTmgpu[], magma_int_t lddt, magma_int_t ngpu, magma_int_t distblk, magma_queue_t streams[][20], magma_int_t nstream, magma_int_t threads, magma_int_t *info)
magma_int_t magma_zhetrd_hb2st(magma_int_t threads, char uplo, magma_int_t n, magma_int_t nb, magma_int_t Vblksiz, magmaDoubleComplex *A, magma_int_t lda, double *D, double *E, magmaDoubleComplex *V, magma_int_t ldv, magmaDoubleComplex *TAU, magma_int_t compT, magmaDoubleComplex *T, magma_int_t ldt)
magma_int_t magma_get_zgehrd_nb(magma_int_t m)
Definition: get_nb.cpp:367
magma_int_t magma_zheevx(char jobz, char range, char uplo, magma_int_t n, magmaDoubleComplex *a, magma_int_t lda, double vl, double vu, magma_int_t il, magma_int_t iu, double abstol, magma_int_t *m, double *w, magmaDoubleComplex *z, magma_int_t ldz, magmaDoubleComplex *work, magma_int_t lwork, double *rwork, magma_int_t *iwork, magma_int_t *ifail, magma_int_t *info)
Definition: zheevx.cpp:17
magma_int_t magma_zhegvd(magma_int_t itype, char jobz, char uplo, magma_int_t n, cuDoubleComplex *a, magma_int_t lda, cuDoubleComplex *b, magma_int_t ldb, double *w, cuDoubleComplex *work, magma_int_t lwork, double *rwork, magma_int_t lrwork, magma_int_t *iwork, magma_int_t liwork, magma_int_t *info)
magma_int_t magma_zheevdx(char jobz, char range, char uplo, magma_int_t n, magmaDoubleComplex *a, magma_int_t lda, double vl, double vu, magma_int_t il, magma_int_t iu, magma_int_t *m, double *w, magmaDoubleComplex *work, magma_int_t lwork, double *rwork, magma_int_t lrwork, magma_int_t *iwork, magma_int_t liwork, magma_int_t *info)
Definition: zheevdx.cpp:19
magma_int_t magma_zlarf_gpu(magma_int_t m, magma_int_t n, magmaDoubleComplex *v, magmaDoubleComplex *tau, magmaDoubleComplex *c, magma_int_t ldc, double *xnorm)
#define Y(i, j)
magma_int_t magma_get_zgeqrf_nb(magma_int_t m)
Definition: get_nb.cpp:169
void zpanel_to_q(char uplo, magma_int_t ib, magmaDoubleComplex *A, magma_int_t lda, magmaDoubleComplex *work)
Definition: zpanel_to_q.cpp:17
#define A(i, j)
Definition: cprint.cpp:16
magma_int_t magma_zlarfb2_gpu(magma_int_t m, magma_int_t n, magma_int_t k, const magmaDoubleComplex *dV, magma_int_t ldv, const magmaDoubleComplex *dT, magma_int_t ldt, magmaDoubleComplex *dC, magma_int_t ldc, magmaDoubleComplex *dwork, magma_int_t ldwork)
magma_int_t magma_zhegvr(magma_int_t itype, char jobz, char range, char uplo, magma_int_t n, magmaDoubleComplex *a, magma_int_t lda, magmaDoubleComplex *b, magma_int_t ldb, double vl, double vu, magma_int_t il, magma_int_t iu, double abstol, magma_int_t *m, double *w, magmaDoubleComplex *z, magma_int_t ldz, magma_int_t *isuppz, magmaDoubleComplex *work, magma_int_t lwork, double *rwork, magma_int_t lrwork, magma_int_t *iwork, magma_int_t liwork, magma_int_t *info)
Definition: zhegvr.cpp:16
magma_int_t magma_zlaqps(magma_int_t m, magma_int_t n, magma_int_t offset, magma_int_t nb, magma_int_t *kb, magmaDoubleComplex *A, magma_int_t lda, magmaDoubleComplex *dA, magma_int_t ldda, magma_int_t *jpvt, magmaDoubleComplex *tau, double *vn1, double *vn2, magmaDoubleComplex *auxv, magmaDoubleComplex *F, magma_int_t ldf, magmaDoubleComplex *dF, magma_int_t lddf)
Definition: zlaqps.cpp:18
#define E(m, n)
magma_int_t magma_zgelqf_gpu(magma_int_t m, magma_int_t n, cuDoubleComplex *dA, magma_int_t ldda, cuDoubleComplex *tau, cuDoubleComplex *work, magma_int_t lwork, magma_int_t *info)
magma_int_t magma_zunmql2_gpu(const char side, const char trans, magma_int_t m, magma_int_t n, magma_int_t k, cuDoubleComplex *da, magma_int_t ldda, cuDoubleComplex *tau, cuDoubleComplex *dc, magma_int_t lddc, cuDoubleComplex *wa, magma_int_t ldwa, magma_int_t *info)
#define dF(i, j)
magma_int_t magma_zpotrf(char uplo, magma_int_t n, cuDoubleComplex *A, magma_int_t lda, magma_int_t *info)
magma_int_t magma_zunmqr_gpu(char side, char trans, magma_int_t m, magma_int_t n, magma_int_t k, cuDoubleComplex *a, magma_int_t lda, cuDoubleComplex *tau, cuDoubleComplex *c, magma_int_t ldc, cuDoubleComplex *work, magma_int_t lwork, cuDoubleComplex *td, magma_int_t nb, magma_int_t *info)
magma_int_t magma_zstedx(char range, magma_int_t n, double vl, double vu, magma_int_t il, magma_int_t iu, double *D, double *E, magmaDoubleComplex *Z, magma_int_t ldz, double *rwork, magma_int_t ldrwork, magma_int_t *iwork, magma_int_t liwork, double *dwork, magma_int_t *info)
Definition: zstedx.cpp:16
magma_int_t magma_zpotri(char uplo, magma_int_t n, cuDoubleComplex *A, magma_int_t lda, magma_int_t *info)
magma_int_t magma_zgehrd(magma_int_t n, magma_int_t ilo, magma_int_t ihi, cuDoubleComplex *A, magma_int_t lda, cuDoubleComplex *tau, cuDoubleComplex *work, magma_int_t lwork, cuDoubleComplex *d_T, magma_int_t *info)
magma_int_t magma_zhegvdx_2stage(magma_int_t itype, char jobz, char range, char uplo, magma_int_t n, magmaDoubleComplex *a, magma_int_t lda, magmaDoubleComplex *b, magma_int_t ldb, double vl, double vu, magma_int_t il, magma_int_t iu, magma_int_t *m, double *w, magmaDoubleComplex *work, magma_int_t lwork, double *rwork, magma_int_t lrwork, magma_int_t *iwork, magma_int_t liwork, magma_int_t *info)
char magma_uplo_t
Definition: magma_types.h:378
magma_int_t magma_zhegst_m(magma_int_t nrgpu, magma_int_t itype, char uplo, magma_int_t n, magmaDoubleComplex *a, magma_int_t lda, magmaDoubleComplex *b, magma_int_t ldb, magma_int_t *info)
Definition: zhegst_m.cpp:30
#define dC(dev, i, j)
magma_int_t magma_zgetrf_m(magma_int_t num_gpus0, magma_int_t m, magma_int_t n, magmaDoubleComplex *a, magma_int_t lda, magma_int_t *ipiv, magma_int_t *info)
Definition: zgetrf_m.cpp:16
magma_int_t magma_zbulge_get_Vblksiz(magma_int_t m, magma_int_t nb, magma_int_t nbthreads)
Definition: get_nb.cpp:880
magma_int_t magma_zhegvdx(magma_int_t itype, char jobz, char range, char uplo, magma_int_t n, magmaDoubleComplex *a, magma_int_t lda, magmaDoubleComplex *b, magma_int_t ldb, double vl, double vu, magma_int_t il, magma_int_t iu, magma_int_t *m, double *w, magmaDoubleComplex *work, magma_int_t lwork, double *rwork, magma_int_t lrwork, magma_int_t *iwork, magma_int_t liwork, magma_int_t *info)
Definition: zhegvdx.cpp:18
magma_int_t magma_zhegvx(magma_int_t itype, char jobz, char range, char uplo, magma_int_t n, magmaDoubleComplex *a, magma_int_t lda, magmaDoubleComplex *b, magma_int_t ldb, double vl, double vu, magma_int_t il, magma_int_t iu, double abstol, magma_int_t *m, double *w, magmaDoubleComplex *z, magma_int_t ldz, magmaDoubleComplex *work, magma_int_t lwork, double *rwork, magma_int_t *iwork, magma_int_t *ifail, magma_int_t *info)
Definition: zhegvx.cpp:16
magma_int_t magma_zgetrf_mgpu(magma_int_t num_gpus, magma_int_t m, magma_int_t n, magmaDoubleComplex **d_lA, magma_int_t ldda, magma_int_t *ipiv, magma_int_t *info)
Definition: zgetrf_mgpu.cpp:16
magma_int_t magma_get_zbulge_nb_mgpu(magma_int_t m)
Definition: get_nb.cpp:942
double magma_zlatrd_mgpu(magma_int_t num_gpus, char uplo, magma_int_t n0, magma_int_t n, magma_int_t nb, magma_int_t nb0, magmaDoubleComplex *a, magma_int_t lda, double *e, magmaDoubleComplex *tau, magmaDoubleComplex *w, magma_int_t ldw, magmaDoubleComplex **da, magma_int_t ldda, magma_int_t offset, magmaDoubleComplex **dw, magma_int_t lddw, magmaDoubleComplex *dwork[MagmaMaxGPUs], magma_int_t ldwork, magma_int_t k, magmaDoubleComplex *dx[MagmaMaxGPUs], magmaDoubleComplex *dy[MagmaMaxGPUs], magmaDoubleComplex *work, magma_queue_t stream[][10], double *times)
magma_int_t magma_zheevd_m(magma_int_t nrgpu, char jobz, char uplo, magma_int_t n, magmaDoubleComplex *a, magma_int_t lda, double *w, magmaDoubleComplex *work, magma_int_t lwork, double *rwork, magma_int_t lrwork, magma_int_t *iwork, magma_int_t liwork, magma_int_t *info)
Definition: zheevd_m.cpp:19
magma_int_t magma_zheevdx_2stage_m(magma_int_t nrgpu, char jobz, char range, char uplo, magma_int_t n, magmaDoubleComplex *a, magma_int_t lda, double vl, double vu, magma_int_t il, magma_int_t iu, magma_int_t *m, double *w, magmaDoubleComplex *work, magma_int_t lwork, double *rwork, magma_int_t lrwork, magma_int_t *iwork, magma_int_t liwork, magma_int_t *info)
magma_int_t magma_zgeqp3_gpu(magma_int_t m, magma_int_t n, magmaDoubleComplex *A, magma_int_t lda, magma_int_t *jpvt, magmaDoubleComplex *tau, magmaDoubleComplex *work, magma_int_t lwork, double *rwork, magma_int_t *info)
Definition: zgeqp32_gpu.cpp:17
#define dx(d, j)
magma_int_t magma_zhetrd(char uplo, magma_int_t n, cuDoubleComplex *A, magma_int_t lda, double *d, double *e, cuDoubleComplex *tau, cuDoubleComplex *work, magma_int_t lwork, magma_int_t *info)
magma_int_t magma_zgeev_m(char jobvl, char jobvr, magma_int_t n, magmaDoubleComplex *A, magma_int_t lda, magmaDoubleComplex *W, magmaDoubleComplex *vl, magma_int_t ldvl, magmaDoubleComplex *vr, magma_int_t ldvr, magmaDoubleComplex *work, magma_int_t lwork, double *rwork, magma_int_t *info)
Definition: zgeev_m.cpp:27
magma_int_t magma_zhegvdx_2stage_m(magma_int_t nrgpu, magma_int_t itype, char jobz, char range, char uplo, magma_int_t n, magmaDoubleComplex *a, magma_int_t lda, magmaDoubleComplex *b, magma_int_t ldb, double vl, double vu, magma_int_t il, magma_int_t iu, magma_int_t *m, double *w, magmaDoubleComplex *work, magma_int_t lwork, double *rwork, magma_int_t lrwork, magma_int_t *iwork, magma_int_t liwork, magma_int_t *info)
magma_int_t magma_zlahr2(magma_int_t m, magma_int_t n, magma_int_t nb, cuDoubleComplex *da, cuDoubleComplex *dv, cuDoubleComplex *a, magma_int_t lda, cuDoubleComplex *tau, cuDoubleComplex *t, magma_int_t ldt, cuDoubleComplex *y, magma_int_t ldy)
magma_int_t magma_zungqr_gpu(magma_int_t m, magma_int_t n, magma_int_t k, cuDoubleComplex *da, magma_int_t ldda, cuDoubleComplex *tau, cuDoubleComplex *dwork, magma_int_t nb, magma_int_t *info)
magma_int_t magma_get_zgebrd_nb(magma_int_t m)
Definition: get_nb.cpp:488
magma_int_t magma_get_smlsize_divideconquer()
Definition: get_nb.cpp:768
magma_int_t magma_zhegvdx_m(magma_int_t nrgpu, magma_int_t itype, char jobz, char range, char uplo, magma_int_t n, magmaDoubleComplex *a, magma_int_t lda, magmaDoubleComplex *b, magma_int_t ldb, double vl, double vu, magma_int_t il, magma_int_t iu, magma_int_t *m, double *w, magmaDoubleComplex *work, magma_int_t lwork, double *rwork, magma_int_t lrwork, magma_int_t *iwork, magma_int_t liwork, magma_int_t *info)
Definition: zhegvdx_m.cpp:19
#define dlA(dev, i, j)
magma_int_t magma_zssssm_gpu(char storev, magma_int_t m1, magma_int_t n1, magma_int_t m2, magma_int_t n2, magma_int_t k, magma_int_t ib, cuDoubleComplex *dA1, magma_int_t ldda1, cuDoubleComplex *dA2, magma_int_t ldda2, cuDoubleComplex *dL1, magma_int_t lddl1, cuDoubleComplex *dL2, magma_int_t lddl2, magma_int_t *IPIV, magma_int_t *info)
magma_int_t magma_zlauum(char uplo, magma_int_t n, cuDoubleComplex *A, magma_int_t lda, magma_int_t *info)
#define dT(m)
magma_int_t magma_zgetf2_gpu(magma_int_t m, magma_int_t n, magmaDoubleComplex *dA, magma_int_t lda, magma_int_t *ipiv, magma_int_t *info)
#define vr(i, j)
void magma_zprint(magma_int_t m, magma_int_t n, const magmaDoubleComplex *A, magma_int_t lda)
Definition: zprint.cpp:21
#define dt(gpui, ind)
Definition: cunmqr_m.cpp:23
magma_int_t magma_zgetrf_incpiv_gpu(char storev, magma_int_t m, magma_int_t n, magma_int_t ib, cuDoubleComplex *hA, magma_int_t ldha, cuDoubleComplex *dA, magma_int_t ldda, cuDoubleComplex *hL, magma_int_t ldhl, cuDoubleComplex *dL, magma_int_t lddl, magma_int_t *ipiv, cuDoubleComplex *dwork, magma_int_t lddwork, magma_int_t *info)
magma_int_t magma_zposv_gpu(char uplo, magma_int_t n, magma_int_t nrhs, cuDoubleComplex *dA, magma_int_t ldda, cuDoubleComplex *dB, magma_int_t lddb, magma_int_t *info)
magma_int_t magma_get_zhegst_nb_m(magma_int_t m)
Definition: get_nb.cpp:675
magma_int_t magma_zgesv(magma_int_t n, magma_int_t nrhs, cuDoubleComplex *A, magma_int_t lda, magma_int_t *ipiv, cuDoubleComplex *B, magma_int_t ldb, magma_int_t *info)
magma_int_t magma_get_zbulge_nb(magma_int_t m, magma_int_t nbthreads)
Definition: get_nb.cpp:823
magma_int_t magma_get_zgelqf_nb(magma_int_t m)
Definition: get_nb.cpp:257
magma_int_t magma_zgebrd(magma_int_t m, magma_int_t n, cuDoubleComplex *A, magma_int_t lda, double *d, double *e, cuDoubleComplex *tauq, cuDoubleComplex *taup, cuDoubleComplex *work, magma_int_t lwork, magma_int_t *info)
#define dL(i, j)
magma_int_t magma_get_zgetrf_nb(magma_int_t m)
Definition: get_nb.cpp:322
magma_int_t magma_zgeqrs3_gpu(magma_int_t m, magma_int_t n, magma_int_t nrhs, cuDoubleComplex *dA, magma_int_t ldda, cuDoubleComplex *tau, cuDoubleComplex *dT, cuDoubleComplex *dB, magma_int_t lddb, cuDoubleComplex *hwork, magma_int_t lhwork, magma_int_t *info)
magma_int_t magma_zhetrd2_gpu(char uplo, magma_int_t n, cuDoubleComplex *da, magma_int_t ldda, double *d, double *e, cuDoubleComplex *tau, cuDoubleComplex *wa, magma_int_t ldwa, cuDoubleComplex *work, magma_int_t lwork, cuDoubleComplex *dwork, magma_int_t ldwork, magma_int_t *info)
magma_int_t magma_zgeqrf_ooc(magma_int_t m, magma_int_t n, cuDoubleComplex *A, magma_int_t lda, cuDoubleComplex *tau, cuDoubleComplex *work, magma_int_t lwork, magma_int_t *info)
magma_int_t magma_zgeqr2x_gpu(magma_int_t *m, magma_int_t *n, magmaDoubleComplex *dA, magma_int_t *ldda, magmaDoubleComplex *dtau, magmaDoubleComplex *dT, magmaDoubleComplex *ddA, double *dwork, magma_int_t *info)
Definition: zgeqr2x_gpu.cpp:14
magma_int_t magma_zgeqr2x2_gpu(magma_int_t *m, magma_int_t *n, magmaDoubleComplex *dA, magma_int_t *ldda, magmaDoubleComplex *dtau, magmaDoubleComplex *dT, magmaDoubleComplex *ddA, double *dwork, magma_int_t *info)
#define V(m)
#define dA(dev, i, j)
magma_int_t magma_zgeqrf(magma_int_t m, magma_int_t n, cuDoubleComplex *A, magma_int_t lda, cuDoubleComplex *tau, cuDoubleComplex *work, magma_int_t lwork, magma_int_t *info)
magma_int_t magma_zheevr_gpu(char jobz, char range, char uplo, magma_int_t n, magmaDoubleComplex *da, magma_int_t ldda, double vl, double vu, magma_int_t il, magma_int_t iu, double abstol, magma_int_t *m, double *w, magmaDoubleComplex *dz, magma_int_t lddz, magma_int_t *isuppz, magmaDoubleComplex *wa, magma_int_t ldwa, magmaDoubleComplex *wz, magma_int_t ldwz, magmaDoubleComplex *work, magma_int_t lwork, double *rwork, magma_int_t lrwork, magma_int_t *iwork, magma_int_t liwork, magma_int_t *info)
Definition: zheevr_gpu.cpp:17
magma_int_t magma_zunmqr2_gpu(const char side, const char trans, magma_int_t m, magma_int_t n, magma_int_t k, cuDoubleComplex *da, magma_int_t ldda, cuDoubleComplex *tau, cuDoubleComplex *dc, magma_int_t lddc, cuDoubleComplex *wa, magma_int_t ldwa, magma_int_t *info)