15 #ifdef ETL_CUBLAS_MODE 17 #include "etl/impl/cublas/cuda.hpp" 24 #ifdef ETL_CUBLAS_MODE 36 inline void cublas_axpy(cublasHandle_t handle,
size_t n,
const float* alpha,
const float* A,
size_t lda,
float* B,
size_t ldb) {
37 cublas_check(cublasSaxpy(handle, n, alpha, A, lda, B, ldb));
50 inline void cublas_axpy(cublasHandle_t handle,
size_t n,
const double* alpha,
const double* A,
size_t lda,
double* B,
size_t ldb) {
51 cublas_check(cublasDaxpy(handle, n, alpha, A, lda, B, ldb));
64 inline void cublas_axpy(
65 cublasHandle_t handle,
size_t n,
const std::complex<float>* alpha,
const std::complex<float>* A,
size_t lda, std::complex<float>* B,
size_t ldb) {
67 cublasCaxpy(handle, n, reinterpret_cast<const cuComplex*>(alpha), reinterpret_cast<const cuComplex*>(A), lda, reinterpret_cast<cuComplex*>(B), ldb));
80 inline void cublas_axpy(
81 cublasHandle_t handle,
size_t n,
const std::complex<double>* alpha,
const std::complex<double>* A,
size_t lda, std::complex<double>* B,
size_t ldb) {
82 cublas_check(cublasZaxpy(handle, n, reinterpret_cast<const cuDoubleComplex*>(alpha), reinterpret_cast<const cuDoubleComplex*>(A), lda,
83 reinterpret_cast<cuDoubleComplex*>(B), ldb));
96 inline void cublas_axpy(
99 cublasCaxpy(handle, n, reinterpret_cast<const cuComplex*>(alpha), reinterpret_cast<const cuComplex*>(A), lda, reinterpret_cast<cuComplex*>(B), ldb));
112 inline void cublas_axpy(
114 cublas_check(cublasZaxpy(handle, n, reinterpret_cast<const cuDoubleComplex*>(alpha), reinterpret_cast<const cuDoubleComplex*>(A), lda,
115 reinterpret_cast<cuDoubleComplex*>(B), ldb));
Complex number implementation.
Definition: complex.hpp:31
Utility functions for cublas.