Intel® Fortran Compiler 17.0 Developer Guide and Reference
Intrinsic Subroutine (Generic): Returns a processor-dependent approximation of the processor time in seconds. Intrinsic subroutines cannot be passed as actual arguments.
CALL CPU_TIME (time)
time |
(Output) Must be scalar and of type real. |
The time returned is summed over all active threads. The result is the sum (in units of seconds) of the current process's user time and the user and system time of all its child processes, if any.
If a meaningful time cannot be returned, a processor-dependent negative value is returned.
If you want to estimate performance or scaling of multithreaded applications, you should use intrinsic subroutine SYSTEM_CLOCK or portability function DCLOCK. Both of these routines return the elapsed time from a single clock.
Consider the following:
REAL time_begin, time_end
...
CALL CPU_TIME ( time_begin )
!
! task to be timed
!
CALL CPU_TIME ( time_end )
WRITE (*,*) 'Time of operation was ', time_end - time_begin, ' seconds'