ВУЗ:
Рубрика:
88
ляет использовать типовые параллельные методы выполнения мак-
роопераций в качестве конструктивных элементов при разработке
параллельных способов решения сложных вычислительных задач.
Для понимания проблемы воспользуемся общей процедурой по-
строения параллельных методов решения задачи матричного умно-
жения:
1. Декомпозиция. На основе проведенного выше анализа вы-
берем в качестве фундаментальной подзадачи вычисление произве-
дения
ik kj
a b
. Количество таких подзадач равно
3
n
, и их можно
представить в виде трехмерного массива. Данные, необходимые для
вычисления произведения, определяются компонентами матриц
ik
a
и
kj
b
.
2. Проектирование коммуникаций. Для вычисления значения
элемента матрицы
ij
c
требуется обеспечение коммуникаций между
подзадачами, в которых производится расчет произведений
ik kj
a b
,
(
1,...,
k n
), для последующего суммирования произведений.
3. Укрупнение. Для имеющихся
3
n
мелкозернистых подзадач
могут быть выбраны следующие естественные стратегии их объе-
динения в
p
(
3
p n
) блоков:
одномерное укрупнение по строкам: в новую подзадачу объеди-
няется
/
n p n n
фундаментальных подзадач. Для выполнения
i
-й укрупненной подзадачи требуются матрица
i
A
размерности
/
n p n
и все элементы матрицы
B
;
одномерное укрупнение по столбцам: укрупненная подзадача
содержит
( / )
n n p n
фундаментальных блоков. В этом случае для
вычислений необходимы целиком матрица
A
и матрица
j
B
, со-
стоящая из
/
n n p
элементов;
двумерное укрупнение: производится объединение
/ ( / )
n p n p n
подзадач. Здесь реализуется алгоритм, осно-
ванный на блочном представлении матриц:
1
p
ij ik kj
k
C A B
,
Страницы
- « первая
- ‹ предыдущая
- …
- 86
- 87
- 88
- 89
- 90
- …
- следующая ›
- последняя »
