cublasStatus_t cublasSgemm (
cublasHandle_t handle,
cublasOperation_t transa,
cublasOperation_t transb,
int m,
int n,
int k,
const float *alpha, /* host or device pointer */
const float *A,
int lda,
const float *B,
int ldb,
const float *beta, /* host or device pointer */
float *C,
int ldc);
在cublas里面所有矩阵都是使用列优先进行存储的,因此lda,ldb,ldc表示的是矩阵的行数。
矩阵OP(A)的维度是m×k
矩阵OP(B)的维度是k×n
矩阵C的维度是m×n
运算为C=alpha*A*B+beta*C
cublasHandle_t使用函数cublasCreate((cublasHandle_t *handle));进行申请,之后使用cublasDestroy_v2 (cublasHandle_t handle)进行释放。
cublasOperation_t 的值为CUBLAS_OP_N和CUBLAS_OP_T分别表示不转置和转置。