メモリチェッカーを有効にするオプションを使用してNisght 2.2を実行したところ、次のエラーが発生しました。
CUcontext blockIdx WarpIndex PC Active Mask Exception Exception Details
0x02af1c10 (0,0,0) 0 0x0001cc70 0x00000004 OutOfRangeLoad MemorySpace=Global Size=4
さらに、出力は以下のとおりです。
GPU の状態:
アドレス サイズ タイプ メモリ ブロック スレッド blockIdx threadIdx PC ソース
05500e20 4 adr ld g 0 2 {0,0,0} {2,0,0} 000170 ソースがありません
アクセス違反の概要:
Nsight デバッグ メモリ チェッカーは、1 つのアクセス違反を検出しました。エラー = ロード時のアクセス違反 (グローバル メモリ) blockIdx = {0,0,0} threadIdx = {2,0,0} address = 0x05500e20 accessSize = 4
Nsight デバッグ
CUDA メモリ チェッカーは、アクセス違反の原因となった 1 つのスレッドを検出しました: パラメータの起動 CUcontext = 026f1c10 CUstream = 03460f58 CUmodule = 047e7538 CUfunction = 047c26b0 FunctionName = _Z19findHowManyBeforeWiPcPiS0_S0_S0_S_S0_S0_ii : パラメータ (生): 0x05500400 0x05500800 0x05500c00 0x05500000 0x05501200 0x05500600 0x05500a00 0x05500e00 0x00000004 0x00000005 GPU 状態:
アドレス サイズ タイプ メモリ ブロック スレッド blockIdx threadIdx PC ソース
05500e20 4 adr ld g 0 2 {0,0,0} {2,0,0} 000170 ソースがありません
ただし、スレッド 2 の関数 HowManyBeforeWi でエラーが発生したという事実を除いて、この情報を理解することはできません。これは非常に曖昧に見えるため、エラーが発生した正確な行を見つける方法はありますか。