Nvidia は CUDA 5 用の拡張 Eclipse をリリースしました。VS2010 用の Nsight プラグインもあります。VS2010 では、カーネルのブレークポイントでプログラムの実行を停止できますが、Linux の Eclipse でこの機能を実現するにはどうすればよいですか? 実行を停止するための nsight 固有のキーが表示されません。パースペクティブを変更してみましたが、通常の C/C++ アプリケーションとしてデバッグされます。Linux を搭載した Intel Xeon 8 コア マシンである Tesla C2070 を使用しています。
5 に答える
私は Nsight Eclipse Edition チームの一員です。
私たちの目標は、アプリケーションが通常の C/C++ アプリケーションとしてデバッグされることです。これは、ホスト コードとデバイス コードのどちらをデバッグするかに関係なく、ブレークポイントを設定したり、"run to line" を使用したりできることを意味します。
基本的に、このプロセスは Eclipse では非常に標準的です。
- プロジェクトを作成します (既存の実行可能ファイルをインポートすることもできます)
- デバッグボタンをクリック
- デバッガーが実行され、既定ではメイン関数で中断されます。デバイス コードはデバイスにポストされていないため、ホスト スレッドのみが表示されることに注意してください。
- デバイス コードにブレークポイントを設定し、再開を押します (ブレークポイント ビューのツールバーでは、CUDA カーネルの起動時にブレークポイントを設定することもできます)。
デバイス コードがブレークポイントに達すると、デバッガーは中断します。ビジュアル デバッガー UI を使用して、アプリケーションの状態を調べることができます。
カップルのことで、どちらが問題を解決したのかわかりません。ドライバーは RC5.0 で最新のものに更新されましたが、ネイティブ X サーバーの代わりに VNC サーバーを実行することにしました。次に、CUDA カードは私のアプリとデバッグ専用であり、魔法のように機能し、どこからでもアクセスできるようになりました。
304.43 NVIDIAドライバーでは、root以外のユーザーがCUDAアプリケーションをデバッグすることはできません。
この問題は、過去または将来の公開リリースには存在しません。CUDAのドキュメントでは、CUDADevZoneにリストされているドライバーのみを使用することを推奨しています。304.43ドライバーはそれらの1つではありません。
それはあなたが直面している問題かもしれないし、そうでないかもしれません。しかし、私はそれが言及する価値があると思いました。
Eugene さん、Cuda 5 をインストールしたところですが、カーネル コードに侵入できませんでした。これはcentos 5.5のクリーンインストールで、cuda-5の新規ダウンロードがあり、gtx260mがインストールされたasus g71xラップトップで実行しています。
1 つのデバイスでまだディスプレイとデバッグを実行できないのではないかと考えたので、非 nv x ディスプレイに切り替えましたが、それでも同じ問題があり、カーネル コードで停止できませんでした。
CUDA 5.0 RC1 を試しましたか? 今すぐ利用できます。ダウンロードして試すことができます。そして、Nsight を試してみましたが、デバッグに適しています。
よろしくお願いします!