CULA的矩阵相乘:
culaDeviceDgemm('N','N',n,m,k,alpha,
b_device,n, //b k x na_device,k, //a m x k
beta,
c_device,n);
上式表示:C=A*B的矩阵相乘方法,而且数据类型为double,也可以使用float类型数据的函数:culaDeviceSgemm,对应float类型数据,'N'表示不进行转置,'T'表示A或B转置相乘
其中:
b_device是B矩阵,大小为k x n;
a_device是A矩阵,大小为m x k;
c_device是C矩阵,大小为m x n;
double alpha=1;
double beta=0;
CUBLAS矩阵相乘:
cublasDgemm(handle,CUBLAS_OP_N,CUBLAS_OP_N,n,m,k,&alpha,
b_device,n,
a_device,k,
&beta,c_device,n);
意义和CULA相同,CUBLAS_OP_N在CULA中对应的是'N',CUBLAS_OP_T在CULA中对应的是'T',也同样对应的有cublasSgemm等函数提供不同的数据类型进行使用