問題タブ [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 - リモートサーバー上のTCC対応デバイスでCUDAコードをデバッグする方法は?
間もなく稼働する本番サーバーで、開発用PCからリモートデバッグセッションを開始したいと思います。サーバーで、リモートデスクトップを使用してNSightを起動してから、ローカルマシンでCUDAデバッグを開始しようとします(以前はサーバーをターゲットとして指定しました)。その結果、デバッグセッションが切断され、「リモートシステムはリモートデスクトップからログインしています。WDDMアダプターはデバッグできません」と表示されます。
これは意図された動作、バグ、間違った構成ですか?また、リモートデスクトップを使用するソリューションがない場合、デバッグセッションを開始できるようにNSightモニターを起動するにはどうすればよいですか?
ターゲットサーバーには、2つのTeslaK10とQuadroFX(ディスプレイ用)があります。すべてのTeslaデバイス(実際には4つ)は、TCCがオンになっていることを示しています。
NSight 3.0、CUDA 5.0、およびVisual Studio 2008を使用しています(後者の2つは開発ワークステーションでのみ使用されます)。
最後にもう1つ、アプリケーションをサーバーにコピーしてリモートデスクトップから実行すると正常に機能します。
nsight - Nsightリモートデバッガー設定
GPUデバッグ専用(CUDAなし)のリモートNsightv2.2デバッガーをセットアップしようとしています。リモートターゲットマシンと開発マシンをセットアップするために、このNvidiapdfに従いました。すべてが稼働していますが、2つの間の通信は適切ではありません。MSVSMON.exeがリモートマシンで実行されていないなどのエラーが発生します。必要な正確な設定がわかりません。何をすべきか、
- VS2010プロジェクト設定
- Nsight Monitor(リモートマシン)の設定
- VS2010および開発マシンのNsight設定。
cuda - nvvp と nsight のプロファイラーでは異なる結果が得られますか?
gst_inst_128bit 命令を試してみたい。同じプログラムで、nvvp は多くの gst_inst_128bit コマンドを実行します。nsight のプロファイラでは、4 回の gst_inst_32bit 命令が取得されます。それらは同じプログラムである必要があります。この状況はどのように発生する可能性がありますか?
実験は、Linux、CUDA 5.0、GTX 580 で試行されました。プログラムは、カーネル関数で 1 つの配列から別の配列にデータをコピーするだけです。
カーネル:
linux - NSightプロファイラー信号139
NSightに組み込まれているプロファイラーを使用してプログラムのプロファイリングを試みていますが、プロファイリングセッションは開始直後に終了し、フィードバックとして「警告:アプリケーションがシグナル139を受信しました」を受け取ります。これは何を意味するのでしょうか?
次のエラーメッセージも表示されます。
セッションタイムライン全体を読み取ることができません。表示されるタイムラインは、アプリケーションが終了する前にプロファイルデータのフラッシュを中止または失敗したため、空または不完全である可能性があります。アプリケーションは、終了する前にcudaDeviceReset()を呼び出して、すべてのプロファイルデータがフラッシュされるようにする必要があります。
visual-studio-2010 - Visual Studio で cuda ファイルをデバッグする
「mex」編集した cpp 関数 (function.cpp") があります。次に、Visual Studio で function.cpp ファイルを開き、実行中の matlab プロセスに Visual Studio をアタッチします。
matlab で関数を呼び出すと、function.cpp ファイルにブレークポイントを設定して、変数を観察しながらステップ実行できます。
関数を cuda ファイル (function.cu) に変更すると、デバッグ プロセスが失敗します。上記のプロセスに従って、まだ function.cu 内で停止できますが、変数が表示されません。変数を「監視」しようとすると、「エラーシンボル..見つかりません」と表示されます
私はビジュアルスタジオにnsightをインストールしました。質問: function.cpp ファイルの場合と同様に、デバッグ モードでファイル function.cu の変数を確認するにはどうすればよいですか。これは可能ですか?
function.cu はプロジェクトに含まれていないことに注意してください。関数の cpp コードを含む単なるスタンドアロン ファイルです (somefunction(){} など)。デバッグ目的で、ビジュアルスタジオで開いています。「nvmex -g wrapper.cu」を使用して matlab で function.cu ファイルをコンパイルしています。wrapper.cu は、function.cu 内に記述された somefunction() を呼び出す matlab mexfunction ラッパーです。
eclipse - Nsight Eclipse Editionを使用しているときにgccでコンパイルするにはどうすればよいですか?
私はNvidiaのNsightに小さなプロジェクトを持っており、それが私のためにmakefileを作成します。いくつかのSSE命令を使用したいのですが、プロジェクト内のcppファイルをnvccではなくgccでコンパイルしたいと思います。
それを行うようにNsightを構成する方法はありますか、それともMakefileを手動で作成する必要がありますか?
編集:もちろん、.cuファイルはnvccでコンパイルする必要があります。
cuda - Nsight デバッガーがデバイス機能に移動しない
私はオプティマス技術を備えたノートブックを持っています。グラフィックカード。そのため、ubuntu 12.10 (64 ビット) に Bumblebee をインストールしました。CUDA 5 をインストールし、「optirun」で実行します。しかし、Nsight (Eclipse) でのデバッグに問題があります。ホスト コードをデバッグできますが、デバイスの機能がスキップされます。
関連する投稿をいくつか見ましたが、私の問題はまだ解決されていません。「optirun」で Nsight を実行しようとしました。また、gdb の前に optirun を追加しました。
私を助けてください。
ありがとう
concurrency - GTX 480 と CUDA 5 でデータ転送と計算をオーバーラップできないのはなぜですか?
カーネルの実行を memcpyasync とオーバーラップさせようとしましたが、うまくいきません。固定メモリ、異なるストリームなどを使用して、プログラミングガイドのすべての推奨事項に従います。カーネルの実行が重複していることがわかりますが、メモリ転送では重複しません。私のカードにはコピー エンジンと実行エンジンが 1 つしかないことはわかっていますが、実行と転送はオーバーラップするはずですよね?
「コピー エンジン」と「実行エンジン」は、関数を呼び出す順序を常に強制しているようです。[HtoD x2、Kernel、DtoH] を実行する 4 つのストリームで作業が行われます。各ストリームで HtoDx2,Kernel,DtoH serie を発行すると、stream2 のようなプロファイラーで、最初の DtoH 操作が終了するまで HtoD の最初の操作が開始されないことがわかります。最初に各ストリームで HtoD を発行し、次に 2 番目の HtoD、次にカーネル、次に DtoH (幅) を発行すると、重複は見られず、発行順序も GPU によって強制されます。
CUDA SDK にある simpleStreams の例を試してみましたが、同じ動作が見られます。
Visual Profiler と Nsight for VS2008 の両方で問題を示すスクリーン キャプチャをいくつか添付します。
ps。CUDA_LAUNCH_BLOCKING 環境を設定していません
シンプルなストリーム ビジュアル プロファイラー
MyApp Nsight タイムライン幅優先
MyApp Nsight タイムラインの深さ優先
編集:
追加の x4 カーネル (合計 2HtoD、5 カーネル、ストリームごとに 1DtoH) を配置 --> --concurrent-kernels-off を使用して、または使用せずに nvprof を実行すると、経過時間は同じです。env CUDA_LAUNCH_BLOCKING=1 を設定すると、(コマンドラインから) 7.5% のパフォーマンスの向上が見られます!
システム仕様:
- ウィンドウズ7
- 最初の PCI-E スロットに NVIDIA 6800 VGA
- 2 番目の PCI-E スロットの GTX480
- NVIDIA ドライバー: 306.94
- ビジュアルスタジオ 2008
- CUDA v5.0
- ビジュアル プロファイラー 5.0
- Nsight 3.0
cuda - CUDA 5 NSIGHTがコンパイルフラグを設定
Kepler K20 用にプロジェクトをコンパイルするには、-rdc=true
フラグを設定する必要があります。nsight eclipse エディションでこのフラグを設定するにはどうすればよいですか? 私のバージョンはCUDA 5.K20です。nsight eclipse エディション
cuda - Nsightは、リモートでデバッグするときにVS10 Cudaのブレークポイントをスキップ(無視)しますが、ターゲットマシンでローカルにデバッグする場合は正常に機能します
ホスト上でcudaプロジェクトをリモートでデバッグすると、ブレークポイントは無視されますが、完全に実行されます。しかし、ターゲットマシンでプロジェクトをローカルにデバッグすると、正常に動作します。
ドライバーのバージョンを確認したところ、301.42で、nsightのバージョンは2.2です。
ターゲットマシンにはGeforce8600GTがあり、ホストマシンにはGeforce6200turboCacheがあります。ホストマシンのGPUはTCC対応ではないと思います。
nsight Analysisアクティビティはローカルとリモートの両方で正常に機能しますが、cudaデバッグはローカルモードでのみ機能します