Лекции по параллельным вычислениям. Гергель В.П - 132 стр.

UptoLike

Составители: 

132
i-й, первой строки матрицы А, а затем все полученные промежуточные векторы
(i=1,2,..,n) складываются. Для получения второй строки матрицы С все строки
матрицы В умножаются на соответствующие элементы второй строки матрицы
А и т.д.
В этой схеме вычислений после каждого шага умножения очередного эле-
мента матрицы А на соответствующую строку матрицы В в каждой подзадаче
(на каждом процессоре) получается строка частичных результатов, которые по-
элементно суммируются со своей строкой матрицы C. Для выполнения сле-
дующего шага умножения строк матрицы В на элементы матрицы А необходи-
мо передать во все подзадачи соответствующие строки матрицы B. Передача
строк матрицы B между подзадачами в данном случае может быть выполнена с
использованием кольцевой структуры информационных связей, т.е. наиболее
подходящей является топология «кольцо».
До начала вычислений в каждой подзадаче i, 0 i<n располагаются iстро-
ки матрицы A и матрицы B. В результате их перемножения подзадача опреде-
ляет i строку частичных результатов искомой матрицы C. Далее подзадачи
осуществляют обмен строками, в ходе которого каждая подзадача передает
свою строку матрицы B следующей подзадаче до завершения всех итераций па-
раллельного алгоритма.
Для случая, когда матрицы состоят из четырех строк и четырех столбцов
(n=4), граф-схема алгоритма и временная диаграмма могут быть представлены
в точно таком же виде, как это показано на рис. 10.1. Для этого достаточно
придать другое содержание обозначениям операций. В частности, теперь пер-
вая цифра в обозначении операции перемножения должна служить для обозна-
чения столбца матрицы A, а вторая – строки матрицы B.
Цифрой 1 теперь обозначена операция объединения первого и второго
столбца, цифрой 2 операция объединения третьего и четвертого столбца, а
цифрой 3 – операция «сборки» всех столбцов искомой матрицы.