Conjugate Gradient: HPF Program II
REAL u(0:n,0:n), r(0:n,0:n), p(0:n,0:n)
REAL q(0:n,0:n), f(0:n,0:n)
!HPF$ DISTRIBUTE u(BLOCK,*)
!HPF$ ALIGN WITH u(:,:) :: r(:,:), p(:,:)
!HPF$ ALIGN WITH u(:,:) :: q(:,:), f(:,:)
INTERFACE
SUBROUTINE a_times_vector( x, y )
REAL, INTENT(IN) :: x(:,:)
REAL, INTENT(OUT) :: y(:,:)
!HPF$ DISTRIBUTE x *(BLOCK,*)
!HPF$ ALIGN y(:,:) WITH *x(:,:)
END SUBROUTINE