 |
COMPASS
5.0.0
End-to-end AO simulation tool using GPU acceleration
|
Go to the documentation of this file.
42 #ifndef CARMA_CUBLAS_H_
43 #define CARMA_CUBLAS_H_
45 #include <cuda_runtime_api.h>
47 #include <cublas_v2.h>
50 #define carma_checkCublasStatus(status) \
51 __carma_checkCublasStatus(status, __LINE__, __FILE__)
70 template <
class T_data>
74 template <
class T_data>
78 template <
class T_data>
79 T_data
carma_getasum(cublasHandle_t cublas_handle,
int n,
const T_data *vect,
82 template <
class T_data>
83 cublasStatus_t
carma_axpy(cublasHandle_t cublas_handle,
int n,
84 const T_data alpha,
const T_data *vectx,
int incx,
85 T_data *vecty,
int incy);
87 template <
class T_data>
88 T_data
carma_dot(cublasHandle_t cublas_handle,
int n, T_data *vectx,
int incx,
89 T_data *vecty,
int incy);
91 template <
class T_data>
92 T_data
carma_nrm2(cublasHandle_t cublas_handle,
int n, T_data *vect,
int incx);
94 template <
class T_data>
95 cublasStatus_t
carma_rot(cublasHandle_t cublas_handle,
int n, T_data *vectx,
96 int incx, T_data *vecty,
int incy, T_data sc,
99 template <
class T_data>
100 cublasStatus_t
carma_scal(cublasHandle_t cublas_handle,
int n, T_data alpha,
101 T_data *vectx,
int incx);
103 template <
class T_data>
104 cublasStatus_t
carma_swap(cublasHandle_t cublas_handle,
int n, T_data *vectx,
105 int incx, T_data *vecty,
int incy);
107 template <
class T_data>
108 cublasStatus_t
carma_copy(cublasHandle_t cublas_handle,
int n,
109 const T_data *vectx,
int incx, T_data *vecty,
112 template <
class T_data>
113 cublasStatus_t
carma_gemv(cublasHandle_t cublas_handle,
char trans,
int m,
114 int n, T_data alpha, T_data *matA,
int lda,
115 T_data *vectx,
int incx, T_data beta, T_data *vecty,
118 template <
class T_data>
119 cublasStatus_t
carma_symv(cublasHandle_t cublas_handle,
char uplo,
int n,
120 T_data alpha, T_data *matA,
int lda, T_data *vectx,
121 int incx, T_data beta, T_data *vecty,
int incy);
123 template <
class T_data>
124 cublasStatus_t
carma_ger(cublasHandle_t cublas_handle,
int m,
int n,
125 T_data alpha, T_data *vectx,
int incx, T_data *vecty,
126 int incy, T_data *matA,
int lda);
128 template <
class T_data>
129 cublasStatus_t
carma_gemm(cublasHandle_t cublas_handle,
char transa,
130 char transb,
int m,
int n,
int k, T_data alpha,
131 T_data *matA,
int lda, T_data *matB,
int ldb,
132 T_data beta, T_data *matC,
int ldc);
134 template <
class T_data>
135 cublasStatus_t
carma_symm(cublasHandle_t cublas_handle,
char side,
char uplo,
136 int m,
int n, T_data alpha, T_data *matA,
int lda,
137 T_data *matB,
int ldb, T_data beta, T_data *matC,
140 template <
class T_data>
141 cublasStatus_t
carma_syrk(cublasHandle_t cublas_handle,
char uplo,
char transa,
142 int n,
int k, T_data alpha, T_data *matA,
int lda,
143 T_data beta, T_data *matC,
int ldc);
145 template <
class T_data>
146 cublasStatus_t
carma_syrkx(cublasHandle_t cublas_handle,
char uplo,
char transa,
147 int n,
int k, T_data alpha, T_data *matA,
int lda,
148 T_data *matB,
int ldb, T_data beta, T_data *matC,
151 template <
class T_data>
152 cublasStatus_t
carma_geam(cublasHandle_t cublas_handle,
char transa,
153 char transb,
int m,
int n, T_data alpha, T_data *matA,
154 int lda, T_data beta, T_data *matB,
int ldb,
155 T_data *matC,
int ldc);
157 template <
class T_data>
158 cublasStatus_t
carma_dgmm(cublasHandle_t cublas_handle,
char side,
int m,
int n,
159 const T_data *matA,
int lda,
const T_data *vectx,
160 int incx, T_data *matC,
int ldc);
cublasStatus_t carma_ger(cublasHandle_t cublas_handle, int m, int n, T_data alpha, T_data *vectx, int incx, T_data *vecty, int incy, T_data *matA, int lda)
cublasStatus_t carma_rot(cublasHandle_t cublas_handle, int n, T_data *vectx, int incx, T_data *vecty, int incy, T_data sc, T_data ss)
cublasStatus_t carma_gemv(cublasHandle_t cublas_handle, char trans, int m, int n, T_data alpha, T_data *matA, int lda, T_data *vectx, int incx, T_data beta, T_data *vecty, int incy)
T_data carma_dot(cublasHandle_t cublas_handle, int n, T_data *vectx, int incx, T_data *vecty, int incy)
T_data carma_getasum(cublasHandle_t cublas_handle, int n, const T_data *vect, int incx)
cublasStatus_t __carma_checkCublasStatus(cublasStatus_t status, int line, std::string file)
cublasStatus_t carma_shutdownCublas(cublasHandle_t cublas_handle)
cublasStatus_t carma_swap(cublasHandle_t cublas_handle, int n, T_data *vectx, int incx, T_data *vecty, int incy)
cublasStatus_t carma_syrkx(cublasHandle_t cublas_handle, char uplo, char transa, int n, int k, T_data alpha, T_data *matA, int lda, T_data *matB, int ldb, T_data beta, T_data *matC, int ldc)
cublasStatus_t carma_symm(cublasHandle_t cublas_handle, char side, char uplo, int m, int n, T_data alpha, T_data *matA, int lda, T_data *matB, int ldb, T_data beta, T_data *matC, int ldc)
cublasStatus_t carma_symv(cublasHandle_t cublas_handle, char uplo, int n, T_data alpha, T_data *matA, int lda, T_data *vectx, int incx, T_data beta, T_data *vecty, int incy)
T_data carma_nrm2(cublasHandle_t cublas_handle, int n, T_data *vect, int incx)
cublasStatus_t carma_axpy(cublasHandle_t cublas_handle, int n, const T_data alpha, const T_data *vectx, int incx, T_data *vecty, int incy)
int carma_where_amax(cublasHandle_t cublas_handle, int n, const T_data *vect, int incx)
cublasStatus_t carma_geam(cublasHandle_t cublas_handle, char transa, char transb, int m, int n, T_data alpha, T_data *matA, int lda, T_data beta, T_data *matB, int ldb, T_data *matC, int ldc)
cublasStatus_t carma_syrk(cublasHandle_t cublas_handle, char uplo, char transa, int n, int k, T_data alpha, T_data *matA, int lda, T_data beta, T_data *matC, int ldc)
cublasStatus_t carma_scal(cublasHandle_t cublas_handle, int n, T_data alpha, T_data *vectx, int incx)
cublasOperation_t carma_char2cublas_operation(char operation)
cublasStatus_t carma_copy(cublasHandle_t cublas_handle, int n, const T_data *vectx, int incx, T_data *vecty, int incy)
int carma_where_amin(cublasHandle_t cublas_handle, int n, const T_data *vect, int incx)
cublasStatus_t carma_gemm(cublasHandle_t cublas_handle, char transa, char transb, int m, int n, int k, T_data alpha, T_data *matA, int lda, T_data *matB, int ldb, T_data beta, T_data *matC, int ldc)
cublasStatus_t carma_dgmm(cublasHandle_t cublas_handle, char side, int m, int n, const T_data *matA, int lda, const T_data *vectx, int incx, T_data *matC, int ldc)
cublasStatus_t carma_initCublas(cublasHandle_t *cublas_handle)