NVIDIA Parallel Nsight(旧NVIDIA Nexus)について

*NVIDIA Parallel Nsight [#t53fbfc7]
[[NVIDIA Parallel Nsight:http://developer.nvidia.com/object/nsight.html]]はGPUプログラミング用のデバッガで,
Visual Studio上で動きます.

%%&color(red,white){注)2010年6月現在まだベータテスタ向けにしか公開されていません};%%~
2010年7月22日 NVIDIA Parallel Nsight 1.0がリリースされました.
[[Parallel Nsight Downloads:http://developer.nvidia.com/object/nsight-downloads.html]]からダウンロードして,
[[Parallel Nsight Activation Site:http://parallelnsightactivation.nvidia.com/]]でアクティベーションキーを取得します.

2010年9月17日 NVIDIA Parallel Nsight 1.5RCがリリースされました.ベータテスタ向けのページからダウンロード出来ます.
アクティベーションキーは1.0のものを取得していれば,アクティベーションキーを取得したページにログインすれば,
1.5RC用のも追加されています.

**特徴と注意点 [#j2ecc8e2]
-Visuao Studio 2008, 2010と連携
-CUDA Cデバッガ, Graphics Inspector, Analyzerなど
-デバッガをの動作には複数のGPU(Multiple GPUs in a PC もしくは,Multiple PCs with GPU (each PC has a GPU))が必要
-ホストプログラムとモニタープログラムに分かれていて,ホストプログラムがインストールされたホストPC(Visual Studio 2008, Visual Studio 2010(ver1.5以上)が必要)
上でデバッグを行い,デバッグ用のプログラムはモニターがインストールされたターゲットPC(Visual Studio必要なし)上で動く.
デバッグ情報はネットワーク経由で送受信する.
-(2GPUを持つ)1台のPC上でデバッグを行う場合はホストとモニタープログラム両方をインストールする.

**インストール [#a92cb862]
GPU開発用のツールをインストールする場合,2つの方法がある.
-リモートデバッグ用(ホストとターゲットが異なるPC)
-ローカルデバッグ用(ホストとターゲットが同じPC)

 ホスト : Visual Studio 2008を使ってGPUコードをビルド,実行するPC
 ターゲット : デバッグ用アプリケーション(Debug Monitor)を実行するPC

ローカルデバッグのためには同じPC上に2つのCUDA-capable GPU(G92 or GT200-based GPU)がのっている必要がある.

***セットアップ [#padde5e1]
+マシンスペックがシステム要求を満たすことを確認する.
+最新のディスプレイドライバをインストール.
+デバッグモニターをインストールする.
++NVIDIA_Parallel_Nsight_Monitor_xxx.msiをダウンロード,実行する.
++インストーラが立ち上がるのでウィンドウの指示に従いインストールする.
+デバッグモニターを立ち上げる.
++スタートメニューから NVIDIA Nexus Monitor 1.0 -> Nexus Debug Monitorを起動.
++正常に起動していれば,システムトレイにアイコンが出ているので確かめる.
+ドライバのTDRを無効にする.
++システムトレイのデバッグモニターアイコンを右クリックしてメニューからOptionを選択.
++OptionウィンドウからGeneral -> WDDM TDR enabled をFalseにして,OKボタンをクリック
+ホストソフトウェアをインストールする.
++NVIDIA_Parallel_Nsight_Host_xxx.msiをダウンロード,実行する.
++インストーラが立ち上がるのでウィンドウの指示に従いインストールする.
+WPFのD3Dアクセラレーションを無効にする.
++Windowsエクスプローラを起動.
++Commonフォルダを開く(32bitシステム : C:\Program Files\NVIDIA Nexus 1.0\Common , 64bitシステム : C:\Program Files (x86)\NVIDIA Nexus 1.0\Common)
++DisableWpfHardwareAcceleration.regをダブルクリック(HKEY_CURRENT_USER\SOFTWARE\Microsoft\Avalon.Graphicsを書き換える)
++PCを再起動する.

手順7はローカルデバッグ用のみで,リモートでバッグでは手順3-5はターゲットPC,手順6はホストPCで行う.


***"headless" デバッグのセットアップ [#p3fdacad]
headlessデバッグはローカルデバッグにおいて2枚目のGPUが実際にディスプレイに描画していなくてもデバッグできるというもの.
Nsight推奨ドライバがインストールされていること.
+NVIDIAコントロールパネルから"headless"にしたいGPUのモニタ出力をOFFにする.
++NVIDIA コントロールパネルを開く
++左のパネルからディスプレイ->複数のディスプレイの設定を開く
++"headless"にするGPUのチェックを外し,Applyボタンを押す
+NVIDIAコントロールパネルから"headless"にしたいGPUのPhysX GPU Accelerationを有効にする
++NVIDIA コントロールパネルを開く
++左のパネルから3D設定->PhysX構成の設定を開く
++"headless"にするGPUを選び,適用ボタンを押す


***CUDAデバッガの使用 [#uf8c2cc2]
+ターゲットPCでモニタープログラムを立ち上げる.
+ホストPC上でデバッグしたいVisual Studioプロジェクトを起動し,プロジェクトを選択して右クリックメニューから「カスタム ビルド規則」でCUDA Runtime Api Build Ruleにチェックしておく.
+通常のCUDAプログラムと同様にCUDAコンパイラなどの設定を行う.ただし,通常のCUDAディレクトリ(c:\CUDA など)ではなく,
Nsight用のディレクトリ(C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v3.2\ or $(CUDA_PATH_V3_2) など)を設定する.
+プロジェクトを右クリックして,メニューから"Nsight User Properties"をクリック,"NVIDIA Parallel Nsight - User Settings"ダイアログで,
Launch -> Launch OptionsのConnection nameにターゲットPCのIPアドレスを設定する(ローカルデバッグの場合はlocalhostでよい).
+CUDAカーネル関数に通常のVisual Studioデバッカと同じ操作でブレークポイントを設定する.
+Nsightメニューから"Start CUDA Debugging"でデバッグを開始する.
++成功したら"Connected Debugger to ターゲットPCのIPアドレス"というメッセージが画面右下に出るので確認する.
++ネットワーク設定などのが問題でターゲットPCに接続できない場合は,"Connection to the Nsight monitor on 'ターゲットPC名' failed.  Please make sure the monitor is running on the target machine and the security settings match."といったメッセージが出る.
++特定のスレッドについて確認したい場合はデバッグ中にNsightメニューから"CUDA Debug Focus"を選択,ブロック,スレッドグリッドインデックスを入力する.


**参考情報 [#s7d5a929]
-[[NVIDIA Parallel Nsight:http://developer.nvidia.com/object/nsight.html]] : Nsightのページ,ベータテスタとして使いたい場合は,ここの"Sign up for the Beta!"より登録.
-[[Parallel Nsight Webinar:http://developer.nvidia.com/object/nsight-webinars.html]] : Web上の解説セミナー,全般的な使い方や何ができるかなどを知りたい場合はまずこれをみること.
-[[Parallel Nsight Forum:http://forums.nvidia.com/index.php?showforum=191]]

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS