|
Анализ матричных вычислений. Ленточный метод, блочный метод. Анализ матричных вычислений. Ленточный метод, блочный метод. Актуальность
Анализ матричных вычислений. Ленточный метод, блочный метод.
Актуальность Матричные вычисления, являясь вычислительно трудоемкими, представляют собой классическую область применения параллельных вычислений. Использование высокопроизводительных многопроцессорных систем позволяет существенно повысить сложность решаемых задач. В силу своей достаточно простой формулировки матричные операции предоставляют прекрасную возможность для демонстрации многих приемов и методов параллельного программирования.
Принципы распараллеливания Выбор способа разделения матриц приводит к определению конкретного метода параллельных вычислений; существование разных схем распределения данных порождает целый ряд параллельных алгоритмов матричных вычислений. Наиболее общие и широко используемые способы разделения матриц состоят в разбиении данных на полосы (по вертикали или горизонтали) или на прямоугольные фрагменты (блоки).
Ленточное разбиение матрицы При ленточном разбиении каждому процессору выделяется то или иное подмножество строк (горизонтальное разбиение) или столбцов (вертикальное разбиение) матрицы. Разделение строк и столбцов на полосы в большинстве случае происходит на непрерывной (последовательной) основе.
Ленточный метод
Преимущества ленточного алгоритма ленточный параллельный алгоритм обладает хорошей «локальностью вычислений»; нет взаимодействия между потоками, нет необходимости в синхронизации.
Блочное разбиение матрицы При построении параллельных способов выполнения матричного умножения наряду с рассмотрением матриц в виде наборов строк и столбцов широко используется блочное представление матриц. В этом случае не только результирующая матрица, но и матрицы-аргументы матричного умножения разделяются между потоками параллельной программы на прямоугольные блоки.
Блочный метод Для нумерации подзадач используются индексы размещаемых в подзадачах блоков матрицы C, т.е. подзадача (i,j) отвечает за вычисление блока Cij–тем самым, набор подзадач образует квадратную решетку, соответствующую структуре блочного представления матрицы C.
Результаты вычислений с использованием блочного метода
Выводы 1. Богачев К.Ю. Основы параллельного программирования [Текст]: учебник / К.Ю. Богачев. – М.: БИНОМ. Лаборатория знаний, 2003. — 366 с. 2. Воеводин В.В. Параллельные вычисления [Текст]: учебное пособие / В.В. Воеводин. – СПб.: БХВ-Петербург, 2002. — 219 с. 3. Немнюгин С.И. Параллельное программирование для многопроцессорных вычислительных систем [Текст]: учебник / С.И. Немнюгин, Стесик О.И. – Москва: МЦНМО, 2009. — 288 с.
Спасибо за внимание! |
|
|