HPF 2D Jacobi Kernel Source
program jacobi
integer N, m, t
PARAMETER (N=1024)
double precision a(N, N), b(N, N)
CHPF$ processors p(4,8)
CHPF$ template t(N,N)
CHPF$ align a(i,j) with t(i,j)
CHPF$ align b(i,j) with t(i,j)
CHPF$ distribute t(block,block) onto p
C -- Initializations --
C -- Jacobi --
do j = 2, 1024 - 1
do i = 2, 1024 - 1
a(i, j) = 0.25 * (b(i - 1, j) + b(i + 1, j) + b(i, j - 1) +
*b(i, j + 1))
enddo
enddo
do j = 2, 1024 - 1
do i = 2, 1024 - 1
b(i, j) = a(i, j)
enddo
enddo
end