84 integer(i4),
dimension(max_timers),
save ::
cycles1
86 integer(i4),
dimension(max_timers),
save ::
cycles2
90 character(len = 8),
dimension(max_timers),
save ::
status
121 integer(i4),
intent(in) :: timer
123 if (
status(timer) .eq.
'running')
then
159 integer(i4),
intent(in),
optional :: timer
161 if (
present(timer))
then
193 integer(i4),
intent(in) :: timer
197 if (
status(timer) .eq.
'stopped')
then
229 integer(i4),
intent(in) :: timer
236 if (
status(timer) .eq.
'stopped')
then
237 write(*,
"(' CPU time for timer',i3,':',1p,e16.8)") &
241 write(*,
"(' CPU time for timer',i3,':',1p,e16.8)") &
270 integer(i4),
intent(in) :: timer
276 if (
status(timer) .eq.
'stopped')
then
277 call system_clock(count =
cycles1(timer))
304 integer(i4),
intent(in) :: timer
306 if (
status(timer) .eq.
'running')
then
312 call system_clock(count =
cycles2(timer))
362 integer(i4) :: cycles
379 call system_clock(count_rate = cycles, count_max =
cycles_max)
381 if (cycles /= 0)
then
385 print *,
'--- No system clock available ---'
Define number representations.
integer, parameter sp
Single Precision Real Kind.
integer, parameter i4
4 Byte Integer Kind
integer(i4), dimension(max_timers), save, public cycles1
cycle number at start for each timer
subroutine, public timer_stop(timer)
Stop a timer.
real(sp) function, public timer_get(timer)
Return a timer.
subroutine, public timer_check(timer)
Check a timer.
real(sp), save, public clock_rate
clock_rate in seconds for each cycle
integer(i4), save, public cycles_max
max value of clock allowed by system
integer(i4), dimension(max_timers), save, public cycles2
cycle number at stop for each timer
subroutine, public timer_clear(timer)
Reset a timer.
subroutine, public timers_init
Initialise timer module.
subroutine, public timer_start(timer)
Start a timer.
real(sp), dimension(max_timers), save, public cputime
accumulated cpu time in each timer
character(len=8), dimension(max_timers), save, public status
timer status string
integer(i4), parameter, public max_timers
max number of timers allowed
subroutine, public timer_print(timer)
Print a timer.