4

CUDA コードを追加する前に、Ni​​vidia Nsight Eclipse (Linux バージョン) でプロファイリングしたい C++ コードがあります。アイデアは、最初に C++ をプロファイリングし、ホットスポットを見つけ、それらを CUDA に変換し、再度プロファイリングし、このプロセスを繰り返してコードを連続的に高速化することです。ただし、C++ のみをプロファイルすると、プロファイラーがタイムラインとプロファイル出力を生成する前に既存の CUDA コードが必要になるようです。他の誰かがこれに遭遇しましたか?

4

3 に答える 3

2

Nsight Eclipse Editionは、CUDAコードのみをプロファイリングできます。ホストコードをプロファイリングするために、サードパーティのプロファイリングプラグインをインストールすることをお勧めします。

Eclipse FoundationサイトからOProfile統合をインストールしてみてください(http://download.eclipse.org/releases/indigo/をHelp / Install New Software ...ダイアログに貼り付けてください)-試したばかりですが、oprofileを正しくセットアップできませんでしたコマンドライン。

于 2012-09-21T19:04:49.830 に答える
1

nvtx (NVIDIA Tools Extension) を使用してコードを手動で計測し、タイムラインを Nsight に表示することができますが、自動プロファイリングと詳細なカウンターの場合、GPU コードのみをプロファイリングできます。

于 2012-09-21T21:47:34.567 に答える
1

はい、Nsight Eclipse は C++ コードをプロファイリングできます。質問を言い換えると、ホスト (CPU) C++ コードのプロファイルも作成できます。デフォルトでは、GPU コードのみをプロファイリングします。CPU プロファイリングは、はるかに手動のタスクです。関数のプロファイリングは自動的には行われません。

NVTX を使用する必要があります。そのようです:

#include "nvToolsExt.h"
nvtxNameOsThread(0,"InputVideo");
nvtxRangePush(__FUNCTION__);
// .. do some CPU computing here
nvtxRangePop();

-lnvToolsExt -L/usr/local/cuda/lib64 でビルド

libnvToolsExt.so へのパスは、人によって異なります。NVTX には CUDA ツールキットが付属しています。

CUDA ブログには、これに関する投稿があります。

于 2017-01-05T11:24:58.253 に答える