0

cuda-gdb を使用して CUDA アプリケーションをデバッグしようとしましたが、奇妙なエラーが発生しました。

-g -G -O0アプリケーションをビルドするオプションを設定しました。cuda-gdb なしでプログラムを実行できましたが、正しい結果が得られませんでした。したがって、cuda-gdbを使用することにしましたが、cuda-gdbでプログラムを実行しているときに次のエラーメッセージが表示されました

Error: Failed to read the valid warps mask (dev=1, sm=0, error=16).

どういう意味ですか?の理由sm=0と意味はerror=16何ですか?

更新 1 : cuda-gdb を CUDA サンプルに使用しようとしましたが、同じ問題で失敗します。NVIDIAの指示に従って、CUDA 6.0 Toolkitをインストールしました。私のシステムの問題ですか?

更新 2 :

  • OS - CentOS 6.5
  • GPU
    • 1 クアドロ 400
    • 2 テスラ C2070
    • プログラムに GPU を 1 つしか使用していませんが、選択したどの GPU からも同じバグ メッセージが表示されます。
  • CUDA バージョン - 6.0
  • GPU ドライバー
    • NVRM バージョン: NVIDIA UNIX x86_64 カーネル モジュール 331.62 Wed Mar 19 18:20:03 PDT 2014
    • GCC バージョン: gcc バージョン 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC)

更新 3 : cuda-gdb で詳細情報を取得しようとしましたが、次の結果が得られました

(cuda-gdb) info cuda devices Error: Failed to read the valid warps mask (dev=1, sm=0, error=16). (cuda-gdb) info cuda sms Focus not set on any active CUDA kernel. (cuda-gdb) info cuda lanes Focus not set on any active CUDA kernel. (cuda-gdb) info cuda kernels No CUDA kernels. (cuda-gdb) info cuda contexts No CUDA contexts.

4

2 に答える 2

2

実際、この問題は一部の古い NVIDIA GPU (「Quadro 400」、「GeForce GT220」、または「GeForce GT 330M」など) にのみ固有のものです。

Liam Kim のセットアップでは、環境変数「CUDA_VISIBLE_DEVICES」を設定することで cuda-gdb が正常に動作し、特に Tesla C2070 GPU で cuda-gdb を実行できるようになります。つまり、$export CUDA_VISIBLE_DEVICES=0 (または 2) - 正確な CUDA デバイス インデックスは、cuda sample - "deviceQuery" を実行することで見つけることができます。

そして現在、この問題は修正されており、次の CUDA リリース (2014 年 7 月上旬頃に公開予定) で CUDA 開発者が修正を利用できるようになります。

于 2014-06-20T06:09:43.753 に答える
2

これは内部cuda-gdbバグです。バグを報告する必要があります。

NVIDIA サイトのパッケージから CUDA ツールキットをインストールしてみてください。

于 2014-06-02T16:39:17.903 に答える