問題タブ [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 での 2D 拡散 (熱) 方程式の解の最適化
この問題について SO に関する以前の質問を既に確認しましたが、ここでどのように関連するかを確認できません。
CUDA を使用して 2 次元拡散方程式を解いていますが、GPU コードが対応する CPU よりも遅いことがわかりました。
これが私のコードです:
int メイン関数
このコードの問題点は、単純な CPU のみの反復法よりも実行速度が遅いことです。私はプロファイラーについてあまり知りませんが、今までエラーが発生するcuda-memcheck
ものを試しました。0
コードのどの部分のパフォーマンスが遅いかを知り、それを高速化するにはどうすればよいですか? Linux環境で作業しています。助けてくれてありがとう。
cuda - Linux 上の CUDA 5.0 cuda-gdb 専用の CPU が必要ですか?
CentOS 5.5 に CUDA 5.0 Linux を新規インストールすると、gdb を実行できません。では、Linux cuda-gdb 専用の GPU がまだ必要かどうか疑問に思っていますか? X11用のVesaデバイスドライバーで試してみましたが、同じ結果が得られました。プロファイリングは機能し、アプリの実行は機能しますが、cuda-gdb を実行しようとすると次のようになります。
警告: 0x2aaaaaaab000 に追加されたシンボル ファイル システム提供の DSO に読み込み可能なセクションが見つかりません
助言がありますか?
eclipse - nsight eclipse for Linux デバッグ エラー
RHEL 6.2 と nsight Eclipse エディションを使用して cuda プログラムをデバッグしています。カスタマイズされた Eclipse の cuda-gdb など、デバッグ モードに問題があります。PC が最初の Cuda API 呼び出しに入ると、デバッグは次の警告で終了します。
関連するバグ レポートも Eclipse バグで見つけましたが、gdb に転送されたようです: https://bugs.eclipse.org/bugs/show_bug.cgi?id=350426
いくつかの観察の後、コンパイル時に libexpat.so が cuda-gdb にリンクされている必要があるように見えました。この問題を回避できましたか?
私のシステムの cuda-gdb には次のような出力があります。
しかし、ldd がどうあるべきかについてのヒントを以下に示します: https://bugs.archlinux.org/task/27841
ps。また、Cuda SDK 5.0 RC が RHEL 6.2 と互換性がないことも認識しています。Nsight は RHEL 6.0 および 6.1 とのみ互換性があると記載されていますが、ダウンロード リンクには RHEL 6.x と記載されています。
exception - cuda gdb:示されたカーネルがコードに含まれていません
私の元々の問題は、引数のリストが長い関数があり、cudaカーネルに引数として渡すことができるメモリを超えていることです(バイト数は覚えていません。しばらくしてからです)それに対処した)。したがって、この問題を回避する方法は、メンバーが後でカーネル内から逆参照できる他の構造を指すポインターであるという新しい構造を定義することでした。
...これが現在の問題の始まりです。カーネル内からポインター(以前に作成した構造体のメンバー)を逆参照しようとしている時点でCUDA_EXCEPTION_5, Warp Out-of-range Address
、cuda-gdbから...を取得します。それに加えて、cuda-gdbがエラーのあるものとして提供するカーネル名と引数(「この時点では機能しない」と報告されています)は、コードで作成したものではありません。
さて、より詳細については:
関連する構造は次のとおりです。
メイン内でカーネルの引数をグループ化しようとしている方法は次のとおりです。
...そしてこれがカーネルで起こることです:
そして最後に、これはcuda-gdbが出力として提供するものです:
私は関数を定義していない__device__
か__global__
、コードでfdivide
....と呼ばれていることに注意する必要があります。
また、デバッガー内でのプログラムの実行の開始時に、cuda cファイルをでコンパイルしているにもかかわらず、次のように言うことが重要かもしれません-arch=sm_20 -g -G -gencode arch=compute_20,code=sm_20
。
この問題を解決するのに役立つ回答やヒント、提案は大歓迎です。私は最近cuda-cでプログラミングを始めたばかりであり、cuda-gdbの経験はあまりないことに注意してください。私がCコードで行ったデバッグのほとんどは、コードのさまざまなポイントで出力をチェックすることによって「手動で」行いました。
また、このコードはtesla M2090で実行されており、2.0アーキテクチャで実行するようにコンパイルされています。
cuda - cuda-gdb にはルート権限が必要ですか?
cuda-sdk
および
cuda-toolkit
パッケージを使用して Arch Linux で GPGPU 開発を行っています。cuda-gdb
単純なプログラムで通常のユーザーとして実行しようとすると、次のようになります。
cuda-gdb
root として実行すると、正常に動作します。
テストプログラムdriver.cu
は次のとおりです。
driver.c
次のコマンドでコンパイルされます。
cuda-gdb
root 権限なしで実行するにはどうすればよいですか?
いくつかの詳細情報: からの出力nvidia-smi
は次のとおりです。
ディスプレイは Quadro に接続されており、Tesla で CUDA アプリケーションを実行しています。
cuda - cuda-memcheckエラーのあるcuda-gdb
私はこのcudaコードを持っています、それはcuda-memcheckで実行するとエラーを返さず、正常に終了し、私が得る結果は実際に期待されたものです...同時に、ファイル "cuda-memcheck-(さまざまなマンバーをここに置いてください).out」が作成され、それは空です。
同じプログラムをcuda-gdbで実行すると、エラーレポートなしで正常に終了します。
しかし、(cuda-gdbの下で)「setcuda memcheck on」を実行してからプログラムを実行すると、次のようなファイル「cuda-memcheck.out」が作成されます。
cuda-memcheckを開始しています...
cuda-memcheckでエラーが発生しました(3,2,2)
これは、cuda-gdb内から「run」を実行するとすぐに発生します。次に、実行が開始された直後(そして実際にはCUFFTカーネルの実行に非常に近い)、次のようになります。
とcuda-gdbがクラッシュします。
私のコードに実際に誤ったmemアクセスがあると見なす必要がありますか?それとも、cuda-memcheckの初期化時に発生するエラーですか?
誰かが前にその行動を見た?
アイデアありがとうございます。
linux - Linuxのnsightでcuda-gdbが機能しない
Ubuntu12.10にcuda5をインストールしましたが、正常に動作しています。ターミナルのcuda-gdbを使用してコンパイルおよびデバッグすることもできます。nsightを使用しようとすると、コードが問題なくコンパイルおよび実行されますが、デバッグしようとすると、次のエラーが発生します。
私はubuntu12.1064ビットを使用しており、GTX 675M(optimus)を使用しているため、optirun(bumblebee)を使用してcuda実行可能ファイルとnsightを起動しています。apt-getを介してcuda-gdbをインストールし、バージョン4.2を取得しました。
一人で(nsightなしで)使えるので問題ないと思います。nsightを変更して、optirunでもcuda-gdbを起動しましたが、同じエラーが発生し続けます。
linux - Linux の nsight が cuda-gdb で動作しない
Ubuntu 12.10 64 ビットに cuda 5 をインストールしました。私は GTX 675M を持っているので、bumblebee を使用して cuda デバイスでアプリを実行しています。バンブルビー(optirun)でnsightを実行しています:
そして、問題なく動作し、アプリケーションをコンパイルして実行できます。問題は、nsight で cuda-gdb を使用しようとすると、デバッグ ボタンをクリックすると次のエラーが発生することです。
しかし、コンソールで cuda-gdb を使用しようとすると、動作します:
何が起こっている可能性がありますか?
macos - cuda-gdb run >console パーミッションが OS X で拒否されました
OS X で CUDA コードをデバッグしようとして>console
いますが、実行すると通常は画面がフリーズするため、モードで実行する必要があります。しかし、「権限が拒否されました」というエラーが表示され続けます。これに対する回避策はありますか?