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