我有兴趣了解在计算矩阵乘法(C = A * B)时如何在 GPU 上映射cublasSgemm
/例程。clAmdBlasSgemm
假设输入矩阵的维度 ::A_rows = 6144; A_cols = 12288; B_rows = 12288; B_cols = 15360;
和结果矩阵的维度 :: C_rows = 6144; C_cols = 15360;
假设我已经在主机上初始化了输入矩阵,并且我将矩阵数据复制到了设备内存中。之后,我调用以下程序cuBlas
或clAmdBlas
例程在 GPU 上进行矩阵乘法。
void cublasSgemm (char transa, char transb, int m, int n, int k, float alpha, const float *A, int lda, const float *B, int ldb, float beta, float *C, int ldc);
其中 m = A_rows;和 n = B_cols;
所以我的疑问是:
1.)这些例程是如何在 GPU 上实现的?
2.) m 和 n 值是否映射在一个计算单元 (SM) 上?如果否,那么 m 和 n 的最大值是多少?
3.) 我们是否可以控制线程/块?