私はCUDAにかなり慣れておらず、ここでズボンの座席のそばを少し飛んでいます...
管理者権限を持たないリモートマシンでCUDAプログラムをデバッグしようとしています。プログラムをでコンパイルしてnvcc -g -G
から、cuda-gdbでデバッグしてみます。ただし、gdbがカーネルの呼び出しにヒットするとすぐに(入力する必要はなく、ホストコードでは発生しません)、次のようになります。
(cuda-gdb) run
Starting program: /path/to/my/binary/cuda_clustered_tree
[Thread debugging using libthread_db enabled]
[1]+ Stopped cuda-gdb cuda_clustered_tree
その後、cuda-gdbは私をターミナルにダンプします。もう一度cuda-gdbを実行しようとすると、
An instance of cuda-gdb (pid 4065) is already using device 0. If you believe
you are seeing this message in error, try deleting /tmp/cuda-dbg/cuda-gdb.lock.
回復する唯一の方法はkill -9
cuda-gdbとcuda_clustered_
(後者は私のバイナリの一部であると思います)です。
このマシンには2つのGPUがあり、CUDA 4.1を実行しており(インストールされているものはたくさんありますが、これを設定しPATH
ましLD_LIBRARY_PATH
た)、コンパイルしてdeviceQueryとbandwidthTestを正常に実行します。
必要に応じて、より多くの情報を提供できます。私はオンラインで見つけることができるすべての場所を検索しましたが、これについては何の助けも見つかりませんでした。