0

メモリチェッカーを有効にするオプションを使用して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 でエラーが発生したという事実を除いて、この情報を理解することはできません。これは非常に曖昧に見えるため、エラーが発生した正確な行を見つける方法はありますか。

4

1 に答える 1

1

デバッガーは、アクセス違反がスローされた行で中断します。または、[逆アセンブリ] ウィンドウを使用して、問題が発生した場所をプログラム カウンター (PC) と関連付けることができます。

于 2012-10-02T03:49:42.657 に答える