Files
SAPFOR/Sapfor/projects/dvm/fdvm/trunk/examples/redbh.hpf
2025-03-12 14:22:11 +03:00

54 lines
1.5 KiB
Plaintext

PROGRAM REDBH
PARAMETER (N1 = 20,N2 = 10)
REAL A(N1,N2),W
INTEGER ITMAX
!HPF$ DISTRIBUTE (BLOCK,BLOCK) :: A
ITMAX = 20
W = 0.5
!HPF$ INDEPENDENT
DO 1 J = 1,N2
!HPF$ INDEPENDENT
DO 1 I = 1,N1
IF (I.EQ.J) THEN
A(I,J) = N1+2
ELSE
A(I,J) = (-(1.))
ENDIF
1 CONTINUE
DO 2 IT = 1,ITMAX
!HPF$ INDEPENDENT
DO 21 J = 1,N2/2-1
!HPF$ INDEPENDENT
DO 21 I = 1,N1/2-1
A(2*I+1,2*J+1) = W/4*(A(2*I,2*J+1)+A(2*I+2,2*J+1)+
+ A(2*I+1,2*J)+A(2*I+1,2*J+2))+(1-W)*A(2*I+1,2*J+1)
21 CONTINUE
!HPF$ INDEPENDENT
DO 22 J = 1, N2/2-1
!HPF$ INDEPENDENT
DO 22 I = 1,N1/2-1
A(2*I,2*J) = W/4*(A(2*I-1,2*J)+A(2*I+1,2*J)+A(2*I,2*J-1)+
+ A(2*I,2*J+1))+(1-W)*A(2*I,2*J)
22 CONTINUE
!HPF$ INDEPENDENT
DO 23 J = 1,N2/2-1
!HPF$ INDEPENDENT
DO 23 I = 1,N1/2-1
A(2*I,2*J+1) = W/4*(A(2*I-1,2*J+1)+A(2*I+1,2*J+1)+
+ A(2*I,2*J)+A(2*I,2*J+2))+(1-W)*A(2*I,2*J+1)
23 CONTINUE
!HPF$ INDEPENDENT
DO 24 J = 1,N2/2-1
!HPF$ INDEPENDENT
DO 24 I = 1,N1/2-1
A(2*I+1,2*J) = W/4*(A(2*I,2*J)+A(2*I+2,2*J)+A(2*I+1,2*J-1)+
+ A(2*I+1,2*J+1))+(1-W)*A(2*I+1,2*J)
24 CONTINUE
PRINT *,'IT= ',IT
2 CONTINUE
OPEN (3, FILE='REDBH.DAT', FORM='FORMATTED',STATUS='UNKNOWN')
WRITE (3,*) A
CLOSE (3)
END