Thread View: comp.sys.ibm.pc.rt
1 messages
1 total messages
Started by "Russell A. Heise"
Wed, 10 Oct 1990 14:51
cpu time usage with xlf in RS/6000
Author: "Russell A. Heise"
Date: Wed, 10 Oct 1990 14:51
Date: Wed, 10 Oct 1990 14:51
61 lines
2290 bytes
2290 bytes
oliveria@engin.umich.edu (ROQUE DONIZETE DE OLIVEIRA) writes:
> How to correctly calculate cpu usage in fortran on the IBM RS/6000 ?
> I tried the following program ( h.f ) :
> C-----------------------------------------------------------------------
> REAL*8 T , T1 , T2 , X
> CALL TIME(T1)
> X = 1.
> DO 10 I=1,100000
> X = X + 10.
> 10 CONTINUE
> WRITE(6,50) X
> 50 FORMAT('X=',D14.7)
> CALL TIME(T2)
> T=T2 -T1
> WRITE(6,100) T
> 100 FORMAT('T=',D14.7)
> STOP
> END
> C-----------------------------------------------------------------------
> SUBROUTINE TIME(T)
> REAL*8 T
> I1 = MCLOCK( )
> T = 60*I1
> RETURN
> END
> C-----------------------------------------------------------------------
>
> xlf -o h.exe h.f
> ** main === End of Compilation 1 ===
> ** time === End of Compilation 2 ===
> 1501-510 Compilation successful for file h.f.
> xanadu% h.exe
> X= .1000001D+07
> T= .4800000D+03
> STOP
> xanadu% time h.exe
> X= .1000001D+07
> T= .4200000D+03
> STOP
> 1.8900u 1.1900s 0:00 91666% 0+0k 0+0io 0pf+0w
>
> As you can see the output T=480 seconds is wrong (it took about a second
> to run). It is probably a mistake in my sample program above. Can someone
> point it out to me ?
> I wished it had the ETIME function as most other unix f77 do.
> Thanks.
An associate recommends changing the two lines:
> I1 = MCLOCK( )
> T = 60*I1
to:
T = DBLE(MCLOCK()/100D0)
The change introduces several points to consider. The documentation for
MCLOCK() is wrong: it gives results in hundredths of a second (not
sixtieths). The "D0" at the end of the division instructs the compiler
to maintain precision appropriate for "REAL*8 T". The DBLE() confirms
the casting from integer to REAL*8.
Russ Heise, AIX Technical Support, IBM
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads