Wie verwenden wir cuPrintf ()?
Was müssen wir tun, um cuPrintf () zu verwenden? (Geräterechnungsfähigkeit 1.2, Ubuntu 12) Ich konnte "cuPrintf.cu" und "cudaPrintf.cuh" nicht finden, also habe ich ihren Code heruntergeladen und sie eingeschlossen:
#include "cuPrintf.cuh"
#include "cuPrintf.cu"
Übrigens ist dies der Rest des Codes:
__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);
}
Aber nvcc macht immer noch einen Fehler:
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
Vielen Dank!