Составители:
Рубрика:
i=2 U(2+j)=U(5-j)
C цикл 20 j=1
j=1 U(3)=U(4)
C цикл 30 j=2,3
j=2 U(4)=U(3)
j=3 U(5)=U(2)
U
c a b b a ...
1 2 3 4 5 6
i=3 U(3+j)=U(4-j)
C цикл 20 j=1,0 ==> пропускается
C цикл 30 j=1,3
j=1 U(4)=U(3)
j=2 U(5)=U(2)
j=3 U(6)=U(1)
U
c a b b a с
1 2 3 4 5 6
На первый взгляд кажется, что результаты работы программного
фрагмента (А) и результатов его распараллеливания идентичны.
Заметим, однако, что в данном случае рассмотрен лишь один
из восьми возможных при распараллеливании вариантов работы
параллельной системы: порядок исполнения внутренних циклов 20
и 30 параллельными модулями предсказать нельзя (этот порядок
зависит от работы оборудования и распределения работы имеюще-
гося программного окружения); поэтому для вывода о возможности
замены фрагмента (А) распараллеливанием фрагмента (В), необ-
ходимо, кроме того, убедиться в совпадении результатов работы
каждого из возможных при распараллеливании вариантов обра-
ботки фрагмента (В).
3. Следующий вариант обработки (сводящийся к перестановке
порядка исполнения внутренних циклов 20 и 30 параллельными мо-
дулями лишь на первой итерации внешнего цикла) дает результат,
отличный от результата работы фрагмента (А). Действительно, об-
рабатывая исходный массив U,
U
c ... b1 b a ...
1 2 3 4 5 6
133
Страницы
- « первая
- ‹ предыдущая
- …
- 130
- 131
- 132
- 133
- 134
- …
- следующая ›
- последняя »
