Алгоритмы параллельных вычислений и программирование. Бурова И.Г - 166 стр.

UptoLike

где T(n) n компонента вектора T, а P(i
0
1
: i
00
1
, . . . , i
0
n
: i
00
n
) сек-
ция решетки виртуальных процессоров.
Положим i
0
= (i
0
1
, . . . , i
0
n
), i
00
= (i
00
1
, . . . , i
00
n
). При упомянутом
применении директивы MAP n задача будет выполняться на секции
процессоров P
α
, мультииндекс α = (α
1
, . . . , α
n
) которых удовлетво-
ряет условиям i
0
α i
00
(или в эквивалентном виде i
0
j
α
j
i
00
j
,
j = 1, . . . , n).
Замечание. Все массивы, сопоставленные задаче T(n), будут
автоматически переданы на ту же секцию виртуальных процессо-
ров, на которую отображена задача T(n).
Для сопоставления блоков программы задачам существует две
формы отображения: статическая и динамическая.
Статическая форма аналогична параллельной секции в Open
MP (аналогично директиве SECTIONS), и здесь она выглядит так
C описание массива задач
CDVM$ TASK MB(3)
......................
CDVM$ TASK_REGION MB
CDVM$ ON MB(1)
CALL JACOBY(A1,B1,M1,N1)
CDVM$ END ON
CDVM$ ON MB(2)
CALL JACOBY(A2,B2,M2,N2)
CDVM$ END ON
CDVM$ ON MB(3)
CALL JACOBY(A3,B3,M3,N3)
CDVM$ END ON
CDVM$ END TASK_REGION
В динамической форме каждая операция цикла отображается на
задачу (на секцию процессоров). Например,
CDVM$ TASK_REGION MB
CDVM$ PARALLEL(I) ON MB(I)
DO I=1,NT
...............
END DO
CDVM$ END TASK_REGION
167