並列計算でのgdb /openmpi
Ref :
FAQ: Debugging applications in parallel
MPIを使ったプログラムがセグメンテーションフォルトで落ちたとき gdbを使って原因を探求するやり方.
single threadの場合とgdbの基礎は以下を参照
並列計算でデバッグ@ gdb
mpirun -n 4 xterm -e gdb pararell_program
作戦としてはそれぞれのランクごとにxtermでgdbを起動する.
もちろんこの方法だと,あまりにたくさんの並列数のプログラムをデバッグするのは 大変なので、並列数が少ない場合に起こるバグを調べるのに向いたtipsだ
並列数が大きい場合のgdb tips
もし大並列数のプログラムをデバッグしたい場合は,インタラクティブにgdbを使うのはやめたほうが いいだろう.
mpirun gdb –commands=gdb.cmd mpi_program
gdb.cmd
は GDBに実行してほしいgdbコマンドが書かれている
$ cat gdb.cmd run backtrace quit