22 #ifndef CPP_INCLUDE_GPU_UTIL_H_ 23 #define CPP_INCLUDE_GPU_UTIL_H_ 27 #include <cuda_runtime_api.h> 28 #include <cuda_runtime.h> 29 #include <device_launch_parameters.h> 30 #include <cusolverDn.h> 39 void gpuAssert(cudaError_t,
const char *,
int,
bool);
45 cusolverStatus_t
GpuSvd(cusolverDnHandle_t solver_handle,
56 cusolverStatus_t
GpuSvd(cusolverDnHandle_t solver_handle,
87 int *devIpiv,
int *devInfo);
95 int *devIpiv,
int *devInfo);
98 cublasOperation_t trans,
109 cublasOperation_t trans,
151 cublasOperation_t trans,
154 const float *A,
int lda,
155 const float *x,
int incx,
160 cublasOperation_t trans,
163 const double *A,
int lda,
164 const double *x,
int incx,
166 double *y,
int incy);
174 const double &scalar,
197 const float *A,
int lda,
199 const float *B,
int ldb,
206 const double *A,
int lda,
208 const double *B,
int ldb,
254 #endif // CPP_INCLUDE_GPU_UTIL_H_ cublasStatus_t GpuMatrixScalarMul(cublasHandle_t handle, int n, const float &scalar, float *a)
void gpuErrchk(cudaError_t)
cublasStatus_t GpuFrobeniusNorm(cublasHandle_t handle, int n, int incx, float *a, float *c)
Definition: cpu_operations.h:36
cusolverStatus_t GpuLuWorkspace(cusolverDnHandle_t handle, int m, int n, float *a, int *worksize)
cublasStatus_t GpuVectorVectorDot(cublasHandle_t handle, int n, float *a, float *b, float *c)
void gpuAssert(cudaError_t, const char *, int, bool)
cusolverStatus_t GpuDeterminant(cusolverDnHandle_t handle, int m, int n, float *a, float *workspace, int *devIpiv, int *devInfo)
cusolverStatus_t GpuLinearSolver(cusolverDnHandle_t handle, cublasOperation_t trans, int n, int nrhs, const float *A, int lda, const int *devIpiv, float *B, int ldb, int *devInfo)
cublasStatus_t GpuMatrixMatrixMul(cublasHandle_t handle, int m, int n, int k, float *a, float *b, float *c)
cublasStatus_t GpuMatrixAdd(cublasHandle_t handle, int m, int n, const float *alpha, const float *A, int lda, const float *beta, const float *B, int ldb, float *C, int ldc)
cusolverStatus_t GpuGetLUDecompWorkspace(cusolverDnHandle_t handle, int m, int n, float *A, int lda, int *Lwork)
cublasStatus_t GpuMatrixMatrixSub(cublasHandle_t handle, int m, int n, const float *alpha, float *a, int lda, const float *beta, float *b, int ldb, float *c, int ldc)
cusolverStatus_t GpuSvd(cusolverDnHandle_t solver_handle, int M, int N, float *d_A, float *d_S, float *d_U, float *d_V, float *work, int work_size, int *devInfo)
cusolverStatus_t GpuLUDecomposition(cusolverDnHandle_t handle, int m, int n, float *A, int lda, float *Workspace, int *devIpiv, int *devInfo)
cublasStatus_t GpuMatrixVectorMul(cublasHandle_t handle, cublasOperation_t trans, int m, int n, const float *alpha, const float *A, int lda, const float *x, int incx, const float *beta, float *y, int incy)