0

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 動的コードを正しくコンパイルする方法を理解したいと思います。

4

1 に答える 1

0

CUDAを完全に再インストールすることで問題を解決しました。

これで、CUDA サンプルと自分のコードの両方をコンパイルできるようになりました。

于 2016-06-24T11:49:48.237 に答える