Printf внутри функции CUDA __global__C++

Программы на C++. Форум разработчиков
Anonymous
Printf внутри функции CUDA __global__

Сообщение Anonymous »

В настоящее время я пишу операцию умножения матриц на графическом процессоре и хотел бы отладить свой код, но поскольку я не могу использовать printf внутри функции устройства, могу ли я сделать что-нибудь еще, чтобы увидеть, что происходит внутри этой функции. Это моя текущая функция:

Код: Выделить всё

__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;
}
Мне хотелось бы знать, являются ли Ad и Bd тем, что я думаю, и посмотреть, действительно ли вызывается эта функция.

Подробнее здесь: https://stackoverflow.com/questions/217 ... l-function

Вернуться в «C++»