af_matmul/af_gemm/cublas_gemm

C interface for Matrix Multiplication. More...

afError af_gemm_S (char TRANSA, char TRANSB, int M, int N, int K, float ALPHA, const float *d_A, int LDA, const float *d_B, int LDB, float BETA, float *d_C, int LDC, unsigned batch_A=0, unsigned batch_B=0)
 
afError af_gemm_D (char TRANSA, char TRANSB, int M, int N, int K, double ALPHA, const double *d_A, int LDA, const double *d_B, int LDB, double BETA, double *d_C, int LDC, unsigned batch_A=0, unsigned batch_B=0)
 Double precision, Real matrix multiply. More...
 
afError af_gemm_C (char TRANSA, char TRANSB, int M, int N, int K, cfloat ALPHA, const cfloat *d_A, int LDA, const cfloat *d_B, int LDB, cfloat BETA, cfloat *d_C, int LDC, unsigned batch_A=0, unsigned batch_B=0)
 Single precision, Complex matrix multiply. More...
 
afError af_gemm_Z (char TRANSA, char TRANSB, int M, int N, int K, cdouble ALPHA, const cdouble *d_A, int LDA, const cdouble *d_B, int LDB, cdouble BETA, cdouble *d_C, int LDC, unsigned batch_A=0, unsigned batch_B=0)
 Double precision, Complex matrix multiply. More...
 
afError af_matmul_SS (const float *d_A, const float *d_B, float *d_C, int M, int N, int K, unsigned batch_A=0, unsigned batch_B=0)
 Mixed precision, mixed complexity matrix multiply. More...
 
afError af_matmul_DS (const double *d_A, const float *d_B, float *d_C, int M, int N, int K, unsigned batch_A=0, unsigned batch_B=0)
 
afError af_matmul_SD (const float *d_A, const double *d_B, float *d_C, int M, int N, int K, unsigned batch_A=0, unsigned batch_B=0)
 
afError af_matmul_DD (const double *d_A, const double *d_B, double *d_C, int M, int N, int K, unsigned batch_A=0, unsigned batch_B=0)
 
afError af_matmul_CS (const cfloat *d_A, const float *d_B, cfloat *d_C, int M, int N, int K, unsigned batch_A=0, unsigned batch_B=0)
 
afError af_matmul_ZS (const cdouble *d_A, const float *d_B, cfloat *d_C, int M, int N, int K, unsigned batch_A=0, unsigned batch_B=0)
 
afError af_matmul_CD (const cfloat *d_A, const double *d_B, cfloat *d_C, int M, int N, int K, unsigned batch_A=0, unsigned batch_B=0)
 
afError af_matmul_ZD (const cdouble *d_A, const double *d_B, cdouble *d_C, int M, int N, int K, unsigned batch_A=0, unsigned batch_B=0)
 
afError af_matmul_SC (const float *d_A, const cfloat *d_B, cfloat *d_C, int M, int N, int K, unsigned batch_A=0, unsigned batch_B=0)
 
afError af_matmul_DC (const double *d_A, const cfloat *d_B, cfloat *d_C, int M, int N, int K, unsigned batch_A=0, unsigned batch_B=0)
 
afError af_matmul_SZ (const float *d_A, const cdouble *d_B, cfloat *d_C, int M, int N, int K, unsigned batch_A=0, unsigned batch_B=0)
 
afError af_matmul_DZ (const double *d_A, const cdouble *d_B, cdouble *d_C, int M, int N, int K, unsigned batch_A=0, unsigned batch_B=0)
 
afError af_matmul_CC (const cfloat *d_A, const cfloat *d_B, cfloat *d_C, int M, int N, int K, unsigned batch_A=0, unsigned batch_B=0)
 
afError af_matmul_ZC (const cdouble *d_A, const cfloat *d_B, cfloat *d_C, int M, int N, int K, unsigned batch_A=0, unsigned batch_B=0)
 
afError af_matmul_CZ (const cfloat *d_A, const cdouble *d_B, cfloat *d_C, int M, int N, int K, unsigned batch_A=0, unsigned batch_B=0)
 
afError af_matmul_ZZ (const cdouble *d_A, const cdouble *d_B, cdouble *d_C, int M, int N, int K, unsigned batch_A=0, unsigned batch_B=0)
 

Detailed Description

C interface for Matrix Multiplication.

Detailed description of matmul TODO:

Function Documentation

afError af_gemm_S ( char  TRANSA,
char  TRANSB,
int  M,
int  N,
int  K,
float  ALPHA,
const float *  d_A,
int  LDA,
const float *  d_B,
int  LDB,
float  BETA,
float *  d_C,
int  LDC,
unsigned  batch_A = 0,
unsigned  batch_B = 0 
)
Parameters
TRANSAMust be 'N' indicating non-transposed
TRANSBMust be 'N' indicating non-transposed.
MRows of A and C
NColumns of B and C
KColumns of A and rows of B
ALPHAMust be 1.0
[in]d_ALeft matrix (A).
[in]LDATODO:
[in]d_BRight matrix (B).
[in]LDBTODO:
[out]d_COutput matrix (C).
[in]LDCTODO:
BETAMust be 0.0
batch_ANumber of tiles in matrix A
batch_BNumber of tiles in matrix ASingle precision, Real matrix multiply
afError af_gemm_D ( char  TRANSA,
char  TRANSB,
int  M,
int  N,
int  K,
double  ALPHA,
const double *  d_A,
int  LDA,
const double *  d_B,
int  LDB,
double  BETA,
double *  d_C,
int  LDC,
unsigned  batch_A = 0,
unsigned  batch_B = 0 
)

Double precision, Real matrix multiply.

afError af_gemm_C ( char  TRANSA,
char  TRANSB,
int  M,
int  N,
int  K,
cfloat  ALPHA,
const cfloat d_A,
int  LDA,
const cfloat d_B,
int  LDB,
cfloat  BETA,
cfloat d_C,
int  LDC,
unsigned  batch_A = 0,
unsigned  batch_B = 0 
)

Single precision, Complex matrix multiply.

afError af_gemm_Z ( char  TRANSA,
char  TRANSB,
int  M,
int  N,
int  K,
cdouble  ALPHA,
const cdouble d_A,
int  LDA,
const cdouble d_B,
int  LDB,
cdouble  BETA,
cdouble d_C,
int  LDC,
unsigned  batch_A = 0,
unsigned  batch_B = 0 
)

Double precision, Complex matrix multiply.

afError af_matmul_SS ( const float *  d_A,
const float *  d_B,
float *  d_C,
int  M,
int  N,
int  K,
unsigned  batch_A = 0,
unsigned  batch_B = 0 
)

Mixed precision, mixed complexity matrix multiply.

afError af_matmul_DS ( const double *  d_A,
const float *  d_B,
float *  d_C,
int  M,
int  N,
int  K,
unsigned  batch_A = 0,
unsigned  batch_B = 0 
)
afError af_matmul_SD ( const float *  d_A,
const double *  d_B,
float *  d_C,
int  M,
int  N,
int  K,
unsigned  batch_A = 0,
unsigned  batch_B = 0 
)
afError af_matmul_DD ( const double *  d_A,
const double *  d_B,
double *  d_C,
int  M,
int  N,
int  K,
unsigned  batch_A = 0,
unsigned  batch_B = 0 
)
afError af_matmul_CS ( const cfloat d_A,
const float *  d_B,
cfloat d_C,
int  M,
int  N,
int  K,
unsigned  batch_A = 0,
unsigned  batch_B = 0 
)
afError af_matmul_ZS ( const cdouble d_A,
const float *  d_B,
cfloat d_C,
int  M,
int  N,
int  K,
unsigned  batch_A = 0,
unsigned  batch_B = 0 
)
afError af_matmul_CD ( const cfloat d_A,
const double *  d_B,
cfloat d_C,
int  M,
int  N,
int  K,
unsigned  batch_A = 0,
unsigned  batch_B = 0 
)
afError af_matmul_ZD ( const cdouble d_A,
const double *  d_B,
cdouble d_C,
int  M,
int  N,
int  K,
unsigned  batch_A = 0,
unsigned  batch_B = 0 
)
afError af_matmul_SC ( const float *  d_A,
const cfloat d_B,
cfloat d_C,
int  M,
int  N,
int  K,
unsigned  batch_A = 0,
unsigned  batch_B = 0 
)
afError af_matmul_DC ( const double *  d_A,
const cfloat d_B,
cfloat d_C,
int  M,
int  N,
int  K,
unsigned  batch_A = 0,
unsigned  batch_B = 0 
)
afError af_matmul_SZ ( const float *  d_A,
const cdouble d_B,
cfloat d_C,
int  M,
int  N,
int  K,
unsigned  batch_A = 0,
unsigned  batch_B = 0 
)
afError af_matmul_DZ ( const double *  d_A,
const cdouble d_B,
cdouble d_C,
int  M,
int  N,
int  K,
unsigned  batch_A = 0,
unsigned  batch_B = 0 
)
afError af_matmul_CC ( const cfloat d_A,
const cfloat d_B,
cfloat d_C,
int  M,
int  N,
int  K,
unsigned  batch_A = 0,
unsigned  batch_B = 0 
)
afError af_matmul_ZC ( const cdouble d_A,
const cfloat d_B,
cfloat d_C,
int  M,
int  N,
int  K,
unsigned  batch_A = 0,
unsigned  batch_B = 0 
)
afError af_matmul_CZ ( const cfloat d_A,
const cdouble d_B,
cfloat d_C,
int  M,
int  N,
int  K,
unsigned  batch_A = 0,
unsigned  batch_B = 0 
)
afError af_matmul_ZZ ( const cdouble d_A,
const cdouble d_B,
cdouble d_C,
int  M,
int  N,
int  K,
unsigned  batch_A = 0,
unsigned  batch_B = 0 
)