2

WindowsでCUDAコードをコンパイルする良い方法は何ですか?

Visual Studioとリンクし、nvccコマンドを使用してコマンドラインからコンパイルするなど、さまざまな方法で試しました。

VisualStudioの問題。インターネットで見つけたコンパイル用のリンクのほとんどをたどりましたが、それでも簡単なプログラムをコンパイルすることはできません。

nvccの問題。パスwindows.hが見つかりません。nvcc.profileにVisualStudioのインクルードパスを追加しようとしましたが、機能しませんか?

誰かがこれに対する良い解決策を持っていますか?

CUDA4.2とVisualStudio2010を使用しています。

4

2 に答える 2

4

これが私のアドバイスです。Visual Studio で CUDA をセットアップするための他の人のレシピを入手できます。しかし、nVidia が新しいキットをリリースしたり、次の Visual Studio に更新したりするたびに、最初からやり直すことになります。ほとんどの場合、ベンダーの 1 つが十分に放っておけなかったことが原因です (または、本当に正当な理由があったのかもしれません。それが起こる可能性があります)。

したがって、私のアドバイスは、nvccすべての依存関係を理解するまで、コマンド ラインから使用することです。そうすれば、IDE の設定に問題はありません。新しい CUDA が登場するたびに、コマンド ラインに戻ってビルドできることを確認し、パスの変更やツールの変更などを見つけます。理解できたら、IDE 設定を更新します。

于 2012-07-26T17:53:22.807 に答える
0

私も同じ問題を抱えていました。これが簡単な解決策です。

CUDA (GPU Computing SDK) のサンプルは正しく実行されます (Nvidia GPU Computing SDK がインストールされている必要があります)。スタートメニューを開き、テキスト ボックスに「Browse CUDA SDK」と入力します (Win Vista または Seven を使用してください)。

サンプルはsrcフォルダーにあります。このフォルダーのサンプルには、VS 2005、VS 2008、および VS 2010 のソリューションがあります。このソリューションとプロジェクトで設定されたすべての初期設定が含まれており、サンプルの 1 つをコピーしてコードをクリーンアップし、独自のコードを実行できます。唯一の問題は、設定ファイルがローカルでアドレス指定されていることです (たとえば../../common/lib/)。したがって、プロジェクトを正確にそのsrcフォルダーで実行する必要があります。

また、CUDA 4.0 および 4.1 には、Visual Studio の新規プロジェクト ウィザードに CUDA ランタイム オプションがありました。それは素晴らしいことでしたが、なぜ 4.2 でこのオプションを削除したのかわかりません。CUDA 4.2 を実行できなかった場合は、CUDA 4.1 が適切なオプションです。(Nvidia GPU SDK 4.1 をインストールしてからアンインストールすると、Visual Studio のオプトインが残り、正しく動作します)

もう 1 つのオプションは、空のプロジェクトを作成し、この構成を使用することです (これは CUDA 4.0 用であり、コンピューターのアドレスは異なる場合があります)。

新規 -> プロジェクト -> Win32 コンソール アプリケーション

名前: "HelloCuda" -> OK -> 次へ -> 空のプロジェクト -> 完了

プロジェクト HelloCuda を右クリック -> Build Customizations

[既存を検索] をクリックし、CUDA 4.0.targets に移動します。

C:\ProgramFiles\MSBuild\Microsoft.Cpp\v4. 0\BuildCustomizations\CUDA 4.0.targets

テキストファイルを作成し、拡張子 .cu を付けて HelloWorld として保存します。

これで、ファイル HelloWorld.cu が作成されます

このファイルをプロジェクト HelloCuda に追加します

HelloWorld.cu を右クリック -> 構成プロパティ -> 一般 -> 項目タイプ -> CUDA C/C++

プロジェクト HelloCuda を右クリック -> 構成プロパティ -> CUDA C/C++ -> 共通 -> 追加のインクルード ディレクトリ

C:\Users\All Users\Application Data\NVIDIA Corporation\NVIDIA GPU Computing SDK 4.0\C\common\inc; を追加します。

プロジェクト HelloCuda を右クリック -> 構成プロパティ -> リンカー -> 一般 -> 追加のライブラリ ディレクトリ

C:\Users\All Users\Application Data\NVIDIA Corporation\NVIDIA GPU Computing SDK 4.0\C\common\lib; を追加します。

リンカー -> 入力 -> 追加の依存関係 -> cudart.lib

次に、サンプル CUDA C プログラムを HelloWorld.cu と Compile 内に記述します。

于 2012-07-29T21:04:10.043 に答える