問題タブ [cuda-gdb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cuda - CUDA-GDB: デバッガ環境のセットアップ
Ubuntu Linux でCUDA-GDB ガイド(10 ページ、開始) に従っているところ、次のようになりました。
さて、どうすればこれを修正できますか?私は現在のツールキットを持っています。
cuda - カーネルで CUDA-GDB がクラッシュする
カーネルで何か問題が発生していることを知っているので、コードをデバッグしようとしてきました。具体的に何が問題なのかを理解しようとしています。カーネルにステップインしようとすると、カーネル関数を完全にステップオーバーするように見え、最終的に終了時にエラーが発生します。
カーネルに侵入しようとすると、コンピューター全体がクラッシュし、再起動する必要があります。
カーネルを呼び出す方法に何か問題があるに違いないと思いますが、何が原因かわかりません。
コードはかなり長いので、その抜粋のみを含めます。
誰かが何かアイデアを持っている場合は、応答してください! 前もって感謝します!
cuda - cuda-gdbは、利用可能な4つのCUDA対応デバイスのうち最も機能の低いデバイスを1つだけ認識します
利用可能なCUDA対応デバイスは4つあります。
cuda-dbg
それらの1つだけが表示されます:
-gencode arch=compute_20,code=sm_20
私は、上記のマシンでエラーなしでコンパイルされたコードビルドを確認しました。コンパイルすると、CUDAカーネルでのsm_20
使用が正しく機能します。printf
cuda-gdb
すべてのデバイス(おそらくグラフィックスに使用されるものを除く...ただし、この場合はSSH経由でリモートでログを記録しています)、または少なくとも1つのTesla / sm_20デバイスを表示するにはどうすればよいですか?
環境変数を「0,1」のみを含むように設定する、つまりテスラのみを表示するように設定して、 Michael Foukarakisの応答でアドバイスにCUDA_VISIBLE_DEVICES
従うと、実行後に次のエラーが発生しますinfo cuda devices
。
X11(X.Org)で使用されているデバイスを確認する方法、およびX Window SystemでTeslaではなくGeForceを使用するようにする方法は?
debugging - CUFFT および CUDA ランタイム API (cudart) のデバッグ シンボル
CUDA SDK の CUDA ライブラリ、つまり CUFFT および CUDA ランタイム API (cudart) のデバッグ情報を含むファイルはどこに*.debug
ありますか? また、それらをデバッガーやプロファイラーに提供する方法は?
この情報がなければ、CUDA ライブラリを使用するアプリケーションのデバッグは非常に難しく、特にエラーが CUDA コードにある場合は困難です。
linux - Linux でのビジュアル メモリ デバッグ アプリケーション?
Visual Profiler for CUDAに似たデバッグ アプリケーションはありますか? 実行時間に関して、関数レベルでアプリケーションに関する情報を示します。どの関数が最も時間とメモリを消費しているかを確認できる、通常の C/C++ アプリケーション用のものはありますか?
多くのデータ ファイルを読み取り、カスタム クラスを使用してファイルを読み取り、内部でベクトルのベクトルとして表現するアプリケーションをデバッグしようとしています。データ ファイルのデータに対して実行される操作を表す別のクラスがあります。ループ内でより多くのファイルを読み取り、それらを操作すると、OS がアプリケーションを強制終了するまでメモリ使用量が増加します。動的メモリの使用からのクリーンアップについては、かなりうまくいっています。すべてのファイルと関数を調べて、どれが最も多くの時間とメモリを使用しているかを確認するのに役立つ視覚的なものは、非常に有益です!
アプリケーション内から libproc を使用して、ループの反復ごとにメモリ使用量が 500 メガバイトから 19 GB に増加することを確認できます。データのスコープがループ内にあるため、これはあってはならないことです。そのため、ループの次の繰り返しまでに、データを使用する C++ オブジェクトはクリアされて OS に返されるはずですが、これは起こっていません。
これが曖昧すぎないことを願っています。ありがとうございます。
cuda - cuda-gdbは、カーネル呼び出しにヒットすると「[1]stopped」で終了します
私はCUDAにかなり慣れておらず、ここでズボンの座席のそばを少し飛んでいます...
管理者権限を持たないリモートマシンでCUDAプログラムをデバッグしようとしています。プログラムをでコンパイルしてnvcc -g -G
から、cuda-gdbでデバッグしてみます。ただし、gdbがカーネルの呼び出しにヒットするとすぐに(入力する必要はなく、ホストコードでは発生しません)、次のようになります。
その後、cuda-gdbは私をターミナルにダンプします。もう一度cuda-gdbを実行しようとすると、
回復する唯一の方法はkill -9
cuda-gdbとcuda_clustered_
(後者は私のバイナリの一部であると思います)です。
このマシンには2つのGPUがあり、CUDA 4.1を実行しており(インストールされているものはたくさんありますが、これを設定しPATH
ましLD_LIBRARY_PATH
た)、コンパイルしてdeviceQueryとbandwidthTestを正常に実行します。
必要に応じて、より多くの情報を提供できます。私はオンラインで見つけることができるすべての場所を検索しましたが、これについては何の助けも見つかりませんでした。
debugging - CUDA のデバッグ、または最適化を無効にせずに cuda-gdb でソースコード行を取得する方法は?
多数のブロック/スレッドに対して非常に確実にハングする、かなり大きくて複雑な CUDA コードがあります。コードがハングする場所を正確に把握しようとしています。
でコードを実行するとcuda-gdb
、どのスレッド/ブロックがハングしているかがわかりますが、「仮想 PC」以外の場所はわかりません。
デバッグ情報を取得するために「-G」を指定してコードをコンパイルすると、実行時間が大幅に遅くなり、長時間実行してもハングしなくなります。
「仮想PC」をソースコードのコード行にマッピングする方法はありますか? または、すべての最適化をオフにせずにデバッグ情報を取得する方法はありますか?
「-G3」を使用してみましたが、役に立ちませんでした。これは、タイプ " " の警告を表示するだけですnvcc warning : Setting optimization level to 0 as optimized debugging is not supported
。CUDA コンパイル ツール リリース 4.1 を使用しています。
ubuntu-12.04 - CUDA-GDB: CUDA デバイスなし
正常に動作し、コンパイル時にエラーや警告が発生しないソース コードをデバッグしようとしています。問題は、cuda-gdb で段階的に実行すると、CUDA カーネルがまったく起動されないことです (デバッガーから取得した出力は、Nvidia cuda-gdb ガイドに示されているものとはまったく異なります)。エラーなしで引き続き動作します。常に CUDA カーネル、デバイス、またはスレッドがありません。どうやらフォーカスも何にも設定されていません。CUDA-GDB の 4.2 リリースを使用しています。
これは、カーネルを起動する必要があるときにデバッガーから得られるものです。
私の CUDA デバイスは GeForce 8400M GS で、deviceQuery チェックに問題はありませんでした。最近、Nvidia フォーラムがオフラインになっているため、これを解決する方法がわかりません。
よろしくお願いします。
eclipse - MacLionデバッグエラーのnsightEclipse
nsight eclipse editionformacを使用してcudaコードをデバッグしています。ターミナルからcuda-gdbをすべて正常に実行できましたが、Nsightでデバッグ機能を使用できませんでした。デバッグを開始するたびに、「最終起動シーケンスのエラー接続がシャットダウンされました」というエラーウィンドウがポップアップ表示されます。私のOSはMacLion(10.7.4)です。
Cuda 5.0の重要な点は、Eclipseを使用したインタラクティブなデバッグであることを理解していますが、残念ながら、WindowsまたはLinuxに切り替えないと使用できません。誰かがこれを見たことがあるか、これの回避策を知っているなら、私に知らせてください、そしてあなたの助けは非常にありがたいです。
ありがとうございました!
cuda-gdb - 共有アドレスまたはローカル アドレスの位置がずれている
メモリエラーのチェックに cuda-memcheck を使用しています。簡単な質問です。Misaligned Shared or Local Addressとは正確にはどういう意味ですか?