15#if defined(NDA_HAVE_CUDA)
19namespace nda::blas::f77 {
21 void axpy(
int n,
double alpha,
const double *x,
int incx,
double *y,
int incy);
24 void copy(
int n,
const double *x,
int incx,
double *y,
int incy);
27 double dot(
int m,
const double *x,
int incx,
const double *y,
int incy);
31 void gemm(
char op_a,
char op_b,
int m,
int n,
int k,
double alpha,
const double *a,
int lda,
const double *b,
int ldb,
double beta,
double *c,
33 void gemm(
char op_a,
char op_b,
int m,
int n,
int k,
dcomplex alpha,
const dcomplex *a,
int lda,
const dcomplex *b,
int ldb,
dcomplex beta,
36 void gemm_batch(
char op_a,
char op_b,
int m,
int n,
int k,
double alpha,
const double **a,
int lda,
const double **b,
int ldb,
double beta,
37 double **c,
int ldc,
int batch_count);
38 void gemm_batch(
char op_a,
char op_b,
int m,
int n,
int k,
dcomplex alpha,
const dcomplex **a,
int lda,
const dcomplex **b,
int ldb,
dcomplex beta,
39 dcomplex **c,
int ldc,
int batch_count);
41 void gemm_vbatch(
char op_a,
char op_b,
int *m,
int *n,
int *k,
double alpha,
const double **a,
int *lda,
const double **b,
int *ldb,
double beta,
42 double **c,
int *ldc,
int batch_count);
43 void gemm_vbatch(
char op_a,
char op_b,
int *m,
int *n,
int *k,
dcomplex alpha,
const dcomplex **a,
int *lda,
const dcomplex **b,
int *ldb,
46 void gemm_batch_strided(
char op_a,
char op_b,
int m,
int n,
int k,
double alpha,
const double *a,
int lda,
int stride_a,
const double *b,
int ldb,
47 int stride_b,
double beta,
double *c,
int ldc,
int stride_c,
int batch_count);
48 void gemm_batch_strided(
char op_a,
char op_b,
int m,
int n,
int k,
dcomplex alpha,
const dcomplex *a,
int lda,
int stride_a,
const dcomplex *b,
49 int ldb,
int stride_b,
dcomplex beta,
dcomplex *c,
int ldc,
int stride_c,
int batch_count);
51 void gemv(
char op,
int m,
int n,
double alpha,
const double *a,
int lda,
const double *x,
int incx,
double beta,
double *y,
int incy);
52 void gemv(
char op,
int m,
int n,
dcomplex alpha,
const dcomplex *a,
int lda,
const dcomplex *x,
int incx,
dcomplex beta,
dcomplex *y,
int incy);
54 void ger(
int m,
int n,
double alpha,
const double *x,
int incx,
const double *y,
int incy,
double *a,
int lda);
58 void scal(
int m,
double alpha,
double *x,
int incx);
61 void swap(
int n,
double *x,
int incx,
double *y,
int incy);
Provides a C++ interface for the GPU versions of various BLAS routines.
std::complex< double > dcomplex
Alias for std::complex<double> type.