Como usamos o cuPrintf ()?
O que temos que fazer para usar o cuPrintf ()? (capacidade de computação do dispositivo 1.2, Ubuntu 12) Não consegui encontrar "cuPrintf.cu" e "cudaPrintf.cuh", então baixei o código deles e incluí-os:
#include "cuPrintf.cuh"
#include "cuPrintf.cu"
Aliás, este é o resto do código:
__global__ void hello_kernel (float f) {
printf ("Thread number %d. f = %d\n", threadIdx.x, f);
}
int main () {
dim3 gridSize = dim3 (1);
dim3 blockSize = dim3 (16);
cudaPrintfInit ();
hello_kernel <<< gridSize, blockSize >>> (1.2345f);
cudaPrintfDisplay (stdout, true);
cudaPrintfEnd ();
return (0);
}
Mas o nvcc ainda comete um erro:
max@max-Lenovo-G560:~/CUDA/matrixMult$ nvcc printfTest.cu -o printfTest
printfTest.cu(5): error: calling a __host__ function("printf") from a __global__
function("hello_kernel") is not allowed
Obrigado!