我正在cuda
进行矩形矩阵乘法,但我无法使用适当的网格和块大小启动内核。我试过很多配置。我的矩阵大小为189*1024
和1024*100
。
任何人都可以帮我解决这个问题吗?
__global__ void matrixMultiply(float * C, float * A, float * B,
int numARows, int numAColumns,
int numBRows, int numBColumns,
int numCRows, int numCColumns) {
//@@ Insert code to implement matrix multiplication here
int Row = blockIdx.y * blockDim.y + threadIdx.y;
int Col = blockIdx.x * blockDim.x + threadIdx.x;
if (numAColumns != numBRows) return;
if ((Row < numARows) && (Col < numBColumns)){
float Cvalue = 0;
for (int k = 0; k < numAColumns; ++k)
Cvalue += A[Row*numAColumns + k] * B[k * numBColumns + Col];
C[Row*numCColumns + Col] = Cvalue;
}
}
这是我正在使用的全局函数 和gridsize是numCColumns / 8 numCRow / 8 blocksize是[8 8]