IO: Add module subroutines profiling.
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
This commit is contained in:
parent
7a4e402c8a
commit
f435a44065
66
src/io.F90
66
src/io.F90
@ -30,6 +30,12 @@
|
||||
!
|
||||
module io
|
||||
|
||||
#ifdef PROFILE
|
||||
! import external subroutines
|
||||
!
|
||||
use timers, only : set_timer, start_timer, stop_timer
|
||||
#endif /* PROFILE */
|
||||
|
||||
! include external procedures
|
||||
!
|
||||
use blocks, only : pointer_meta
|
||||
@ -38,6 +44,12 @@ module io
|
||||
!
|
||||
implicit none
|
||||
|
||||
#ifdef PROFILE
|
||||
! timer indices
|
||||
!
|
||||
integer , save :: ioi, iow, ios
|
||||
#endif /* PROFILE */
|
||||
|
||||
! data file type
|
||||
!
|
||||
character , save :: ftype = "p"
|
||||
@ -106,6 +118,18 @@ module io
|
||||
!
|
||||
!-------------------------------------------------------------------------------
|
||||
!
|
||||
#ifdef PROFILE
|
||||
! set timer descriptions
|
||||
!
|
||||
call set_timer('I/O initialization' , ioi)
|
||||
call set_timer('I/O snapshot writing', iow)
|
||||
call set_timer('I/O snapshot reading', ios)
|
||||
|
||||
! start accounting time for module initialization/finalization
|
||||
!
|
||||
call start_timer(ioi)
|
||||
#endif /* PROFILE */
|
||||
|
||||
! read values of the module parameters
|
||||
!
|
||||
call get_parameter_integer("nres" , nres )
|
||||
@ -129,6 +153,12 @@ module io
|
||||
with_ghosts = .false.
|
||||
end select
|
||||
|
||||
#ifdef PROFILE
|
||||
! stop accounting time for module initialization/finalization
|
||||
!
|
||||
call stop_timer(ioi)
|
||||
#endif /* PROFILE */
|
||||
|
||||
!-------------------------------------------------------------------------------
|
||||
!
|
||||
end subroutine initialize_io
|
||||
@ -155,6 +185,12 @@ module io
|
||||
!
|
||||
if (dtout <= 0.0d+0 .or. nfile > (int(t / dtout))) return
|
||||
|
||||
#ifdef PROFILE
|
||||
! start accounting time for the data writing
|
||||
!
|
||||
call start_timer(iow)
|
||||
#endif /* PROFILE */
|
||||
|
||||
#ifdef HDF5
|
||||
! store data file
|
||||
!
|
||||
@ -165,6 +201,12 @@ module io
|
||||
!
|
||||
nfile = nfile + 1
|
||||
|
||||
#ifdef PROFILE
|
||||
! stop accounting time for the data writing
|
||||
!
|
||||
call stop_timer(iow)
|
||||
#endif /* PROFILE */
|
||||
|
||||
!-------------------------------------------------------------------------------
|
||||
!
|
||||
end subroutine write_data
|
||||
@ -185,6 +227,12 @@ module io
|
||||
!
|
||||
!-------------------------------------------------------------------------------
|
||||
!
|
||||
#ifdef PROFILE
|
||||
! start accounting time for the data writing
|
||||
!
|
||||
call start_timer(iow)
|
||||
#endif /* PROFILE */
|
||||
|
||||
! increase the file counter
|
||||
!
|
||||
nrest = nrest + 1
|
||||
@ -195,6 +243,12 @@ module io
|
||||
call write_data_h5('r')
|
||||
#endif /* HDF5 */
|
||||
|
||||
#ifdef PROFILE
|
||||
! stop accounting time for the data writing
|
||||
!
|
||||
call stop_timer(iow)
|
||||
#endif /* PROFILE */
|
||||
|
||||
!-------------------------------------------------------------------------------
|
||||
!
|
||||
end subroutine write_restart_data
|
||||
@ -216,6 +270,12 @@ module io
|
||||
!
|
||||
!-------------------------------------------------------------------------------
|
||||
!
|
||||
#ifdef PROFILE
|
||||
! start accounting time for the data reading
|
||||
!
|
||||
call start_timer(ios)
|
||||
#endif /* PROFILE */
|
||||
|
||||
! set restart file number
|
||||
!
|
||||
nrest = nres
|
||||
@ -226,6 +286,12 @@ module io
|
||||
call read_data_h5()
|
||||
#endif /* HDF5 */
|
||||
|
||||
#ifdef PROFILE
|
||||
! stop accounting time for the data reading
|
||||
!
|
||||
call stop_timer(ios)
|
||||
#endif /* PROFILE */
|
||||
|
||||
!-------------------------------------------------------------------------------
|
||||
!
|
||||
end subroutine restart_job
|
||||
|
@ -140,7 +140,7 @@ integrals.o : integrals.F90 blocks.o coordinates.o equations.o \
|
||||
evolution.o mpitools.o
|
||||
interpolations.o : interpolations.F90 blocks.o coordinates.o parameters.o
|
||||
io.o : io.F90 blocks.o coordinates.o equations.o error.o \
|
||||
evolution.o mpitools.o random.o refinement.o
|
||||
evolution.o mpitools.o random.o refinement.o timers.o
|
||||
mesh.o : mesh.F90 blocks.o coordinates.o domains.o equations.o \
|
||||
error.o interpolations.o mpitools.o problems.o refinement.o \
|
||||
timers.o
|
||||
|
Loading…
x
Reference in New Issue
Block a user