2

私のラボでは、Tesla C2070 を受け取りました。このカードは、Windows サーバー 64 ビットを実行しているマシンにインストールされています。私はいくつかのcudaシミュレーションを書くことになっています。SDK および CUDA ツールキットの 64 ビット バージョンをインストールする必要がありますか? 私が尋ねている理由は、コンパイルに Visual C++ Express を使用したいのですが、実際には 32 ビット指向のように見えるからです。または、その制限から完全に解放される別のコンパイラがありますか?

ありがとう。

編集 1 回答ありがとうございます。これまでのところ、32 ビットの cuda / openCL コードをコンパイルできます。SDK をインストールした後、ターゲットを 64 に変更し、64b lib にリンクしても、まだ機能しません。

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations\CUDA 4.2.targets(361,9): error MSB3721: The command ""C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.2\bin\nvcc.exe" -gencode=arch=compute_10,code=\"sm_10,compute_10\" --use-local-env --cl-version  -ccbin "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\x86_amd64"  -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.2\include"  -G  --keep-dir "x64\Debug" -maxrregcount=0  --machine 64 --compile  -g    -Xcompiler "/EHsc /nologo /Od /Zi  /MDd  " -o "x64\Debug\test.cu.obj" "c:\Users\A\Documents\Visual Studio 2010\Projects\cudaTest2\cudaTest2\test.cu"" exited with code -1.

最後に、gpgpu シミュレーションについて話すときに 64 ビット アプリにコンパイルするポイントはありますか? つまり、ホスト上で実行されているコードはほとんど何もなく、gpu 上で実行されているコードは nvcc によってコンパイルされているため、32 または 64 のどちらを選択しても問題ありません... 私は間違っていますか (おそらく) ?

4

2 に答える 2

2

これはあなたが尋ねたものではありませんが...

Visual C++ Express は、64 ビット プログラムを正常にコンパイルします。Express は64 ビット コンパイラと一緒に配布されていませんが、コンパイラは個別にダウンロードされます。

Microsoft Windows SDK 7.1をインストールすると、Microsoft Visual C++ Express で x64 用にコンパイルできるようになります。

于 2012-09-03T05:05:01.663 に答える
2

バージョン 32Bit と 64Bit の両方のライブラリがあるため、64Bit OS 用の 64bit SDK をダウンロードする必要があります。ビジュアル C++ 32Bit アプリケーションの場合は、32Bit ライブラリを使用する必要があります。

たとえば、私の場合: 私は 64 ビット Windows7 OS を使用しています。これには 64 ビット CUDA SDK を使用し、Visual Studio 2008 で 32 ビット C++ アプリケーションを開発するために、SDK でエクスポートされた cuda の 32 ビット ライブラリを使用しました。

于 2012-09-03T08:48:25.633 に答える