0
我正在嘗試在CUDA中實現矩陣乘積: 第一個矩陣是3D矩陣(N,M,Z),第二個矩陣是2D矩陣(M,L)。 我看不出這個乘法的代碼有什麼問題。 有人可以幫我解決這個問題嗎? 謝謝CUDA中的3D矩陣乘法
這裏是我的內核:
__global__ void matrixMul(float * A, float * B, float * C,int N, int M, int Z, int L) {
int idx = blockIdx.x*blockDim.x + threadIdx.x;
int idy = blockIdx.y*blockDim.y + threadIdx.y;
for(int z=0; z<width; z++){
C[idx*width+idy] += A[idy + idx*width ]*B[idx*width+idy+z*width*height];
}
}
究竟是什麼問題?將內核命名爲「matrixMult」而不是「matrixAdd」會不會更好? – Stefan 2013-04-23 10:02:55
您正試圖計算超矩陣產品?或者是其他東西? – talonmies 2013-04-23 10:06:37
你好,我的isssue是獲得我的結果的最快方法。我正在嘗試運行此產品的併發計算。我對我的索引有疑問。我認爲C(i,j,t)= sum i = 1到n(a(r + it)* B(i,t)...前面的索引給出了一些奇怪的結果。 – ALFRAM 2013-04-23 10:11:52