11#ifndef _CU_BASIC_ALGEBRA_CUBLAS_IMPL_H_
12#define _CU_BASIC_ALGEBRA_CUBLAS_IMPL_H_
20 #pragma warning(push, 0)
21 #include <cublas_v2.h>
23#elif defined(__INTEL_LLVM_COMPILER) || defined(__INTEL_COMPILER)
24 #pragma warning(push, 0)
25 #include <cublas_v2.h>
27#elif defined(__GNUC__) || defined(__clang__)
28 #pragma GCC diagnostic push
29 #pragma GCC diagnostic ignored "-Wswitch-enum"
30 #include <cublas_v2.h>
31 #pragma GCC diagnostic pop
33 #include <cublas_v2.h>
44 #define RESTRICT __restrict
45#elif defined(__INTEL_COMPILER)
46 #define RESTRICT __restrict
47#elif defined(__CUDA__) || defined(__GNUC__) || defined(__clang__)
48 #define RESTRICT __restrict__
98 template <
typename DataType,
typename ComputeType>
100 cublasOperation_t trans,
113 template <
typename DataType>
122 template <
typename DataType>
132 template <
typename DataType,
typename ComputeType>
142 template <
typename DataType,
typename ComputeType>
150 template <
typename DataType>
Templated implenentations of several BLAS-type functions in CUDA.
cudaError_t cublasTaxpy(int n, const DataType *RESTRICT alpha, const DataType *RESTRICT x, int incx, DataType *RESTRICT y, int incy)
Performs .
cudaError_t cublasTgemv(cublasOperation_t trans, int m, int n, const DataType *RESTRICT alpha, const DataType *RESTRICT A, int lda, const DataType *RESTRICT x, int incx, const DataType *RESTRICT beta, DataType *RESTRICT y, int incy)
Performs .
cudaError_t cublasTdot(int n, const DataType *RESTRICT x, int incx, const DataType *RESTRICT y, int incy, DataType *RESTRICT result)
Computes .
cudaError_t cublasTcopy(int n, const DataType *RESTRICT x, int incx, DataType *RESTRICT y, int incy)
Performs .
cudaError_t cublasTnrm2(int n, const DataType *RESTRICT x, int incx, DataType *RESTRICT result)
Computes .
cudaError_t cublasTscal(int n, const DataType *RESTRICT alpha, DataType *RESTRICT x, int incx)
Performs .