web-dev-qa-db-ja.com

コマンドプロンプトからのCUDAのコンパイルエラー

コマンドプロンプトを使用してWindows 7でcudaテストプログラムをコンパイルしようとしています。このコマンドです。

nvcc test.cu

しかし、私が得るすべてはこのエラーです:

nvcc fatal : Cannot find compiler 'cl.exe' in PATH

このエラーの原因は何ですか?

34
Imperian

「cl.exe」ファイルを含むフォルダーをパス環境変数に追加する必要があります。例えば:

C:\Program Files\Microsoft Visual Studio 10.0\VC\bin

編集:OK、[マイコンピュータ]-> [プロパティ]-> [システムの詳細設定]-> [環境変数]に移動します。ここでリストで「パス」を探し、上記のパス(またはcl.exeの場所)を追加します。

40
Tudor

このオプションをnvccに追加して、この問題を解決します

nvcc x.cu ...   -ccbin "D:\Program Files\Microsoft Visual Studio 11.0\VC\bin"

たとえば、私のコンパイラはVS2012です。 cl.exeはこのディレクトリにあります

16
Prof. Hell

cl.exeは、MicrosoftのC/C++コンパイラです。そのため、問題は、コマンドラインで見つけることができる場所にインストールされていないことです。

3
Chris Dodd

nvccは、プログラムのCUDA固有の部分のフロントエンドにすぎません。ジョブを完了するには、完全なコンパイラーを呼び出す必要があります。この場合、Visual Studioコンパイラ「cl.exe」が見つかりません

パス、nvccのドキュメントなどを確認してください。

1
Steve Fallows

これは古い質問ですが、最近、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の可変テンプレートが含まれています。)

0
Donna