В High Performance Fortran (HPF) я мог бы указать распределение массивов, участвующих в параллельном вычислении, используя директиву DISTRIBUTE
.Например, следующая минимальная подпрограмма будет суммировать два массива параллельно:
subroutine mysum(x,y,z)
integer, intent(in) :: y(10000), z(10000)
integer, intent(out) :: x(10000),
!HPF$ DISTRIBUTE x(BLOCK), y(BLOCK), z(BLOCK)
x = y + z
end subroutine mysum
Мой вопрос: необходима ли директива DISTRIBUTE
?Я знаю, что на практике это не представляет большого интереса, но мне любопытно, может ли неукрашенная, не директивная программа на Фортране быть действительной программой HPF?