問題タブ [nsight]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cuda - カーネルの起動からカーネルの実行までの時間
VS 2010 用の Parallel Nsight 2.1 エディションを使用して、CUDA プログラムを最適化しようとしています。
私のプログラムは、GTX 480 ボードを搭載した Windows 7 (32 ビット) マシンで実行されます。CUDA 4.1 32 ビット ツールキットと 301.32 ドライバーをインストールしました。
プログラムの 1 サイクルは、デバイスへのホスト データのコピー、カーネルの実行、およびデバイスからホストへの結果のコピーで構成されます。
以下のプロファイラー結果の図でわかるように、カーネルは 4 つの異なるストリームで実行されます。各ストリームのカーネルは、「ストリーム 2」でデバイスにコピーされたデータに依存しています。そのため、異なるストリームでカーネルを起動する前に、asyncMemcpy が CPU と同期されます。
この図で私がいらいらするのは、最初のカーネル起動の終わり (10.5778679285) とカーネル実行の始まり (10.5781500) の間に大きなギャップがあることです。カーネルの起動には約 300 us かかります。これは、1 ミリ秒未満の処理サイクルで膨大なオーバーヘッドです。
さらに、カーネルの実行とホストへの結果のデータ コピーのオーバーラップがないため、オーバーヘッドがさらに増加します。
この動作に明らかな理由はありますか?
cuda - Nsight プロファイルの実験が実行されていません
VS2010 用の nsight をインストールしましたが、デバッグはうまく機能します (カードは、http: //developer.nvidia.com/content/nsight-visual-studio-edition-supported-gpus-full- に従ってサポートされている Quadro FX 5800 です)。リスト)。ただし、プロファイリング実験を実行しようとすると、表示される唯一の実験結果は占有率であり、コンソールの進行状況には次のように表示されます
私はすべての実験を実行するように要求しましたが。なぜこれが起こっているのか誰にも分かりますか?
debugging - Nvidia Nsight 2.2 OpenGL シェーダ デバッガ - 動作しない?
2 台のコンピューターで NVidia の Parallel Nsight 2.2 システムを構成しました。ターゲットにはドライバ バージョン 301.42 の Geforce 450 gts があり、ホストには同じドライバ バージョンの Quadro 1000M があります。最も単純な OpenGL 3.0 プログラム (シェーダーを使用して色付きの三角形を表示) のロードは正常に実行されますが、Nsight シェーダー デバッガーを動作させることができないようです。
NSight->Windows->Shaders List ウィンドウを開き、シェーダーをダブルクリックし、ソース コードを開いて行を選択し、ブレークポイントを設定します。ブレークポイントが設定されていることを示す大きな太い赤い点が表示されますが、ブレークポイントは決してヒットしないため、行き詰まります。
Parallel Nsight 2.2 で OpenGL シェーダー デバッガーを動作させた人はいますか?
ところで、NSight->New Analysis アクティビティはうまく機能します。すべての openGL 呼び出しのトレースを作成し、問題なく表示できます。
c++ - Nsight Eclipse は C++ コードをプロファイルできますか?
CUDA コードを追加する前に、Nividia Nsight Eclipse (Linux バージョン) でプロファイリングしたい C++ コードがあります。アイデアは、最初に C++ をプロファイリングし、ホットスポットを見つけ、それらを CUDA に変換し、再度プロファイリングし、このプロセスを繰り返してコードを連続的に高速化することです。ただし、C++ のみをプロファイルすると、プロファイラーがタイムラインとプロファイル出力を生成する前に既存の CUDA コードが必要になるようです。他の誰かがこれに遭遇しましたか?
c++ - Visual Studio 2012(GeForce)用のNsightまたはその他のDirect3Dデバガー/パフォーマンスアナライザー?
VisualStudio2012用のあらゆる種類のDirect3D10/11デバガー/パフォーマンスアナライザーを探しています。
NVidia PerfHUDという名前の非常に優れたアプリケーションを見つけましたが、減価償却されていることに気付きました。
新しいものはNVidiaNsightです。残念ながら、これはVisualStudio2008/2010用に設計されています。
NVidiaNsightをVisualStudio2012に接続するオプションはありますか?
いいえの場合、そのタイプの他のプログラムはありますか(Direct3D C ++アプリケーションのパフォーマンスをチェックできる使いやすいモニター)?
eclipse - nSightEclipseエディションのリモートクロスコンパイルと実行
nSight Eclipseエディションを試してみたかったので、nVidia CUDA5.0をダウンロードしました。私はMacユーザーなので、これは理にかなっています。それは問題なく動作しますが、私が本当にやりたかったのは、基本的にLinuxマシンである外部マシン(自宅とAmazonの両方)でコードをリモートコンパイルして実行(およびデバッグ)することです。
どうすればこれを達成できますか?
debugging - CUDANsightのデバッグで共有メモリの値を確認できません
私はしばらくの間、解決策を見つけることができないような問題に苦しんでいます。問題は、Visual Studio2008でNvidiaNsightを使用してCUDAコードをデバッグしようとすると、共有メモリを使用すると奇妙な結果が得られることです。
私のコードは次のとおりです。
ブレークポイント1に到達し、Visual Studio Watchウィンドウ内の共有メモリを調べると、配列の最初の8つの値のみが変更され、他の値はnullのままになります。私は最初の64人全員がそうすることを期待します。
すべてのワープが同時に実行されないことと関係があるのではないかと思いました。そこで同期してみました。このコードを中に追加しましたintegrate()
しかし、問題はまだあります。さらに、tmp内の残りの値は、0
VSが示しているウォッチウィンドウフォームとは異なります。
ステップオーバーするには多くのステップが必要な__syncthreads()
ので、それに到達すると、ブレークポイント2にジャンプします。一体何が起こっているのでしょうか。
システム/起動構成に関する情報を編集します
システム
- 名前Intel(R)Core(TM)2 Duo CPU E7300 @ 2.66GHz
- アーキテクチャx86
- 周波数2.666MHz
- コア数2
- ページサイズ4.096
- 合計物理メモリ3.582,00MB
- 使用可能な物理メモリ1.983,00MB
- バージョン名Windows7Ultimate
- バージョン番号6.1.7600
デバイスGeForce9500GT
- ドライバーバージョン301.42
- ドライバーモデルWDDM
- CUDAデバイスインデックス0
- GPUファミリーG96
- 計算能力1.1
- SMの数4
- フレームバッファの物理サイズ(MB)512
- フレームバッファ帯域幅(GB / s)16
- フレームバッファバス幅(ビット)128
- 専用のフレームバッファの場所
- グラフィック時計(Mhz)812
- メモリークロック(Mhz)500
- プロセッサクロック(Mhz)1625
- RAMタイプDDR2
IDE
- Microsoft Visual Studio Team System 2008
- NVIDIA Nsight Visual Studio Edition、バージョン2.2ビルド番号2.2.0.12255
コンパイラコマンド
1> "C:\ Program Files \ NVIDIA GPU Computing Toolkit \ CUDA \ v4.2 \ bin \ nvcc.exe" -G -gencode = arch = compute_10、code = \ "sm_10、compute_10 \" --machine 32 -ccbin "C:\ Program Files \ Microsoft Visual Studio 9.0 \ VC \ bin" -D_NEXUS_DEBUG -g -D_DEBUG -Xcompiler "/ EHsc / W3 / nologo / Od / Zi / RTC1 / MDd" -I "inc" -I "C: \ Program Files \ NVIDIA GPU Computing Toolkit \ CUDA \ v4.2 \ include "-maxrregcount = 0 --compile -o" Debug / process_f2f.cu.obj "process_f2f.cu
構成を起動します。共有メモリのサイズとは問題ではないようです。私はいくつかのバージョンを試しました。私が最も協力してきたのは次のとおりです。
- 共有メモリ2048バイト
- グリッド/ブロックサイズ:{101、101、1}、{16、16、1}
visual-studio-2010 - 2つの連続した「cudaMallocPitch」によりコードが失敗します
私は次のように簡単なCUDAコードを書きました:
2番目の割り当てブロックをコメントアウトしました。コードはうまく機能しました。データをホストアレイ「hostArrayR」からデバイスアレイ「deviceArray2DInput」にコピーしてコピーし直しました。ただし、両方の割り当てブロックが存在する場合、コピーバックされた「hostArrayR」は空でした(デバイスからデータがコピーバックされませんでした)。
データは行(#1)の「hostArrayR」にあったと確信していますが、行(#2)にはデータがありませんでした。最初の10000要素(配列のサイズよりはるかに小さい)をクリーンアップして、データが返されないことを確認しました。
VisualStudio2010でNvidiaNsight2.2を使用しています。配列サイズは1024x768で、フローティング32ビットデータを使用しています。私のGPUカードはGTX570です。メモリ割り当てエラーはなかったようです(または、コピーを実行する前にコードが返されます)。
メモリアライメントに「cudaMallocPitch()」を使用することを好むため、「cudaMalloc()」は試しませんでした。
graphics - Nsight 2.2 でグラフィック デバッガを使用するとアプリケーションがクラッシュする
こんにちは、私はNVidia Nsight 2.2を使用しており、GTS 450カードと最新のドライバーを使用しています。Windows Vista 64 ビット。グラフィックス デバッガーを起動すると、最初のドローコールでアプリケーションがクラッシュします。コールスタックは次のようになります。
それ以外の場合は、それ自体は問題なく動作しますが、Nsight グラフィックス デバッガーから起動した場合にのみクラッシュします。これは、私が を使用していることに何らかの関係があると思われますDX11 dynamic shader linkage
。動的リンケージを使用しない他のアプリケーションは正常に動作するためです。誰かが以前にこれを経験したか、Nsight でこの問題に関する情報を持っていますか?