Tuesday, March 31, 2009

PNP ALGORITHM PROCESSORS P(NP, NP) ©2009, Light-Symmetry

PROCESSORS P(NP, NP)

RANGE X(N), Y(N)
DISTRIBUTE X ONTO P(BLOCK, *)
DISTRIBUTE Y ONTO P(*, BLOCK)
SHADOW (1) X, Y

REAL A X, Y

ON (P)
! Initialize the array...

OVERALL(I = X, J = Y)
A [I, J] = ...
ENDOVERALL

DO ITER = 1, NITER
DO ICOLOUR = 0, 1
CALL DA_WRITE_HALO(A, (/CYCL, CYCL/), (/1, 1/))

OVERALL(I = X)
OVERALL(J = Y(MOD(ICOLOUR + I, 2) : : 2))
A [I, J] = (A [I, J - 1] + A [I, J +1] + &
& A [I - 1, J] + A [I + 1,J]) / 4
ENDOVERALL
ENDOVERALL
ENDDO
ENDDO
ENDON

0 comments: