2

CUDA 互換の NVIDIA 3100m を搭載した Core i5 で Windows 7 Pro x64 を実行しています。

NVIDIA の 32 ビットと 64 ビットの両方の CUDA ツールキットをインストールしようとしましたが、残念ながらどちらでもコンパイルできません。nvcc は、「サポートされている cl バージョンが見つかりません。サポートされているのは MSVC 8.0 と MSVC 9.0 だけです」と言います。

Windows 7 SDK を介して x86 および x86-64 コンパイラをインストールしました (両方のアーキテクチャのコンパイラ バージョン 15.00.30729.01)。どちらのコンパイラも正しく動作しています。それらを使用して C および C++ コードをビルドおよびテストしました。32 ビットと 64 ビットの両方のコンパイル用に設定されたコマンド シェルから nvcc を実行し、nvcc に -ccbin コマンド ライン オプションを使用して Visual C++ インストール ディレクトリを指すようにしました。

このセットアップを処理する正しい方法は何ですか? 何が起こっているかについて nvcc をより詳細にする方法はありますか? -v フラグはあまり役に立ちません。理想的には、何を見つけているのか、何を期待しているのかを示す何らかの方法です。代わりに Visual C++ Express をインストールするとうまくいきますか? それとも、CUDA での使用がサポートされているのは VC++ の商用バージョンのみですか?

4

4 に答える 4

7

この行を含める

コンパイラ-bindir=C:\ Program Files(x86)\ Microsoft Visual Studio 9.0 \ VC \ bin

C:\ CUDA \ bin64 \ nvcc.profile

于 2010-11-11T16:57:06.863 に答える
4

CUDA v6.0 では、古いバージョンの Visual Studio (私は 2010 を使用しています) が引き続き必要ですが、他のソリューションは機能しませんでした。

これを機能させるには、nvcc.profile (C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v6.0/bin/nvcc.profile) に次を追加します。

CUDA_NVCC_FLAGS += --compiler-bindir = "-IE:/PROGRA~2/MICROS~2.0/VC/bin"

私はVS 2013もインストールしています.nvccがcl.exeの新しい(残念ながら互換性のない)バージョンを見つけるのを防ぐために、この引数が必要でした.

于 2014-06-12T22:51:31.503 に答える
2

Visual Studio 2005または2008をインストールしていないようですが、コンパイラのバージョン番号はMSVC9.0であることを示しています。すべてを機能させる最も簡単な方法は、Visual Studisoをインストールすることであり、Expressが機能すると思います。

また、 Nvidiaフォーラムでこのトピックを確認することをお勧めします

于 2010-05-05T21:22:08.113 に答える
1

CUDA 6.5 を VS 2010 Express で動作させようとしていました。VS 2010 Express をアンインストールした後、Windows SDK 7.1 をインストールして VS 2010 Express を再インストールし、Windows SDK 7.1 をツール セットとして設定するなどしましたが、何も機能しませんでした。最終的に私にとってうまくいったのは、CUDA_NVCC_FLAGSに以下を追加することでした:

--cl-version 2010

以下を追加する必要がある場合もあります。

--machine 32

最初にコマンドラインで適切なフラグを試しました。

このリンクはとても役に立ちました

于 2014-12-22T11:11:14.813 に答える