私の問題はこれによく似ています。最も単純な CUDA プログラムを実行しましたが、カーネルが起動しません。ただし、複数のファイル (他の人から取得したもの) で構成される複雑な CUDA プロジェクトを問題なく実行できるため、CUDA のインストールは問題ないと確信しています。これらのプロジェクトでは、コンパイルとリンクは、多くのフラグを持つメイクファイルを介して行われます。問題は、コンパイル中に使用する正しいフラグにあると思います。私は単に次のようなコマンドを使用します:
nvcc -arch=sm_20 -lcudart test.cu
そのようなプログラムで (Linux マシンで実行するため):
__global__ void myKernel()
{
cuPrintf("Hello, world from the device!\n");
}
int main()
{
cudaPrintfInit();
myKernel<<<1,10>>>();
cudaPrintfDisplay(stdout, true);
cudaPrintfEnd();
}
プログラムは正しくコンパイルされます。cudaMemcpy() 操作を追加すると、エラーは返されません。カーネルが起動しない理由について何か提案はありますか?