Je suis en train d'écrire une multiplication matricielle sur un GPU et je voudrais déboguer mon code, mais comme je ne peux pas utiliser printf dans une fonction d'appareil, y at-il autre chose que je puisse faire pour voir ce qui se passe à l'intérieur de cette fonction. Cette ma fonction actuelle:printf inside CUDA __global__ function
__global__ void MatrixMulKernel(Matrix Ad, Matrix Bd, Matrix Xd){
int tx = threadIdx.x;
int ty = threadIdx.y;
int bx = blockIdx.x;
int by = blockIdx.y;
float sum = 0;
for(int k = 0; k < Ad.width ; ++k){
float Melement = Ad.elements[ty * Ad.width + k];
float Nelement = Bd.elements[k * Bd.width + tx];
sum += Melement * Nelement;
}
Xd.elements[ty * Xd.width + tx] = sum;
}
J'aimerais savoir si Ad et Bd est ce que je pense, et voir si cette fonction est en fait appelé.
Pourquoi ne pas utiliser cuda-gdb? – Bear