0

私はg++リンクプロジェクト用のnvccコンパイル済み静的ライブラリに取り組んでいます。最終的な実行可能ファイルでcuda-gdbを使用するにはどうすればよいですか?私が得るのは、printf出力などなしで「プログラムは正常に終了しました」だけです。

静的ライブラリをコンパイルするとき、nvccには間違いなく-g-G引数が与えられています。

これが私のコマンドラインバッファです:

cuda-gdb /home/sean/cuda-workspace/cudasplat/Debug/cudasplat 
NVIDIA (R) CUDA Debugger
5.0 release
Portions Copyright (C) 2007-2012 NVIDIA Corporation
GNU gdb (GDB) 7.2
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/sean/cuda-workspace/cudasplat/Debug/cudasplat...done.
(cuda-gdb) set args -t a1-31 a2-31 a3-31 a4-31 -L 30 -o tx_coverage -d /var/www/userman/plot-temp/ -db -85 -ngs -dbm -R 20
(cuda-gdb) run
Starting program: /home/sean/cuda-workspace/cudasplat/Debug/cudasplat -t a1-31 a2-31 a3-31 a4-31 -L 30 -o tx_coverage -d /var/www/userman/plot-temp/ -db -85 -ngs -dbm -R 20
[Thread debugging using libthread_db enabled]
Exiting...

Program exited normally.
(cuda-gdb)

これは通常、デバッグなしで発生することです。

/home/sean/cuda-workspace/cudasplat/Debug/cudasplat -t  a1-31 a2-31 a3-31 a4-31 -L 30 -o tx_coverage -d /var/www/userman/plot-temp/ -db -85 -ngs -dbm -R 20
            --==[ Welcome To CUDASPLAT! HD v1.4.0a ]==--

Loading "51:52:113:114-hd.sdf" into page 1... Done!
Loading "50:51:113:114-hd.sdf" into page 2... Done!
Loading "50:51:114:115-hd.sdf" into page 3... Done!
Loading "51:52:114:115-hd.sdf" into page 4... Done!
copying 444 mb into device memory (3878 mb free)
finished copy
min_north 50, max_north 52, min_west 113, max_west 115
allocated antenna memory
invalid argument in ../cudapath.cu at line 551
4

1 に答える 1

2
  1. 実行コマンドを発行する前に、ブレークポイントを設定する必要があります。
  2. アプリケーションは適切なエラーチェックを実行しますか?cuda-gdbは、OSのグラフィカルインターフェイスのレンダリングに使用されるGPUを「非表示」にする場合があることに注意してください。たとえば、単一のGPUシステムがあり、ウィンドウ環境(GTKやKDEなど)でcuda-gdbからCUDAアプリケーションを実行する場合、GPUが検出されないため、アプリケーションが失敗する可能性があります。
于 2012-11-28T19:08:36.057 に答える