私はWindowsプラットフォーム上でCUDAを扱っています。 Windowsプラットフォームでは、Parallel NsightとVisual Profilerの両方にアクセスできます。どちらもきれいですが、プロファイリングとトレースの機能はほぼ同じです。誰かが私はどのように異なっていると私は言うことができる1つは、Windowsプラットフォームのために良いですか?基本的にプロファイリングのツールが必要になります。NVIDIA Parallel Nsight Vs Visual Profiler
答えて
Nsight Visual Studioのエディション2.2は、Visual Profilerの上、以下の利点があります。
OVERALL
をVS Express Editionには、同じように統合のVisual Studio 2008 SP1に、2010年には(プロフェッショナル・エディションが必要です統合パッケージはサポートしていません)。
ローカルおよびリモート分析セッション。リモートセッションは、アプリケーションとリソースをリモートシステムにコピーするように構成することもできます。
ターゲットアプリケーションまたはプロセスツリーから情報を収集します。
レポートビューは、より高度なグループ化とフィルタリングをサポートします。データテーブルをExcelにエクスポートすることができます。プロセス、スレッド、およびモジュールの寿命を含む
TRACE活性
トレースOS活性、スレッドコンテキスト切り替え、スレッド待機理由、CPU使用率、プロセスのCPU使用率、スレッドの利用。
CUDA、OpenGL 2.x-3.x、DirectX 9-11、およびOpenCL 1.1のAPIおよびGPUワークトレースを収集し、タイムラインに関するすべての情報を表示します。
トレースされたすべてのAPI呼び出しでのコールスタックトレースのコレクション、またはトレースされたAPI呼び出しからエラーが返された場合にのみ収集されます。
コンテキストごとに割り当てられたメモリを示すCUDAソフトウェアカウンタ。
トレースする情報をさらに制御できます。これは、あまりにも多くの情報をトレースするとアプリケーションがCPUに縛られる可能性があるため、重要です。
NVIDIA Tools ExtensionsライブラリとD3Dパフォーマンスマーカーのユーザー注釈のタイムラインとツリー表示。
CUDA PROFILING活動が
CUDAプロファイラは、アプリケーションに透過的に何度もカーネルをキャプチャし、それを再生する方法を提供します。これにより、非決定論的なアプリケーションでプロファイリングデータを収集し、アプリケーションを1回起動するだけで済みます。ビジュアルプロファイラ< = 5は、アプリケーションを何度も再起動できるように、アプリケーションが確定的であることを要求します。
アプリケーションのパフォーマンスを制限していることを理解するのに役立つ十分な占有率とワーピングの理由があるかどうかを理解する最も重要な基準である、ワープの適格性を含むVisual Profilerがまだサポートしていない、 。
クロスプラットフォーム:
のVisual Profilerは、次のような利点があります。
収集された情報を確認するためのエキスパートシステムを提供します。
結果のリンクは「CUDAベストプラクティスガイド」に記載されています。
タイムラインは、イベントをクリックするとCPUとGPUイベントとの相関関係を示すことができます。
CUDA 5.0は新しいコマンドラインプロファイラ(nvprof)をサポートしています。
CUDA 5.0は、分岐の分岐と不良アクセスパターンによるメモリアクセスのソース相関をサポートしています。
CUDA 5.0プロファイラは、Nsight Eclipse Editionに統合されています。
Tesla PMカウンタのサポートが強化されました。 CUDA 5.0の
ビジュアルプロファイラを表示することができる範囲とマーカーを使用してアプリケーションに注釈を付けるための
NVIDIAツール拡張ライブラリを含むNsight 1.5で利用可能な機能の数と2.xを追加しますタイムラインで
フェルミGPおよびケプラーGPUでのカーネルトレースの同時実行。
両方のツールは、アプリケーションの分析に非常に役立つ情報を提供します。それぞれのツールの最新バージョンを使用することをお勧めします。
Nsight VSEの次期バージョンには、CUDAカーネルの実行を調査するための多くの新機能があります。詳細はhttp://developer.download.nvidia.com/GTC/PDF/GTC2012/PresentationPDF/S0430-GTC2012-Developing-CUDA-Nsight.pdfを参照してください。
EDIT(心の変化):NVIDIA Parallel NsightとVisual Profilerの両方を再評価した結果、NVIDIA Parallel Nsightはパフォーマンス分析に優れています。
理由は@Jeff Davisの答えによってさらに説明されます。
パラレルNsightは、Visual Studioに組み込まれているという利点があり、Windows開発者にとって自然なワークフローを備えています。
パラレルNsight 2.2では、ターゲットが「localhost」に設定されていると常に、モニターが自動的に開始されます。これは、CUDAプロファイリングとCUDAデバッグの両方に当てはまります。
モニターの起動に時間がかかります(お気に入りのWebブラウザーを起動するのとほぼ同じですが)が1回です。モニタが終了するか、マシンが再起動されるまで、モニタを再起動する必要はありません。