並列計算でのgdb /openmpi

Ref :

FAQ: Debugging applications in parallel

MPIを使ったプログラムがセグメンテーションフォルトで落ちたとき gdbを使って原因を探求するやり方.

single threadの場合とgdbの基礎は以下を参照

bxyxvzz.hatenablog.com

並列計算でデバッグ@ gdb

mpirun -n 4 xterm -e gdb pararell_program

作戦としてはそれぞれのランクごとにxtermでgdbを起動する.

もちろんこの方法だと,あまりにたくさんの並列数のプログラムをデバッグするのは 大変なので、並列数が少ない場合に起こるバグを調べるのに向いたtipsだ

並列数が大きい場合のgdb tips

もし大並列数のプログラムをデバッグしたい場合は,インタラクティブgdbを使うのはやめたほうが いいだろう.

mpirun gdb –commands=gdb.cmd  mpi_program

gdb.cmdGDBに実行してほしいgdbコマンドが書かれている

$ cat gdb.cmd

run
backtrace
quit