cuPrintf() を使用するにはどうすればよいですか? (デバイス コンピューティング機能 1.2、Ubuntu 12) 「cuPrintf.cu」と「cudaPrintf.cuh」が見つからなかったので、それらのコードをダウンロードして含めました。
#include "cuPrintf.cuh"
#include "cuPrintf.cu"
ちなみに、これはコードの残りの部分です:
__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);
}
しかし、nvcc はまだ間違いを出します:
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
ありがとう!