NAME
SYNOPSIS
- PROGRAM TEST4
- INTEGER
-
NMAX, ITS
- PARAMETER
-
( NMAX = 100, ITS = 5000 )
- INTEGER
-
I, J
- REAL
-
ALPHA, AVG, T1, T2, TNOSEC
- REAL
-
X( NMAX ), Y( NMAX )
- REAL
-
SECOND
- EXTERNAL
-
SECOND
- INTRINSIC
-
REAL
- DO
-
10 I = 1, NMAX
- X(
-
I ) = REAL( 1 ) / REAL( I )
- Y(
-
I ) = REAL( NMAX-I ) / REAL( NMAX )
- 10
-
CONTINUE
- ALPHA
-
= 0.315
- T1
-
= SECOND( )
- DO
-
30 J = 1, ITS
- DO
-
20 I = 1, NMAX
- Y(
-
I ) = Y( I ) + ALPHA*X( I )
- 20
-
CONTINUE
- ALPHA
-
= -ALPHA
- 30
-
CONTINUE
- T2
-
= SECOND( )
- WRITE(
-
6, 9999 )T2 - T1
- IF(
-
T2-T1.GT.0.0 ) THEN
- WRITE(
-
6, 9998 )1.0 / ( T2-T1 )
- ELSE
- WRITE(
-
6, 9994 )
- END
-
IF
- TNOSEC
-
= T2 - T1
- T1
-
= SECOND( )
- DO
-
50 J = 1, ITS
- DO
-
40 I = 1, NMAX
- Y(
-
I ) = Y( I ) + ALPHA*X( I )
- 40
-
CONTINUE
- ALPHA
-
= -ALPHA
- T2
-
= SECOND( )
- 50
-
CONTINUE
- WRITE(
-
6, 9997 )T2 - T1
- AVG
-
= ( ( T2-T1 ) - TNOSEC ) * 1000./REAL( ITS )
- WRITE(
-
6, 9996 )AVG
- IF(
-
TNOSEC.GT.0.0 ) WRITE( 6, 9995 )1000.*AVG / TNOSEC
- 9999
-
FORMAT( ' Time for 1,000,000 SAXPY ops = ', G10.3, ' seconds' )
- 9998
-
FORMAT( ' SAXPY performance rate = ', G10.3, ' mflops ' )
- 9997
-
FORMAT( ' Including SECOND, time = ', G10.3, ' seconds' )
- 9996
-
FORMAT( ' Average time for SECOND = ', G10.3, ' milliseconds' )
- 9995
-
FORMAT( ' Equivalent floating point ops = ', G10.3, ' ops' )
- 9994
-
FORMAT( ' *** Error: Time for operations was zero' )
- CALL
-
MYSUB(NMAX,X,Y)
- END
- SUBROUTINE
-
MYSUB(N,X,Y)
- INTEGER
-
N
- REAL
-
X(N), Y(N)
- RETURN
- END