2016-03-28 18 views
0

nsightを使用してcudaカーネルをデバッグしていたときに、次のようなnsightデバッグエラーが発生します。私はそれがどういう意味か分かりません。 cuFFTと何かのように見えます。しかし、誰かが指針を与えることができますか?ありがとう。nsight VSEデバッガエラー「コードパッチメモリ不足のためコードパッチングが失敗しました」

enter image description here

+1

これはかなり記述的なエラーメッセージです。あなたは「Nsight | Options | CUDA |コードパッチメモリを増やしてもう一度やり直してください」という提案を試しましたか? –

+1

カーネルのデマングルバージョンは "void __kernelTex <(fftDirection_t)-1>(float2 *、unsigned int、unsigned int、unsigned int、divisor_t、divisor_t、divisor_t、dimStride_t、dimStride_t、dimStride_t、dimStride_t)そのプロトタイプを持つカーネルを認識すると、あなたが使用しているライブラリから来る可能性が高いです。 –

+0

@RobertCrovellaパッチメモリを増やそうとしていますが、Nsightにそのオプションがないようです。私はNsight 5.0を使用しています。私はcuFFT、cuda fftライブラリで何かが間違っていたとは思わない。 –

答えて

1

Nsightによって報告されたエラーメッセージが指示された明らかなように、エラーがNsightが対話的に実行しているコードをデバッグするために、デバイス上で十分な使用可能なメモリを持つことによって引き起こされます。 Nsightドキュメントから引用:

When the CUDA Memory Checker is enabled, it will consume extra memory on the GPU. If there is not enough patch RAM for the CUDA Debugger, it will give the following error:

Internal debugger error occurred while attempting to launch "KernelName - CUmodule 0x04e67f10: code patching failed due to lack of code patching memory. 

If this happens, increase the patch RAM factor by going to Nsight > Options > CUDA > Code Patching Memory Factor.

This is a multiplier of the kernel's instruction size, which is added to a base patch RAM size of 64k.

Another option is to disable the shared or global memory checking, in order to use less patch RAM.

元のポスターは、16 2の比からコードパッチメモリ率を増加させることは問題を解決したことに留意しました。

関連する問題