MAGMA  1.2.0
MatrixAlgebraonGPUandMulticoreArchitectures
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
magma_d.h
Go to the documentation of this file.
1 /*
2  * -- MAGMA (version 1.2.0) --
3  * Univ. of Tennessee, Knoxville
4  * Univ. of California, Berkeley
5  * Univ. of Colorado, Denver
6  * May 2012
7  *
8  * @generated d Thu May 10 22:26:24 2012
9  */
10 
11 #ifndef _MAGMA_D_H_
12 #define _MAGMA_D_H_
13 #define PRECISION_d
14 
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
18 
19 /* ////////////////////////////////////////////////////////////////////////////
20  -- MAGMA function definitions / Data on CPU
21 */
23  magma_int_t lda, double *d, double *e,
24  double *tauq, double *taup,
25  double *work, magma_int_t lwork, magma_int_t *info);
27  double *A, magma_int_t lda, double *tau,
28  double *work, magma_int_t *lwork, magma_int_t *info);
30  double *A, magma_int_t lda, double *tau,
31  double *work, magma_int_t lwork,
32  double *d_T, magma_int_t *info);
34  double *A, magma_int_t lda, double *tau,
35  double *work, magma_int_t lwork, magma_int_t *info);
37  double *A, magma_int_t lda, double *tau,
38  double *work, magma_int_t lwork, magma_int_t *info);
40  magma_int_t lda, double *tau, double *work,
41  magma_int_t lwork, magma_int_t *info);
43  double *a, magma_int_t lda, double *tau,
44  double *work, magma_int_t lwork, magma_int_t *info );
46  magma_int_t lda, double *tau, double *work,
47  magma_int_t lwork, magma_int_t *info);
49  double *A, magma_int_t lda, magma_int_t *ipiv,
50  double *B, magma_int_t ldb, magma_int_t *info);
52  magma_int_t lda, magma_int_t *ipiv,
53  magma_int_t *info);
55  magma_int_t lda, magma_int_t *ipiv, magma_int_t *info);
56 magma_int_t magma_dlatrd( char uplo, magma_int_t n, magma_int_t nb, double *a,
57  magma_int_t lda, double *e, double *tau,
58  double *w, magma_int_t ldw,
59  double *da, magma_int_t ldda,
60  double *dw, magma_int_t lddw);
62  double *a, magma_int_t lda,
63  double *e, double *tau,
64  double *w, magma_int_t ldw,
65  double *da, magma_int_t ldda,
66  double *dw, magma_int_t lddw,
67  double *dwork, magma_int_t ldwork);
69  double *da, double *dv, double *a,
70  magma_int_t lda, double *tau, double *t,
71  magma_int_t ldt, double *y, magma_int_t ldy);
73  double *a, magma_int_t lda,
74  double *da, double *y,
75  double *v, double *t,
76  double *dwork);
77 magma_int_t magma_dposv ( char uplo, magma_int_t n, magma_int_t nrhs,
78  double *A, magma_int_t lda,
79  double *B, magma_int_t ldb, magma_int_t *info);
80 magma_int_t magma_dpotrf( char uplo, magma_int_t n, double *A,
81  magma_int_t lda, magma_int_t *info);
82 magma_int_t magma_dpotri( char uplo, magma_int_t n, double *A,
83  magma_int_t lda, magma_int_t *info);
84 magma_int_t magma_dlauum( char uplo, magma_int_t n, double *A,
85  magma_int_t lda, magma_int_t *info);
86 magma_int_t magma_dtrtri( char uplo, char diag, magma_int_t n, double *A,
87  magma_int_t lda, magma_int_t *info);
88 magma_int_t magma_dsytrd( char uplo, magma_int_t n, double *A,
89  magma_int_t lda, double *d, double *e,
90  double *tau, double *work, magma_int_t lwork,
91  magma_int_t *info);
93  double *a, magma_int_t lda,
94  double *tau, double *dwork,
95  magma_int_t nb, magma_int_t *info );
96 magma_int_t magma_dormql( const char side, const char trans,
98  double *a, magma_int_t lda,
99  double *tau,
100  double *c, magma_int_t ldc,
101  double *work, magma_int_t lwork,
102  magma_int_t *info);
103 magma_int_t magma_dormqr( char side, char trans,
105  double *a, magma_int_t lda, double *tau,
106  double *c, magma_int_t ldc,
107  double *work, magma_int_t lwork, magma_int_t *info);
108 magma_int_t magma_dormtr( char side, char uplo, char trans,
110  double *a, magma_int_t lda,
111  double *tau,
112  double *c, magma_int_t ldc,
113  double *work, magma_int_t lwork,
114  magma_int_t *info);
116  double *a, magma_int_t lda,
117  double *tau,
118  double *dT, magma_int_t nb,
119  magma_int_t *info);
120 magma_int_t magma_dsyev( char jobz, char uplo, magma_int_t n,
121  double *a, magma_int_t lda, double *w,
122  double *work, magma_int_t lwork,
123  double *rwork, magma_int_t *info);
124 magma_int_t magma_dsyevx(char jobz, char range, char uplo, magma_int_t n,
125  double *a, magma_int_t lda, double vl, double vu,
126  magma_int_t il, magma_int_t iu, double abstol, magma_int_t *m,
127  double *w, double *z, magma_int_t ldz,
128  double *work, magma_int_t lwork,
129  double *rwork, magma_int_t *iwork,
130  magma_int_t *ifail, magma_int_t *info);
131 #if defined(PRECISION_z) || defined(PRECISION_c)
132 magma_int_t magma_dgeev( char jobvl, char jobvr, magma_int_t n,
133  double *a, magma_int_t lda,
134  double *w,
135  double *vl, magma_int_t ldvl,
136  double *vr, magma_int_t ldvr,
137  double *work, magma_int_t lwork,
138  double *rwork, magma_int_t *info);
140  double *a, magma_int_t *lda,
141  magma_int_t *jpvt, double *tau,
142  double *work, magma_int_t *lwork,
143  double *rwork, magma_int_t *info);
144 magma_int_t magma_dgesvd( char jobu, char jobvt, magma_int_t m, magma_int_t n,
145  double *a, magma_int_t lda, double *s,
146  double *u, magma_int_t ldu,
147  double *vt, magma_int_t ldvt,
148  double *work, magma_int_t lwork,
149  double *rwork, magma_int_t *info );
150 magma_int_t magma_dsyevd( char jobz, char uplo, magma_int_t n,
151  double *a, magma_int_t lda, double *w,
152  double *work, magma_int_t lwork,
153  double *rwork, magma_int_t lrwork,
154  magma_int_t *iwork, magma_int_t liwork, magma_int_t *info);
155 magma_int_t magma_dsyevr( char jobz, char range, char uplo, magma_int_t n,
156  double *a, magma_int_t lda, double vl, double vu,
157  magma_int_t il, magma_int_t iu, double abstol, magma_int_t *m,
158  double *w, double *z, magma_int_t ldz,
159  magma_int_t *isuppz,
160  double *work, magma_int_t lwork,
161  double *rwork, magma_int_t lrwork, magma_int_t *iwork,
162  magma_int_t liwork, magma_int_t *info);
163 magma_int_t magma_dsygvd( magma_int_t itype, char jobz, char uplo, magma_int_t n,
164  double *a, magma_int_t lda,
165  double *b, magma_int_t ldb,
166  double *w, double *work, magma_int_t lwork,
167  double *rwork, magma_int_t lrwork, magma_int_t *iwork,
168  magma_int_t liwork, magma_int_t *info);
169 magma_int_t magma_dsygvdx(magma_int_t itype, char jobz, char range, char uplo,
170  magma_int_t n, double *a, magma_int_t lda,
171  double *b, magma_int_t ldb,
172  double vl, double vu, magma_int_t il, magma_int_t iu,
173  magma_int_t *m, double *w, double *work,
174  magma_int_t lwork, double *rwork,
175  magma_int_t lrwork, magma_int_t *iwork,
176  magma_int_t liwork, magma_int_t *info);
177 magma_int_t magma_dsygvx( magma_int_t itype, char jobz, char range, char uplo,
178  magma_int_t n, double *a, magma_int_t lda,
179  double *b, magma_int_t ldb,
180  double vl, double vu, magma_int_t il, magma_int_t iu,
181  double abstol, magma_int_t *m, double *w,
182  double *z, magma_int_t ldz,
183  double *work, magma_int_t lwork, double *rwork,
184  magma_int_t *iwork, magma_int_t *ifail, magma_int_t *info);
185 magma_int_t magma_dsygvr( magma_int_t itype, char jobz, char range, char uplo,
186  magma_int_t n, double *a, magma_int_t lda,
187  double *b, magma_int_t ldb,
188  double vl, double vu, magma_int_t il, magma_int_t iu,
189  double abstol, magma_int_t *m, double *w,
190  double *z, magma_int_t ldz,
191  magma_int_t *isuppz, double *work, magma_int_t lwork,
192  double *rwork, magma_int_t lrwork, magma_int_t *iwork,
193  magma_int_t liwork, magma_int_t *info);
194 magma_int_t magma_dstedx( char range, magma_int_t n, double vl, double vu,
195  magma_int_t il, magma_int_t iu, double *D, double *E,
196  double *Z, magma_int_t ldz,
197  double *rwork, magma_int_t ldrwork, magma_int_t *iwork,
198  magma_int_t liwork, double* dwork, magma_int_t *info);
199 #else
200 magma_int_t magma_dgeev( char jobvl, char jobvr, magma_int_t n,
201  double *a, magma_int_t lda,
202  double *wr, double *wi,
203  double *vl, magma_int_t ldvl,
204  double *vr, magma_int_t ldvr,
205  double *work, magma_int_t lwork,
206  magma_int_t *info);
208  double *a, magma_int_t *lda,
209  magma_int_t *jpvt, double *tau,
210  double *work, magma_int_t *lwork,
211  magma_int_t *info);
212 magma_int_t magma_dgesvd( char jobu, char jobvt, magma_int_t m, magma_int_t n,
213  double *a, magma_int_t lda, double *s,
214  double *u, magma_int_t ldu,
215  double *vt, magma_int_t ldvt,
216  double *work, magma_int_t lwork,
217  magma_int_t *info );
218 magma_int_t magma_dsyevd( char jobz, char uplo, magma_int_t n,
219  double *a, magma_int_t lda, double *w,
220  double *work, magma_int_t lwork,
221  magma_int_t *iwork, magma_int_t liwork, magma_int_t *info);
222 magma_int_t magma_dsygvd( magma_int_t itype, char jobz, char uplo, magma_int_t n,
223  double *a, magma_int_t lda,
224  double *b, magma_int_t ldb,
225  double *w, double *work, magma_int_t lwork,
226  magma_int_t *iwork, magma_int_t liwork, magma_int_t *info);
227 magma_int_t magma_dstedx( char range, magma_int_t n, double vl, double vu,
228  magma_int_t il, magma_int_t iu, double* d, double* e,
229  double* z, magma_int_t ldz,
230  double* work, magma_int_t lwork,
231  magma_int_t* iwork, magma_int_t liwork,
232  double* dwork, magma_int_t* info);
233 magma_int_t magma_dlaex0( magma_int_t n, double* d, double* e, double* q, magma_int_t ldq,
234  double* work, magma_int_t* iwork, double* dwork,
235  char range, double vl, double vu,
236  magma_int_t il, magma_int_t iu, magma_int_t* info);
237 magma_int_t magma_dlaex1( magma_int_t n, double* d, double* q, magma_int_t ldq,
238  magma_int_t* indxq, double rho, magma_int_t cutpnt,
239  double* work, magma_int_t* iwork, double* dwork,
240  char range, double vl, double vu,
241  magma_int_t il, magma_int_t iu, magma_int_t* info);
243  double* q, magma_int_t ldq, double rho,
244  double* dlamda, double* q2, magma_int_t* indx,
245  magma_int_t* ctot, double* w, double* s, magma_int_t* indxq,
246  double* dwork,
247  char range, double vl, double vu, magma_int_t il, magma_int_t iu,
248  magma_int_t* info );
249 #endif
250 
251 magma_int_t magma_dsygst( magma_int_t itype, char uplo, magma_int_t n,
252  double *a, magma_int_t lda,
253  double *b, magma_int_t ldb, magma_int_t *info);
254 
255 /* ////////////////////////////////////////////////////////////////////////////
256  -- MAGMA function definitions / Data on GPU
257 */
259  double *dA, magma_int_t ldda,
260  double *dB, magma_int_t lddb,
261  double *hwork, magma_int_t lwork,
262  magma_int_t *info);
264  double *dA, magma_int_t ldda,
265  double *dB, magma_int_t lddb,
266  double *hwork, magma_int_t lwork,
267  magma_int_t *info);
269  double *dA, magma_int_t ldda, double *tau,
270  double *work, magma_int_t lwork, magma_int_t *info);
272  double *dA, magma_int_t ldda,
273  double *tau, double *dT,
274  magma_int_t *info);
276  double *dA, magma_int_t ldda,
277  double *tau, magma_int_t *info);
279  double **dlA, magma_int_t ldda,
280  double *tau, magma_int_t *info );
282  double *dA, magma_int_t ldda,
283  double *tau, double *dT,
284  magma_int_t *info);
286  double *dA, magma_int_t ldda,
287  double *tau, double *dT,
288  double *dB, magma_int_t lddb,
289  double *hwork, magma_int_t lhwork,
290  magma_int_t *info);
292  double *dA, magma_int_t ldda,
293  double *tau, double *dT,
294  double *dB, magma_int_t lddb,
295  double *hwork, magma_int_t lhwork,
296  magma_int_t *info);
298  magma_int_t *ipiv,
299  double *dL1, magma_int_t lddl1,
300  double *dL, magma_int_t lddl,
301  double *dA, magma_int_t ldda,
302  magma_int_t *info);
304  double *dA, magma_int_t ldda, magma_int_t *ipiv,
305  double *dB, magma_int_t lddb, magma_int_t *info);
307  double *hA, magma_int_t ldha, double *dA, magma_int_t ldda,
308  double *hL, magma_int_t ldhl, double *dL, magma_int_t lddl,
309  magma_int_t *ipiv,
310  double *dwork, magma_int_t lddwork,
311  magma_int_t *info);
313  double *dA, magma_int_t ldda,
314  magma_int_t *ipiv, magma_int_t *info);
317  double *dA, magma_int_t ldda,
318  magma_int_t *info);
320  double *dA, magma_int_t ldda, magma_int_t *ipiv,
321  double *dwork, magma_int_t lwork, magma_int_t *info);
323  double *dA, magma_int_t ldda, magma_int_t *ipiv,
324  double *dB, magma_int_t lddb, magma_int_t *info);
326  double *a, magma_int_t lda, double *da, magma_int_t ldda,
327  double *d, double *e, double *tauq, double *taup,
328  double *x, magma_int_t ldx, double *dx, magma_int_t lddx,
329  double *y, magma_int_t ldy, double *dy, magma_int_t lddy);
330 magma_int_t magma_dlarfb_gpu( char side, char trans, char direct, char storev,
332  double *dv, magma_int_t ldv, double *dt, magma_int_t ldt,
333  double *dc, magma_int_t ldc, double *dowrk, magma_int_t ldwork );
335  double *dA, magma_int_t ldda,
336  double *dB, magma_int_t lddb, magma_int_t *info);
338  double *dA, magma_int_t ldda, magma_int_t *info);
340  double *dA, magma_int_t ldda, magma_int_t *info);
342  double *dA, magma_int_t ldda, magma_int_t *info);
343 magma_int_t magma_dtrtri_gpu( char uplo, char diag, magma_int_t n,
344  double *dA, magma_int_t ldda, magma_int_t *info);
346  double *da, magma_int_t ldda,
347  double *d, double *e, double *tau,
348  double *wa, magma_int_t ldwa,
349  double *work, magma_int_t lwork,
350  magma_int_t *info);
352  double *da, magma_int_t ldda,
353  double *d, double *e, double *tau,
354  double *wa, magma_int_t ldwa,
355  double *work, magma_int_t lwork,
356  double *dwork, magma_int_t ldwork,
357  magma_int_t *info);
359  double *dA, magma_int_t ldda,
360  double *dB, magma_int_t lddb, magma_int_t *info);
363  double *dA1, magma_int_t ldda1,
364  double *dA2, magma_int_t ldda2,
365  double *dL1, magma_int_t lddl1,
366  double *dL2, magma_int_t lddl2,
367  magma_int_t *IPIV, magma_int_t *info);
369  double *hU, magma_int_t ldhu, double *dU, magma_int_t lddu,
370  double *hA, magma_int_t ldha, double *dA, magma_int_t ldda,
371  double *hL, magma_int_t ldhl, double *dL, magma_int_t lddl,
372  magma_int_t *ipiv,
373  double *hwork, magma_int_t ldhwork,
374  double *dwork, magma_int_t lddwork,
375  magma_int_t *info);
377  double *da, magma_int_t ldda,
378  double *tau, double *dwork,
379  magma_int_t nb, magma_int_t *info );
380 magma_int_t magma_dormql2_gpu(const char side, const char trans,
382  double *da, magma_int_t ldda,
383  double *tau,
384  double *dc, magma_int_t lddc,
385  double *wa, magma_int_t ldwa,
386  magma_int_t *info);
387 magma_int_t magma_dormqr_gpu( char side, char trans,
389  double *a, magma_int_t lda, double *tau,
390  double *c, magma_int_t ldc,
391  double *work, magma_int_t lwork,
392  double *td, magma_int_t nb, magma_int_t *info);
393 magma_int_t magma_dormqr2_gpu(const char side, const char trans,
395  double *da, magma_int_t ldda,
396  double *tau,
397  double *dc, magma_int_t lddc,
398  double *wa, magma_int_t ldwa,
399  magma_int_t *info);
400 magma_int_t magma_dormtr_gpu( char side, char uplo, char trans,
402  double *da, magma_int_t ldda,
403  double *tau,
404  double *dc, magma_int_t lddc,
405  double *wa, magma_int_t ldwa,
406  magma_int_t *info);
407 
408 #if defined(PRECISION_z) || defined(PRECISION_c)
409 magma_int_t magma_dsyevd_gpu( char jobz, char uplo,
410  magma_int_t n,
411  double *da, magma_int_t ldda,
412  double *w,
413  double *wa, magma_int_t ldwa,
414  double *work, magma_int_t lwork,
415  double *rwork, magma_int_t lrwork,
416  magma_int_t *iwork, magma_int_t liwork,
417  magma_int_t *info);
418 magma_int_t magma_dsyevdx_gpu(char jobz, char range, char uplo,
419  magma_int_t n, double *da,
420  magma_int_t ldda, double vl, double vu,
421  magma_int_t il, magma_int_t iu,
422  magma_int_t *m, double *w,
423  double *wa, magma_int_t ldwa,
424  double *work, magma_int_t lwork,
425  double *rwork, magma_int_t lrwork,
426  magma_int_t *iwork, magma_int_t liwork,
427  magma_int_t *info);
428 magma_int_t magma_dsyevr_gpu( char jobz, char range, char uplo, magma_int_t n,
429  double *da, magma_int_t ldda, double vl, double vu,
430  magma_int_t il, magma_int_t iu, double abstol, magma_int_t *m,
431  double *w, double *dz, magma_int_t lddz,
432  magma_int_t *isuppz,
433  double *wa, magma_int_t ldwa,
434  double *wz, magma_int_t ldwz,
435  double *work, magma_int_t lwork,
436  double *rwork, magma_int_t lrwork, magma_int_t *iwork,
437  magma_int_t liwork, magma_int_t *info);
438 #else
439 magma_int_t magma_dsyevd_gpu( char jobz, char uplo,
440  magma_int_t n,
441  double *da, magma_int_t ldda,
442  double *w,
443  double *wa, magma_int_t ldwa,
444  double *work, magma_int_t lwork,
445  magma_int_t *iwork, magma_int_t liwork,
446  magma_int_t *info);
447 #endif
448 
449 magma_int_t magma_dsyevx_gpu( char jobz, char range, char uplo, magma_int_t n,
450  double *da, magma_int_t ldda, double vl,
451  double vu, magma_int_t il, magma_int_t iu,
452  double abstol, magma_int_t *m,
453  double *w, double *dz, magma_int_t lddz,
454  double *wa, magma_int_t ldwa,
455  double *wz, magma_int_t ldwz,
456  double *work, magma_int_t lwork,
457  double *rwork, magma_int_t *iwork,
458  magma_int_t *ifail, magma_int_t *info);
460  double *da, magma_int_t ldda,
461  double *db, magma_int_t lddb, magma_int_t *info);
462 
463 
464 /* ////////////////////////////////////////////////////////////////////////////
465  -- MAGMA utility function definitions
466 */
467 
468 void magma_dprint ( int m, int n, double *A, int lda );
469 void magma_dprint_gpu( int m, int n, double *dA, int ldda );
470 
471 void dpanel_to_q(char uplo, int ib, double *A, int lda, double *work);
472 void dq_to_panel(char uplo, int ib, double *A, int lda, double *work);
473 
474 #ifdef __cplusplus
475 }
476 #endif
477 
478 #undef PRECISION_d
479 #endif /* _MAGMA_D_H_ */