imate
C++/CUDA Reference
Loading...
Searching...
No Matches
cublas_api.cu File Reference
#include "./cublas_api.h"
#include <cuda_runtime.h>
#include "../_cu_definitions/cu_types.h"
#include "./cublas_impl.h"

Go to the source code of this file.

Namespaces

namespace  cublas_api
 A collection of templates to wrapper cublas functions.
 

Functions

template<>
cublasStatus_t cublas_api::cublasXgemv< float > (cublasHandle_t handle, cublasOperation_t trans, int m, int n, const float *RESTRICT alpha, const float *RESTRICT A, int lda, const float *RESTRICT x, int incx, const float *RESTRICT beta, float *RESTRICT y, int incy)
 Performs \( \boldsymbol{y} = \alpha \text{op}(\mathbf{A}) \boldsymbol{x} + \beta \boldsymbol{y} \).
 
template<>
cublasStatus_t cublas_api::cublasXgemv< double > (cublasHandle_t handle, cublasOperation_t trans, int m, int n, const double *RESTRICT alpha, const double *RESTRICT A, int lda, const double *RESTRICT x, int incx, const double *RESTRICT beta, double *RESTRICT y, int incy)
 Performs \( \boldsymbol{y} = \alpha \text{op}(\mathbf{A}) \boldsymbol{x} + \beta \boldsymbol{y} \).
 
template<>
cublasStatus_t cublas_api::cublasXcopy< float > (cublasHandle_t handle, int n, const float *RESTRICT x, int incx, float *RESTRICT y, int incy)
 Performs \( \boldsymbol{y} = \boldsymbol{x} \) in __half type.
 
template<>
cublasStatus_t cublas_api::cublasXcopy< double > (cublasHandle_t handle, int n, const double *RESTRICT x, int incx, double *RESTRICT y, int incy)
 Performs \( \boldsymbol{y} = \boldsymbol{x} \) in double type.
 
template<>
cublasStatus_t cublas_api::cublasXaxpy< float > (cublasHandle_t handle, int n, const float *RESTRICT alpha, const float *RESTRICT x, int incx, float *RESTRICT y, int incy)
 Performs \( \boldsymbol{y} = \alpha \boldsymbol{x} + \boldsymbol{y} \) on __half precision.
 
template<>
cublasStatus_t cublas_api::cublasXaxpy< double > (cublasHandle_t handle, int n, const double *RESTRICT alpha, const double *RESTRICT x, int incx, double *RESTRICT y, int incy)
 Performs \( \boldsymbol{y} = \alpha \boldsymbol{x} + \boldsymbol{y} \) on double precision.
 
template<>
cublasStatus_t cublas_api::cublasXdot< float > (cublasHandle_t handle, int n, const float *RESTRICT x, int incx, const float *RESTRICT y, int incy, float *RESTRICT result)
 Performs \( \boldsymbol{y} = \boldsymbol{x} \cdot \boldsymbol{y} \) on __half precision.
 
template<>
cublasStatus_t cublas_api::cublasXdot< double > (cublasHandle_t handle, int n, const double *RESTRICT x, int incx, const double *RESTRICT y, int incy, double *RESTRICT result)
 Performs \( \boldsymbol{y} = \boldsymbol{x} \cdot \boldsymbol{y} \) on double precision.
 
template<>
cublasStatus_t cublas_api::cublasXnrm2< float > (cublasHandle_t handle, int n, const float *RESTRICT x, int incx, float *RESTRICT result)
 Performs \( \boldsymbol{y} = \boldsymbol{x} \cdot \boldsymbol{x} \) on __half precision.
 
template<>
cublasStatus_t cublas_api::cublasXnrm2< double > (cublasHandle_t handle, int n, const double *RESTRICT x, int incx, double *RESTRICT result)
 Performs \( \boldsymbol{y} = \boldsymbol{x} \cdot \boldsymbol{x} \) on double precision.
 
template<>
cublasStatus_t cublas_api::cublasXscal< float > (cublasHandle_t handle, int n, const float *RESTRICT alpha, float *RESTRICT x, int incx)
 Performs \( \boldsymbol{x} = \alpha \boldsymbol{x} \) on __half precision.
 
template<>
cublasStatus_t cublas_api::cublasXscal< double > (cublasHandle_t handle, int n, const double *RESTRICT alpha, double *RESTRICT x, int incx)
 Performs \( \boldsymbol{x} = \alpha \boldsymbol{x} \) on double precision.