home *** CD-ROM | disk | FTP | other *** search
- PROGRAM PROB11
- C
- C PROBLEM 11
- C
- C REFERENCE: PROBLEMS TO TEST PARALLEL AND VECTOR LANGUAGES
- C CSD-TR 516, COMPUTER SCIENCE, PURDUE UNIVERSITY
- C JOHN R. RICE, MAY 1, 1985
- C
- C REVISED BY JOHN R. RICE AND J. JING, OCT. 1, 1990
- C
- C
- C *************************************************
- C * Adapted for FORTRAN D benchmarking *
- C * by T. HAUPT (haupt@sccs.npac.syr.edu) *
- C * *
- C * Northeast Parallel Architectures Center *
- C * at Syracuse University, Syracuse, NY, USA *
- C *************************************************
- C
- C
- C VERSION SIMD/CM2-1.00
- C ==================================================
- C
- INCLUDE '/usr/include/cm/paris-configuration-fort.h'
- INTEGER KASES,NK,MK,NFMOM
- PARAMETER (KASES=4)
- PARAMETER (NFMOM=4)
- INTEGER N(KASES)
- cmf$ layout N(:serial)
- DATA N / 16384,32768,65536,262144/
- REAL TFMOM(NFMOM)
- cmf$ layout TFMOM(:serial)
-
- DO 50 K = 1, KASES
-
- CALL CM_TIMER_CLEAR(0)
- CALL CM_TIMER_START(0)
- DO MANY=1,100
- NK=N(K)
- CALL DOIT(NK,TFMOM)
- ENDDO
- CALL CM_TIMER_STOP(0)
-
- PRINT *,'PROBLEM 11 WITH N =',NK
- DO I=1,NFMOM
- PRINT *,'MOMENT ',I,' = ',TFMOM(I)
- ENDDO
-
-
- CALL CM_TIMER_PRINT(0)
-
- 50 CONTINUE
- STOP
- END
-
- SUBROUTINE DOIT(NK,TFMOM)
- INTEGER NK,NFMOM
- PARAMETER (NFMOM = 4)
- REAL TFMOM(NFMOM)
- cmf$ layout TFMOM (:serial)
- REAL PI
- DATA PI / 3.1415926 /
- REAL, ARRAY(NK) :: DATES,COSWT
-
- DATES=-[1:NK]*10.0 + 1080.0*SIN(1+[1:NK]*0.0623)
- DATES = AMAX1(0.0,AMIN1(1000.,DATES))
- DATES = ALOG(DATES+1.0)
-
- TFMOM(1) = SUM(DATES)/NK
-
- DO K = 2, NFMOM
- COSWT = COS(PI*[1:NK]*(K-1)/(NK+1)) * DATES
- TFMOM(K) = SUM(COSWT)/NK
- ENDDO
-
-
- c RETURN
- END
-