コマンドプロンプトを使用してWindows 7でcudaテストプログラムをコンパイルしようとしています。このコマンドです。
nvcc test.cu
しかし、私が得るすべてはこのエラーです:
nvcc fatal : Cannot find compiler 'cl.exe' in PATH
このエラーの原因は何ですか?
「cl.exe」ファイルを含むフォルダーをパス環境変数に追加する必要があります。例えば:
C:\Program Files\Microsoft Visual Studio 10.0\VC\bin
編集:OK、[マイコンピュータ]-> [プロパティ]-> [システムの詳細設定]-> [環境変数]に移動します。ここでリストで「パス」を探し、上記のパス(またはcl.exeの場所)を追加します。
このオプションをnvccに追加して、この問題を解決します
nvcc x.cu ... -ccbin "D:\Program Files\Microsoft Visual Studio 11.0\VC\bin"
たとえば、私のコンパイラはVS2012です。 cl.exeはこのディレクトリにあります
cl.exe
は、MicrosoftのC/C++コンパイラです。そのため、問題は、コマンドラインで見つけることができる場所にインストールされていないことです。
nvccは、プログラムのCUDA固有の部分のフロントエンドにすぎません。ジョブを完了するには、完全なコンパイラーを呼び出す必要があります。この場合、Visual Studioコンパイラ「cl.exe」が見つかりません
パス、nvccのドキュメントなどを確認してください。
これは古い質問ですが、最近、CUDAプロジェクトをビルドしようとしたときに、Visual Studio 2012でこのエラーが発生しました。どうやらCUDAプロジェクトを2012年11月パックに変更し、通常はデフォルトでこのエラーが修正されたv110に戻しました。
Visual Studioで、CUDAプロジェクトを左クリックし、-> properties-> Configuration Properties-> General-> Platform toolsetを選択して、Visual Studio 2012(v110)を選択します。
おそらく2012年11月のパックで動作させることができますが、CUDAコードはそのパックの追加機能を使用しないため、必要ありません。 (このパックには、C++ 11の可変テンプレートが含まれています。)