Files
SAPFOR/projects/dvm_svn/fdvm/trunk/examples/jach.hpf
2025-03-25 21:09:33 +03:00

45 lines
1.4 KiB
Plaintext

PROGRAM JACH
PARAMETER (L=8, ITMAX=20)
REAL A(L,L), B(L,L)
CHPF$ DISTRIBUTE ( BLOCK, BLOCK) :: A
CHPF$ ALIGN B(I,J) WITH A(I,J)
C arrays A and B with block distribution
PRINT *, '********** TEST_JACH **********'
C nest of two INDEPENDENT loops, iteration (i,j) will be executed on
C processor, which is owner of element A(i,j)
CHPF$ INDEPENDENT
DO 1 J = 1, L
CHPF$ INDEPENDENT
DO 1 I = 1, L
A(I, J) = 0.
IF(I.EQ.1 .OR. J.EQ.1 .OR. I.EQ.L .OR. J.EQ.L) THEN
B(I, J) = 0.
ELSE
B(I, J) = ( 1. + I + J )
ENDIF
1 CONTINUE
DO 2 IT = 1, ITMAX
CHPF$ INDEPENDENT
DO 21 J = 2, L-1
CHPF$ INDEPENDENT
DO 21 I = 2, L-1
A(I, J) = B(I, J)
21 CONTINUE
CHPF$ INDEPENDENT
DO 22 J = 2, L-1
CHPF$ INDEPENDENT
DO 22 I = 2, L-1
B(I, J) = (A( I-1, J ) + A( I, J-1 ) + A( I+1, J)+
* A( I, J+1 )) / 4
22 CONTINUE
PRINT 300, IT
300 FORMAT(' IT = ',I4)
2 CONTINUE
3 OPEN (3, FILE='JACH.DAT', FORM='FORMATTED', STATUS='UNKNOWN')
WRITE (3,*) B
CLOSE (3)
END