CUDA で動的並列処理を使用しようとしていますが、コンパイル手順を実行できません。
Compute Capability 3.5 と CUDA バージョン 7.5 を搭載した GPU に取り組んでいます。
使用するコンパイル コマンドのスイッチに応じて、さまざまなエラー メッセージが表示されますが、ドキュメントを使用すると、
コンパイルが成功する 1 行にたどり着きました。
nvcc -arch=compute_35 -rdc=true cudaDynamic.cu -o cudaDynamic.out -lcudadevrt
しかし、プログラムを起動すると、すべてのプログラムが失敗します。CUDA-memcheck を使用すると、API 関数を呼び出すたびに、同じエラー メッセージが表示されます。
========= CUDA-MEMCHECK ========= Program hit cudaErrorUnknown (error 30) due to "unknown error" on CUDA API call to ...
この行も試しました(CUDA動的サンプルmakefileから取得):
nvcc -ccbin g++ -I../../common/inc -m64 -dc -gencode arch=compute_35,code=compute_35 -o cudaDynamic.out -c cudaDynamic.cu
しかし、実行すると、次のようになります。
cudaDynamic.out: Permission denied
これまでに試した他のすべてのコンパイル行が失敗したため、CUDA 動的コードを正しくコンパイルする方法を理解したいと思います。