21 #include <cuda_runtime_api.h>
34 #define DEVPTR(__ptr) ((cuDoubleComplex*)(__ptr))
36 #define DEVPTR(__ptr) ((cuDoubleComplex*)(uintptr_t)(*(__ptr)))
40 #ifndef MAGMA_FORTRAN_NAME
42 #define MAGMA_FORTRAN_NAME(lcname, UCNAME) magmaf_##lcname##_
43 #elif defined(NOCHANGE)
44 #define MAGMA_FORTRAN_NAME(lcname, UCNAME) magmaf_##lcname
46 #define MAGMA_FORTRAN_NAME(lcname, UCNAME) MAGMAF_##UCNAME
50 #ifndef MAGMA_GPU_FORTRAN_NAME
52 #define MAGMA_GPU_FORTRAN_NAME(lcname, UCNAME) magmaf_##lcname##_gpu_
53 #elif defined(NOCHANGE)
54 #define MAGMA_GPU_FORTRAN_NAME(lcname, UCNAME) magmaf_##lcname##_gpu
56 #define MAGMA_GPU_FORTRAN_NAME(lcname, UCNAME) MAGMAF_##UCNAME##_GPU
63 #define MAGMAF_ZGEBRD MAGMA_FORTRAN_NAME(zgebrd, ZGEBRD )
64 #define MAGMAF_ZGEHRD2 MAGMA_FORTRAN_NAME(zgehrd2, ZGEHRD2)
65 #define MAGMAF_ZGEHRD MAGMA_FORTRAN_NAME(zgehrd, ZGEHRD )
66 #define MAGMAF_ZGELQF MAGMA_FORTRAN_NAME(zgelqf, ZGELQF )
67 #define MAGMAF_ZGEQLF MAGMA_FORTRAN_NAME(zgeqlf, ZGEQLF )
68 #define MAGMAF_ZGEQRF MAGMA_FORTRAN_NAME(zgeqrf, ZGEQRF )
69 #define MAGMAF_ZGESV MAGMA_FORTRAN_NAME(zgesv, ZGESV )
70 #define MAGMAF_ZGETRF MAGMA_FORTRAN_NAME(zgetrf, ZGETRF )
71 #define MAGMAF_ZLATRD MAGMA_FORTRAN_NAME(zlatrd, ZLATRD )
72 #define MAGMAF_ZLAHR2 MAGMA_FORTRAN_NAME(zlahr2, ZLAHR2 )
73 #define MAGMAF_ZLAHRU MAGMA_FORTRAN_NAME(zlahru, ZLAHRU )
74 #define MAGMAF_ZPOSV MAGMA_FORTRAN_NAME(zposv, ZPOSV )
75 #define MAGMAF_ZPOTRF MAGMA_FORTRAN_NAME(zpotrf, ZPOTRF )
76 #define MAGMAF_ZHETRD MAGMA_FORTRAN_NAME(zhetrd, ZHETRD )
77 #define MAGMAF_ZUNGQR MAGMA_FORTRAN_NAME(zungqr, ZUNGQR )
78 #define MAGMAF_ZUNMQR MAGMA_FORTRAN_NAME(zunmqr, ZUNMQR )
79 #define MAGMAF_ZUNMTR MAGMA_FORTRAN_NAME(zunmtr, ZUNMTR )
80 #define MAGMAF_ZUNGHR MAGMA_FORTRAN_NAME(zunghr, ZUNGHR )
81 #define MAGMAF_ZGEEV MAGMA_FORTRAN_NAME(zgeev, ZGEEV )
82 #define MAGMAF_ZGESVD MAGMA_FORTRAN_NAME(zgesvd, ZGESVD )
83 #define MAGMAF_ZHEEVD MAGMA_FORTRAN_NAME(zheevd, ZHEEVD )
84 #define MAGMAF_ZHEGVD MAGMA_FORTRAN_NAME(zhegvd, ZHEGVD )
89 #define MAGMAF_ZGELS_GPU MAGMA_GPU_FORTRAN_NAME(zgels, ZGELS )
90 #define MAGMAF_ZGEQRF_GPU MAGMA_GPU_FORTRAN_NAME(zgeqrf, ZGEQRF )
91 #define MAGMAF_ZGEQRF2_GPU MAGMA_GPU_FORTRAN_NAME(zgeqrf2, ZGEQRF2)
92 #define MAGMAF_ZGEQRF3_GPU MAGMA_GPU_FORTRAN_NAME(zgeqrf3, ZGEQRF3)
93 #define MAGMAF_ZGEQRS_GPU MAGMA_GPU_FORTRAN_NAME(zgeqrs, ZGEQRS )
94 #define MAGMAF_ZGEQRS3_GPU MAGMA_GPU_FORTRAN_NAME(zgeqrs3, ZGEQRS3)
95 #define MAGMAF_ZGESSM_GPU MAGMA_GPU_FORTRAN_NAME(zgessm, ZGESSM )
96 #define MAGMAF_ZGESV_GPU MAGMA_GPU_FORTRAN_NAME(zgesv, ZGESV )
97 #define MAGMAF_ZGETRL_GPU MAGMA_GPU_FORTRAN_NAME(zgetrl, ZGETRL )
98 #define MAGMAF_ZGETRF_GPU MAGMA_GPU_FORTRAN_NAME(zgetrf, ZGETRF )
99 #define MAGMAF_ZGETRS_GPU MAGMA_GPU_FORTRAN_NAME(zgetrs, ZGETRS )
100 #define MAGMAF_ZLABRD_GPU MAGMA_GPU_FORTRAN_NAME(zlabrd, ZLABRD )
101 #define MAGMAF_ZLARFB_GPU MAGMA_GPU_FORTRAN_NAME(zlarfb, ZLARFB )
102 #define MAGMAF_ZPOSV_GPU MAGMA_GPU_FORTRAN_NAME(zposv, ZPOSV )
103 #define MAGMAF_ZPOTRF_GPU MAGMA_GPU_FORTRAN_NAME(zpotrf, ZPOTRF )
104 #define MAGMAF_ZPOTRS_GPU MAGMA_GPU_FORTRAN_NAME(zpotrs, ZPOTRS )
105 #define MAGMAF_ZSSSSM_GPU MAGMA_GPU_FORTRAN_NAME(zssssm, ZSSSSM )
106 #define MAGMAF_ZTSTRF_GPU MAGMA_GPU_FORTRAN_NAME(ztstrf, ZTSTRF )
107 #define MAGMAF_ZUNGQR_GPU MAGMA_GPU_FORTRAN_NAME(zungqr, ZUNGQR )
108 #define MAGMAF_ZUNMQR_GPU MAGMA_GPU_FORTRAN_NAME(zunmqr, ZUNMQR )
123 cuDoubleComplex *tauq, cuDoubleComplex *taup,
133 cuDoubleComplex *
A,
magma_int_t *lda, cuDoubleComplex *tau,
142 cuDoubleComplex *
A,
magma_int_t *lda, cuDoubleComplex *tau,
153 cuDoubleComplex *
A,
magma_int_t *lda, cuDoubleComplex *tau,
162 cuDoubleComplex *
A,
magma_int_t *lda, cuDoubleComplex *tau,
276 cuDoubleComplex *a,
magma_int_t *lda, cuDoubleComplex *tau,
290 cuDoubleComplex *tau,
317 #if defined(PRECISION_z) || defined(PRECISION_c)
360 iwork, *liwork, info);
374 iwork, *liwork, info);
380 cuDoubleComplex *wr, cuDoubleComplex *wi,
418 iwork, *liwork, info);
430 iwork, *liwork, info);
448 hwork, *lwork, info);
493 hwork, *lhwork, info);
508 hwork, *lhwork, info);
538 DEVPTR(dA), *ldda, ipiv, info);
552 double *d,
double *e, cuDoubleComplex *tauq, cuDoubleComplex *taup,
557 a, *lda,
DEVPTR(da), *ldda,
559 x, *ldx,
DEVPTR(dx), *lddx,
560 y, *ldy,
DEVPTR(dy), *lddy);
586 DEVPTR(dA), *ldda, info); }
620 DEVPTR(dwork), *nb, info );