어떻게 fortran+mpi 프로그램을 프로파일링 하는지 공부.
인터넷을 찾아보니 주로 사용하는 방법은
(1) gprof 과 gprof2dot 조합 : 컴파일 시 -pg option필요
(2) valgrind, callgrind, kcashegrind 조합 : 컴파일 시 -g option 필요.
인 것 같다.
How to use gprof
(1) compile code with option -pg
(2) run the code : (mpirun generate multiple gmon.out )
export GMON_OUT_PREFIX=gmon.out #optional?
mpirun -np 3 ./run
(3) once gmon.out file is created, run gprof.
gprof run gmon.out.xxx > prof_result.txt
(4) reading prof_result.txt seems to show which subroutine is most time-consumming.