2012-11-15 16 views
5

私はビジュアルスタジオ2010、パラレルnsight 2.2およびcuda 4.2を学習に使用しています。私のシステムはWindows 8 pro x64です。 私はVSでcuda computing SDKに含まれている基数ソートプロジェクトを開き、エラーなしでコンパイルしました。ソートコードは、スラストライブラリ使用しています:私は推力がCUDAカーネルにソート機能をディスパッチ方法を知りたいビジュアルスタジオ2010で並列nsightをデバッグする方法

if(keysOnly) 
    thrust::sort(d_keys.begin(), d_keys.end()); 
else 
    thrust::sort_by_key(d_keys.begin(), d_keys.end(), d_values.begin()); 

を、私は上記の行の前にブレークポイントを追加し、デバッグモードでプロジェクトをコンパイルしようとしました。しかし、私がcudaのデバッグに並列nsightを使用すると、常に "ブレークポイントのソース対応がありません"というエラーがあります。

だから、私の問題は、次のとおりです。

  1. 並列nsightとVisual StudioでのCUDAスラストプログラムをデバッグする方法は?
  2. また、誰かが、クワの派生機能がクンダのカーネルやその他の機能にどのように影響するかを知るために別の方法を使って教えてもらえますか?

何かアドバイスをいただければ幸いです! NVCCに

-G -g 

スイッチ:

答えて

2

通常は、CUDAにデバッグ装置コードに、それが通過することが必要です。しかし、このモダリティはnot supported with thrust codeです。 thrustインクルードファイルの構造に従うことで、スラストコードがデバイスにどのように送信されるかを知ることができます。推力は完全にテンプレート化されたコードなので、心配するライブラリはありません。しかし、それは挑戦的な命題です。また、PTXを生成するようにコンパイラーに指示することができます。

ある
-ptx 

one of the intermediate code typesそのCUDAコードをコンパイルします。しかし、それはいずれかを解析するのは簡単なことではありません。 This linkは、Thrustでデバッグするためのいくつかの代替案を示しています。

+0

Robertさん、ありがとうございました。すでにデバッグのthrust wikiを読んでいます。しかし私はその内容が私の問題にはあまり役に立たないと思う。推力図書館の意思決定プロセスの詳細を知りたいだけです。だから、私はソースコードを読もうとしていて、ptxコードを読み込もうとしているかもしれません。ありがとうございました! – Miles