Нижегородский государственный университет им. Н.И.Лобачевского
Опубликован: 02.10.2012 | Доступ: свободный | Студентов: 1754 / 201 | Длительность: 17:47:00
Специальности: Программист
Лекция 7:

Умножение разреженных матриц

Результаты вычислительных экспериментов

Вычислительные эксперименты для оценки эффективности параллельного варианта метода верхней релаксации проводились при условиях, указанных во введении. С целью формирования симметричной положительно определенной матрицы элементы подматрицы L генерировались в диапа-зоне от 0 до 1, значения элементов подматрицы R получались из симметрии матриц L и R, а элементы на главной диагонали (подматрица D) генерировались в диапазоне от n до 2n, где n – размер матрицы.

В качестве критерия остановки использовался критерий остановки по точности (7.51) с параметром \varepsilon =10^{-6} а итерационный параметр \omega =1.1 . Во всех экспериментах метод нашел решение с требуемой точностью за 11 итераций. Как и для предыдущих экспериментов, ускорение будем фиксировать по сравнению с параллельной программой, запущенной в один поток.

Таблица 7.20. Результаты экспериментов (метод верхней релаксации)
n 1 поток Параллельный алгоритм
2 потока 4 потока 6 потоков 8 потоков
T S T S T S T S
2500 0,73 0,47 1,57 0,30 2,48 0,25 2,93 0,22 3,35
5000 3,25 2,11 1,54 1,22 2,67 0,98 3,30 0,80 4,08
7500 7,72 5,05 1,53 3,18 2,43 2,36 3,28 1,84 4,19
10000 14,60 9,77 1,50 5,94 2,46 4,52 3,23 3,56 4,10
12500 25,54 17,63 1,45 10,44 2,45 7,35 3,48 5,79 4,41
15000 38,64 26,36 1,47 15,32 2,52 10,84 3,56 8,50 4,54

Рис. 7.50.

Эксперименты демонстрируют неплохое ускорение (порядка 4 на 8-и потоках).

Метод сопряженных градиентов

Рассмотрим систему линейных уравнений (7.49) с симметричной, положительно определенной матрицей A размера n\times n. Основой метода сопряженных градиентов является следующее свойство: решение системы линейных уравнений (7.49) с симметричной положительно определенной матрицей A эквивалентно решению задачи минимизации функции

F(x)=\frac {1}{2}(Ax,x)-(b,x) ( 7.56)
в пространстве R^n . В самом деле, функция F(x) достигает своего минимального значения тогда и только тогда, когда ее градиент
\bigtriangledown F(x)=Ax-b ( 7.57)
обращается в ноль. Таким образом, решение системы (7.49) можно искать как решение задачи безусловной минимизации (7.56).

Последовательный алгоритм

С целью решения задачи минимизации (7.56) организуется следующий итерационный процесс.

Подготовительный шаг (s=0) определяется формулами

x^{(1)}=x^{(0)}+\alpha_0h^{(0)}, r^{(0)}=h^{(0)}=b-Ax^{(0)}
. где x^{(0)} – произвольное начальное приближение; а коэффициент \alpha_0 вычисляется как
\alpha_0=\frac{(r^{(0)},r^{(0)})}{(Ah^{(0)},h^{(0)})}
Основные шаги (
s=1, 2,…, n–1
) определяются формулами
\alpha_s=\frac{(r^{(s)},r^{(s)})}{(Ah^{(s)},h^{(s)})},r^{(s+1)}=r^{(s)}-\alpha_sAh^{(s)},\\
\beta_s=\frac{(r^{(s+1)},r^{(s+1)})}{(r^{(s)},r^{(s)})},h^{(s+1)}=r^{(s+1)}+\beta_sh^{(s)},\\
x^{(s+1)}=x^{(s)}+\alpha_sh^{(s)}.
Здесь r^{(s)}=b-Ax^{(s) – невязка s -го приближения, коэффициент \beta_s находят из условия сопряженности
(Ah^{(s)},h^{(s+1)})=0
направлений h^{(s)} и h^{(s+1)}; \alpha^{(s)} является решением задачи минимизации функции F по направлению h_s
F(x_s+\alpha h_s)\to min.

Анализ расчетных формул метода показывает, что они включают две операции умножения матрицы на вектор, четыре операции скалярного произведения и пять операций над векторами. Однако на каждой итерации произведение Ah^{(s)} достаточно вычислить один раз, а затем использовать сохраненный результат. Общее количество числа операций, выполняемых на одной итерации, составляет

t_1=2n^2+13n.

Таким образом, выполнение L итераций метода потребует

T_1=L(2n^2+13n) ( 7.58)
операций. Можно показать, что для нахождения точного решения системы линейных уравнений с положительно определенной симметричной матрицей необходимо выполнить не более n итераций, тем самым, сложность алгоритма поиска точного решения имеет порядок O(n^3). Однако ввиду ошибок округления данный процесс обычно рассматривают как итераци- онный, процесс завершается либо при выполнении обычного условия остановки (7.51) , либо при выполнении условия малости относительной нормы невязки
\|r^{(k)}\|/\|b\|\le\varepsilon .

Организация параллельных вычислений

При разработке параллельного варианта метода сопряженных градиентов для решения систем линейных уравнений в первую очередь следует учесть, что выполнение итераций метода осуществляется последовательно и, тем самым, наиболее целесообразный подход состоит в распараллеливании вычислений, реализуемых в ходе выполнения итераций.

Анализ последовательного алгоритма показывает, что основные затраты на s-й итерации состоят в умножении матрицы A на вектора h_{s-1} и h_s. Как ре- зультат, при организации параллельных вычислений могут быть использованы известные методы параллельного умножения матрицы на вектор.

Дополнительные вычисления, имеющие меньший порядок сложности, представляют собой различные операции обработки векторов (скалярное произведение, сложение и вычитание, умножение на скаляр). Организация таких вычислений, конечно же, должна быть согласована с выбранным параллельным способом выполнения операция умножения матрицы на вектор.

Выберем для дальнейшего анализа эффективности получаемых параллельных вычислений параллельный алгоритм матрично-векторного умножения при ленточном горизонтальном разделении матрицы. При этом операции над векторами, обладающие меньшей вычислительной трудоемкостью, также будем выполнять в многопоточном режиме.

Вычислительная трудоемкость последовательного метода сопряженных градиентов определяется соотношением (7.58). Определим время выполнения параллельной реализации метода сопряженных градиентов. Вычислительная сложность параллельной операции умножения матрицы на вектор при использовании схемы ленточного горизонтального разделения матрицы составляет

2n(2n -1)/ p +\delta ,
где n – длина вектора, p – число потоков, \delta – накладные расходы на созда- ние и закрытие параллельной секции.

Все остальные операции над векторами (скалярное произведение, сложение, умножение на константу) могут быть выполнены в однопоточном режиме, т.к. не являются определяющими в общей трудоемкости метода. Следовательно, общая вычислительная сложность параллельного варианта метода сопряженных градиентов может быть оценена как

T_p=L\left(\frac{2n^2}{p}+13n+\delta\right),
где L – число итераций метода.

Результаты вычислительных экспериментов

Вычислительные эксперименты для оценки эффективности параллельного варианта метода сопряженных градиентов для решения систем линейных уравнений с симметричной положительно определенной матрицей прово- дились при условиях, указанных во введении. Элементы на главной диагонали матрицы A) генерировались в диапазоне от n до 2n, где n – размер матрицы, остальные элементы генерировались симметрично в диапазоне от 0 до 1. В качестве критерия остановки использовался критерий остановки по точности (7.51) с параметром\varepsilon=10^{-6}.

Результаты вычислительных экспериментов приведены в таблице 7.21(время работы алгоритмов указано в секундах).

Таблица 7.21. Результаты экспериментов (метод сопряженных градиентов)
n 1 поток Параллельный алгоритм
2 потока 4 потока 6 потоков 8 потоков
T S T S T S T S
500 0,02 0,01 1,64 0,01 2,56 0,01 2,56 0,01 2,56
1000 0,21 0,16 1,26 0,10 2,09 0,07 2,88 0,05 3,83
1500 0,65 0,48 1,36 0,27 2,41 0,19 3,42 0,15 4,20
2000 1,32 0,94 1,41 0,53 2,51 0,38 3,48 0,29 4,50
3000 3,42 2,34 1,46 1,33 2,58 0,96 3,56 0,74 4,63
4000 6,49 4,54 1,43 2,53 2,56 1,80 3,60 1,40 4,62
5000 11,02 7,41 1,49 4,17 2,65 2,98 3,70 2,31 4,78

Рис. 7.51.

Так как операция умножения матрицы на вектор – основная по трудоемкости операция на одной итерации метода – распараллеливается хорошо, то и эффективность распараллеливания метода сопряженных градиентов будет линейная, что подтверждается приведенным графиком.

Спад ускорения при N=500 объясняется недостаточной вычислительной нагрузкой, которая приходится на каждый процесс (этот эффект будет проиллюстрирован и в дальнейшем при решении дифференциальных уравнений в частных производных). Использовать более чем 4 потока для решения данной задачи при N\le500 – нецелесообразно.

Дмитрий Остапенко
Дмитрий Остапенко

поддерживаю выше заданые вопросы

 

Павел Каширин
Павел Каширин

Скачал архив и незнаю как ничать изучать материал. Видео не воспроизводится (скачено очень много кодеков, различных плееров -- никакого эффекта. Максимум видно часть изображения без звука). При старте ReplayMeeting и Start в браузерах google chrome, ie возникает script error с невнятным описанием. В firefox ситуация еще интереснее. Выводится: 

Meet Now: Кукаева Светлана Александровна. 

Meeting Start Time: 09.10.2012, 16:58:04
Meeting Stop Time: 09.10.2012, 18:45:18
Recording Duration:01:47:14

Downloading...

Your Web browser is not configured to play Windows Media audio/video files.

Make sure the features are enabled and available.