Составители:
Рубрика:
Замечание. В отличие от соседних общих данных здесь в пра-
вой и левой частях присваивания имеется массив B, т.е. присутству-
ет зависимость по данным. Поэтому теневые грани массива стати-
чески (т.е. перед выполнением цикла) огранизовать нельзя. Здесь
такие грани поддерживаются динамически в процессе работы цик-
ла.
§ 10. Пример программы. Отладка.
Заключительные замечания
Отметим некоторые характерные черты технологии DVM:
1) DVM-программа может выполняться на любом числе про-
цессоров, начиная с одного процессора;
2) директивы DVM-программы не зависят от количества про-
цессоров;
3) нет зависимости DVM-программы от номеров процессоров;
4) пользователь должен описать явно массив виртуальных про-
цессов с помощью директивы MAP; это количество не должно пре-
вышать числа процессоров, задаваемых при запуске программы с
помощью встроенной функции NUMBER_OF_PROCESSORS().
Пример (параллельная программа, реализующая метод Якоби
для сеточных уравнений).
PROGRAM JAC_DVM
PARAMETER(L=8, ITMAX=20)
REAL A(L,L), B(L,L)
CDVM$ DISTRIBUTE (BLOCK, BLOCK)::A
CDVM$ ALIGN B(I, J) WITH A(I, J)
PRINT*, ’***TEST_JACOBI***’
CDVM$ PARALLEL (J,I) ON A(I,J)
DO J=2, L-1
DO I=2, L-1
A(I,J)=B(I,J)
END DO
END DO
CDVM$ PARALLEL (J,I) ON B(I,J), SHADOW_RENEW(A)
DO J=2, L-1
DO I=2, L-1
B(I,J)=(A(I-1,J)+A(I,J-1)+A(I+1,J)+A(I,J+1))/4
END DO
171
Страницы
- « первая
- ‹ предыдущая
- …
- 168
- 169
- 170
- 171
- 172
- …
- следующая ›
- последняя »