2

NVIDIA Tools Extension を使用して、Visual Profiler で CUDA コードのより正確なパフォーマンス評価を実行しようとしています。コードの開発には Visual Studio 2010 を使用しています。

この機能用に Visual Studio 2010 をセットアップするために、追加しました

Properties -> Linker -> General -> Additional Library Directories -> $(NVTOOLSEXT_PATH)\lib\$(Platform);

Properties -> Linker -> General -> Input -> Additional Dependencies -> nvToolsExt32_1.lib;

しかし、私が使用するとき

#include <nvToolsExt>

コンパイラは言う

Error   1   error C1083: Cannot open include file: 'nvToolsExt': No such file or directory

環境変数NVTOOLSEXT_PATHは次のように設定されます

NVTOOLSEXT_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\nvToolsExt\

しかし、ディレクトリC:\Program Files\NVIDIA GPU Computing Toolkit\nvToolsExt\がシステムに存在しないため、NVIDIA Tools Extension がインストールされていないと思います。

2 つの質問があります。

1) NVIDIA Tools Extension 機能用に Visual Studio 2010 をセットアップする上記の手順は正しいですか? 2) ツールのインストール方法は?

前もって感謝します。

4

1 に答える 1

7

Nsight User Guider for Visual Studio 2.2 \ NVIDIA Tools Extension Library \ Section 5. Adding NVTX to a Projectには、次の手順が記載されています。

NVTX API は、NVIDIA Nsight「ホスト」インストーラーによって (デフォルトで) 次の場所にインストールされます。

32 ビット システムの場合: C:\Program Files\NVIDIA GPU Computing Toolkit\nvToolsExt

64 ビット システムの場合: C:\Program Files (x86)\NVIDIA GPU Computing Toolkit\nvToolsExt

ヘッダー ファイルとライブラリ ファイル自体 (.lib、.dll) の両方が、このパスの下にあります。

デフォルトでは、NVIDIA Nsight インストーラーは環境変数 NVTOOLSEXT_PATH を、システムのビットに一致する前述の場所を指すように設定します。

5.1 C++ プロジェクト

Visual Studio で NVTX サポートを使用してプロジェクトをコンパイルするには、次の手順に従ってプロジェクトをセットアップします。

  1. プロジェクトのプロパティ ダイアログを開きます。
  2. [構成] > [プロパティ] > [C/C++] > [全般] に移動します。次のパスを追加のインクルード ディレクトリに追加します: $(NVTOOLSEXT_PATH)\include
  3. [構成プロパティ] > [リンカー] > [全般] に移動します。次のパスを追加のライブラリ ディレクトリに追加します: $(NVTOOLSEXT_PATH)\lib\$(Platform)
  4. [構成] > [プロパティ] > [リンカー] > [入力] に移動します。nvToolsExt32_1.lib または nvToolsExt64_1.lib (システムの仕様に応じて) を追加の依存関係に追加します。

5.2 CUDA (.cu ファイル)

NVTX を使用して .cu ファイルのコードに注釈を付ける場合は、次の構成がセットアップされていることも確認してください (これは、前のセクションで説明した手順に追加されます)。

  1. プロジェクトのプロパティ ダイアログを開きます。[構成プロパティ] > [CUDA C/C++] > [共通] に移動します。> 次のパスを
  2. 追加のインクルード ディレクトリ: $(NVTOOLSEXT_PATH)\include

質問では、追加のインクルード パスに NVTX を追加するステップ 5.1.2 をスキップしました。更新されたインクルード パスがないと、コンパイラは NvToolsExt.h を見つけられません。

セクション 5.3 と 5.4 では、NVTX ライブラリをソース ツリーに移動し (既定の場所を使用するのではなく)、デプロイにステップを追加して DLL をプロジェクトの bin ディレクトリにコピーすることを推奨しています。

于 2013-02-06T01:09:17.640 に答える