2. Блочное разбиение матрицы. При блочном (chess-
boardblock) разделении матрица делится на прямоу-
гольные наборы элементов — при этом, как правило, ис-
пользуется разделение на непрерывной основе. Пусть
количество процессоров составляет p=s·q, количе-
ство строк матрицы является кратным s, а количество
столбцов — кратным q, то есть m=k·s и n=l·q. Пред-
ставим исходную матрицу A в виде набора прямоугольных
блоков следующим образом:
,
гдеAij — блок матрицы, состоящий из элементов:
,
При таком подходе целесообразно, чтобы вычисли-
тельная система имела физическую или, по крайней мере,
логическую топологию процессорной решетки из s строк
и q столбцов. В этом случае при разделении данных на не-
прерывной основе процессоры, соседние в структуре ре-
шетки, обрабатывают смежные блоки исходной матрицы.
Следует отметить, однако, что и для блочной схемы
может быть применено циклическое чередование строк
и столбцов.
Рассматриваются три параллельных алгоритма для ум-
ножения квадратной матрицы на вектор. Каждый подход
основан на разном типе распределения исходных данных
(элементов матрицы и вектора) между процессорами.
Разделение данных меняет схему взаимодействия процес-
соров, поэтому каждый из представленных методов суще-
ственным образом отличается от двух остальных.
Классификация архитектур параллельной обработки
В 1966 году М. Флинном был предложен подход к клас-
сификации архитектур вычислительных систем. В основу
было положено понятие потока, под которым понимается
Do'stlaringiz bilan baham: |