Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Новиков. Магистерская диссертация.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
523.12 Кб
Скачать

6 Выбор метода выполнения этапа проекции

Для того чтобы удостовериться в осмысленности использования графических ускорителей, и чтобы выбрать наилучший численный метод решения системы, было решено сравнить методы решения СЛАУ из нескольких готовых библиотек. Для GPU была выбрана библиотека AmgX, а для CPU – Hypre. Эти библиотеки обладают наиболее полным набором возможностей для соответствующих платформа. В частности, каждая из них имеет реализацию алгебраического многосеточного метода (AMG) и стабилизированного метода бисопряженных градиентов (BiCGStab) – наиболее производительных устойчивых современных вычислительных методов.

Тестирование было произведено на 3 типах сцен: без объектов внутри, с расположенной по центру сферой, со 125 равномерно распределенными по сцене сферами. Для валидации использовалась следующая задача математической физики:

График 1: Время достижения требуемой невязки: AMG, пустая область.

График 2: Время достижения требуемой невязки: AmgX область с выколотой сферой.

На машине с Intel Xeon E5620, 32GB RAM и Nvidia Tesla K40c все тесты показали превосходство AmgX над Hypre. Ускорение на GPU достигало 20 раз. Кроме того, было выявлено превосходство AMG над BiCGStab на всех невязках для всех типов задач.

7 Полный многосеточный метод

Как было показано наиболее эффективным методом решения уравнения на этапе проекции является многосеточный метод, вычисления в котором ведутся на сетках различной грубости. В AmgX нет возможности использовать информацию о геометрических свойствах сетки, но геометрическая вариация многосеточного метода эффективнее алгебраической [18], а также потребляет значительно меньше памяти. Следовательно, в свете вышеизложенной информации наиболее выгодным видится использование именно геометрического многосеточного метода.

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

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

Тогда:

где .

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

Имея это в виду, отметим, что при использовании некоторых численных методов на первых итерациях уменьшение вектора ошибки происходит независимо от величины шага сетки h. Такие методы называются сглаживателями [15].

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

Рисунок 2: V-цикл [19]

Способ, когда самая точная сетка не достигается с первого раза, а начиная с некоторого уровня вновь происходит огрубление, называется W-циклом. Последовательная комбинация V-циклов, которая начинается на самой грубой сетке и с каждым новым V-циклом достигает все более точных сеток, называется полным многосеточным методом (Full MultiGrid).

В данной работе используется именно полный многосеточный метод, так как он требует O(n) – в отличие от O(nlogn) для V- и W- циклов - операций для достижения требуемой точности, а значит асимптотически лучше, чем методы, состоящие из V- и W- циклов [19].