2011-09-16 7 views
1

GPUでプログラミングするとき、カーネルの機能をデバッグする良い方法はありますか?CUDAのカーネル機能を効率的にデバッグする方法はありますか?

私が使用する方法は、printf(...)を使用しているか、または結果をCPUにコピーしてからそれらを調べることです。

デバッグに時間がかかりすぎます。

あなたのアドバイスをいただきありがとうございます。ありがとうございました。

答えて

1

Windowsであれば、NVIDIA Parallel Nsight(Nvidiaの公式からデバッグ・ツール)私たちは、カーネルのバージョンごとにCPUの対応を作成する必要があることを意味

+0

NsightがGPUクラスタに使用されていると聞きました。 1つのGPUで自分のマシンにNsightを使用できますか? – Yik

+0

CUDAカーネルを1台のマシンでデバッグする場合、少なくとも2つの独立したGPUが必要です(そのうちの1つはNVIDIAで、Nsightを実行できる必要があります)。 – Daniel

1

デバッガの使用はどうですか?

Windowsの場合は、VisualStudioデバッガを使用できます。 あなたがLinux(もっと良い)を使っているなら、cuda-gdbを使うことができます。

適切なカーネルを作成するための一般的な方法は次のとおりです。

最初のCPUのみのための簡単なアルゴリズムを実装します。 次に、カーネルを作成する最も簡単な方法から始めて、データ をアップロード/ダウンロードし、この最初の単純なカーネルの結果を正しいcpuカーネルの結果と比較してください。

次に、複雑さを追加して新しいバージョンのカーネルを作成します。

+0

を試してみてください? – Yik

関連する問題