автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.18, диссертация на тему:Совершенствование методов моделирования течений с химическими превращениями и их реализация на графических процессорах

кандидата технических наук
Евсеев, Александр Владимирович
город
Иваново
год
2011
специальность ВАК РФ
05.13.18
Диссертация по информатике, вычислительной технике и управлению на тему «Совершенствование методов моделирования течений с химическими превращениями и их реализация на графических процессорах»

Автореферат диссертации по теме "Совершенствование методов моделирования течений с химическими превращениями и их реализация на графических процессорах"

005003102

На правах рукописи

ЕВСЕЕВ Александр Владимирович

СОВЕРШЕНСТВОВАНИЕ МЕТОДОВ МОДЕЛИРОВАНИЯ

ТЕЧЕНИЙ С ХИМИЧЕСКИМИ ПРЕВРАЩЕНИЯМИ И ИХ РЕАЛИЗАЦИЯ НА ГРАФИЧЕСКИХ ПРОЦЕССОРАХ

Специальность 05.13.18 - "Математическое моделирование,

численные методы и комплексы программ"

АВТОРЕФЕРАТ диссертации на соискание учёной степени кандидата технических наук

- 1 ДЕН 2011

Иваново 2011

005003102

Работа выполнена в ФГБОУВПО "Ивановский государственный энергетический университет им. В.И. Ленина"

Научный руководитель д-р физ.-мат. наук,

профессор Ф.Н. Ясинский

Официальные оппоненты: д-р техн. наук, проф. E.H. Калинин

д-р физ.-мат. наук, проф. А.И. Григорьев

Ведущая организация ФГБОУВПО "Ивановский государственный

химико-технологический университет"

Защита диссертации состоится 21 декабря 2011 г. в 11-00 часов в ауд. Б-237 на заседании диссертационного совета Д 212.064.03 при ИГЭУ (153003, г. Иваново, ул. Рабфаковская, 34)

С диссертацией можно ознакомиться в библиотеке ИГЭУ.

Автореферат разослан 21 ноября 2011 г.

Учёный секретарь

//х/ / /

^L^aAT

диссертационного совета U^aAt^---A.A. Шульпин

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

Актуальность темы

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

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

Моделирование течений, осложнённых химическими процессами, является сложной математической и вычислительной задачей.

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

При решении уравнений Навье - Стокса требуется многократно использовать уравнение "Пуассона. Оно является вычислительно сложным и составляет основную вычислительную нагрузку.

Моделирование активно реагирующей среды требует надёжного метода решения жёстких дифференциальных уравнений. В качестве такого метода может выступать метод Гира на основе формул дифференцирования назад (ФДН). Его преимуществом по сравнению с многошаговыми методами является возможность использования стратегий с переменным шагом интегрирования и простое построение параллельной схемы.

К настоящему времени существует множество работ по моделированию как обычных течений, так и осложнённых различными физико-химическими реакциями.

Основы методов моделирования были заложены в работах С.К. Годунова, H.H. Калиткина, A.A. Самарского, Р.П. Федоренко, Г.И. Марчука, Л.Г. Лойцян-ского, H.H. Яненко, Р. Хокни, Дж. Бетчелора, Г. Биркгофа, Д. Андерсона.

Значительный вклад в моделирование турбулентных течений внесли А.Дж. Рейнольде, В.М. Ковеня, В.А. Перминов, A.M. Гришин, С.А. Лосев, А.Е. Алоян, П.Г. Фрик, Б. Сполдинг, С. Патанкар.

Проблемы интегрирования уравнений химической кинетики описываются в работах У. Гира, JI.C. Полака, Э. Хайрера.

В сфере научных вычислений всё большую популярность набирают вычисления с использованием графических ускорителей. Современные видеоакселераторы представляют собой массивно-параллельные процессоры с общей памятью. В отличие от центрального процессора с несколькими ядрами, один графический процессор содержит от нескольких десятков до одной тысячи ядер, которые могут проводить вычисления параллельно. Наиболее развитой на данный момент технологией является система CUDA (Compute Unified Device Architecture), предложенная компанией NVidia в 2007 году.

Использование кластерных систем с системой параллельного программирования MPI (Message Passing Interface) и графических ускорителей для решения описанных задач приводится в работах В.Э. Витковского, H.A. Сахарных, Дж. Коуэна (J.Cohen), Я. Джао (Y. Zhao), Т. Брандвика (T. Brandvik).

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

Цель работы

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

Задачи исследования

Поставлены следующие задачи исследования:

1. Исследовать существующие способы решения уравнений Навье -Стокса, Пуассона, химической кинетики, массообмена.

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

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

4. Разработать стратегию распараллеливания для решения поставленной задачи с учётом предложенной методики оптимизации на гетерогенном супер-

компьютере с несколькими графическими ускорителями, позволяющую значительно уменьшить время решения задачи.

5. Использовать разработанные методы для решения ряда задач: модельное плоское ламинарное движение, расчёт поведения воздушных масс в районе над лесным пожаром, окислительные превращения метана.

Методы исследования

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

Научная новизна

1. Разработаны новые параллельные вычислительные алгоритмы методов решения уравнений Навье - Стокса и Пуассона для системы С1ША.

2. Разработана новая параллельная реализация метода Гира для системы США.

3. Предложен и разработан способ интерполяции многосеточного метода на основе полиномов Лагранжа для системы С1ЮА.

4. Разработано новое алгоритмическое и программное обеспечение, позволяющее моделировать течения, осложнённые химическими превращениями, с использованием суперкомпьютера с несколькими графическими ускорителя-миСША.

Практическая ценность работы

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

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

Разработанные программы могут быть использованы для быстрого решения ряда практически значимых задач. Например, моделирование распространения воздушных масс при пожарах, воздействие лазерного излучения на вещество, получение новых топлив из продуктов окисления апканов. Ценность комплекса в том, что решения можно получать оперативно, в режиме реального времени для больших объёмов данных.

Реализация и внедрение результатов работы

Предложенные параллельные схемы и алгоритмы были внедрены в процесс выполнения комплексного проекта по созданию высокотехнологичного производства "Разработка программно-технического комплекса обнаружения и прогнозирования крупномасштабных природных пожаров" (2010-218-02-139)

при поддержке Министерства образования и науки РФ (ГК № 13Х}25.31.0077) сотрудниками ГОУВПО "Ивановский институт ГПС МЧС России".

Составные части представленного программного комплекса зарегистрированы в Федеральной службе по интеллектуальной собственности, патентам и товарным знакам.

Апробация работы

Основные положения диссертационной работы докладывались и обсуждались на следующих конференциях: межвузовская научно-техническая конференция аспирантов и студентов "Молодые учёные - развитию текстильной и лёгкой промышленности" (ГТОИСК-2009) (Иваново, 2009); IX международная конференция "Высокопроизводительные параллельные вычисления на кластерных системах" (Владимир, 2009); X международная научно-практическая конференция "Фундаментальные и прикладные исследования, разработка и применение высоких технологий в промышленности" (Санкт-Петербург, 2010); X международная конференция "Высокопроизводительные параллельные вычисления на кластерных системах" (НРС-2010) (Пермь} 2010); V международная научно-практическая конференция "Пожарная и аварийная безопасность" (Иваново, 2010); межвузовская научно-техническая конференция аспирантов и студентов "Молодые учёные - развитию текстильной и лёгкой промышленности" (ПОИСК-2011) (Иваново, 2011); семинар "Физико-химическая кинетика в газовой динамике" НИИ механики МГУ (Москва, 6 октября 2011 года).

Публикации

По теме диссертации опубликовано 14 работ, среди которых 4 публикации в ведущих рецензируемых изданиях, рекомендованных в действующем перечне ВАК, 6 публикаций в трудах и материалах конференций, 2 монографии, 2 свидетельства о государственной регистрации программы для ЭВМ.

Личный вклад автора

Основные научные и практические результаты диссертации получены автором лично. В работе [1] автору принадлежит методика численного моделирования задачи динамики вязкой несжимаемой жидкости на графических ускорителях с системой США. В [2, 6] автором предложен способ организации вычислений указанной выше задачи на системе с несколькими графическими ускорителями. В работе [3] автором описывается способ решения задачи моделирования течения, осложнённого физико-химическими преобразованиями в системе параллельного программирования США. В работах [4, 5, 10, 11] автором рассматриваются и сравниваются различные способы решения уравнения Пуассона как в однопроцессорном варианте, так и в многопроцессорном. В работах [8, 9] автором предлагается методика организации вычислительного процесса на гетерогенном суперкомпьютере для задач моделирования течения среды, с проходящими в ней физико-химическими процессами. В монографии [12] автором описывается способ решения жёстких задач химической кинетики с

использованием метода Гира. Автор принимал участие в подготовке и представлении докладов на конференциях.

Структура и объём работы

Работа состоит из введения, 4-х глав, заключения и списка цитируемой литературы из 145 наименований. Полный объем диссертации составляет 198 страниц, включая 37 рисунков, 5 таблиц и 2 приложения. Каждая глава разбита на параграфы.

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

В первой главе ставится задача моделирования течений жидкости или газа с протекающими в них многочисленными реакциями множества веществ.

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

где 0 - вектор скорости; Р - давление среды; - вектор массовых сил; V -кинематическая вязкость.

Для решения задачи физико-химической гидродинамики, а именно изучения процесса_переноса вещества при химических и фазовых превращениях, необходимо добавить уравнения массообмена. Перенос вещества в движущейся среде обусловлен двумя различными механизмами. Наличие разности концентраций в жидкости (газе) вызывает молекулярную диффузию. Кроме того, частицы вещества, растворенного в жидкости, увлекаются последней при её движении и переносятся вместе с ней. Совокупность обоих процессов называется конвективной диффузией:

где С} - концентрация у'-го вещества; — коэффициент диффузии у'-го вещества; N - число веществ. Член Щ определяет изменение концентрации у'-го вещества в результате химических реакций с течением времени.

ОСНОВНОЕ СОДЕРЖАНИЕ РАБОТЫ

(I)

йыи = 0,

х, г ее, —

31 дх, ы дх~

(2)

Система дифференциальных уравнений химической кинетики определяется набором химических реакций. Это система обыкновенных дифференциальных уравнений первого порядка следующего вида:

¿г Л' К Л" _

-1М;ГК" (3)

и ' /-1 «-] /:.I ж-1

где — стехиометрический коэффициент при ¡-м веществе в левой части ¡-й реакции; /2,у — стехиометрический коэффициент при ¡-м веществе в правой части j-й реакции;.-(, - константа скорости ¡-й реакции.

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

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

Во второй главе приводится теоретическое описание существующих способов решения уравнений Навье - Стокса как в естественных переменных "Скорост ь - Давление", так и в математических - "Вихрь - Функция тока".

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

Подобные системы уравнений удобно решать с помощью метода прогонки (Томаса). Суть его состоит в решении системы линейных уравнений, заданной в виде Ах=Г, где А - трёхдиагональная матрица, построением рекуррентных соотношений, основанном на методе исключений Гаусса.

Параграф 2.4 посвяшён исследованию различных способов решения уравнения Пуассона. Все численные методы решения уравнения можно условно разделить на две группы: итерационные и прямые. Среди итерационных методов рассматриваются метод верхней релаксации, метод Ричардсона, метод Дугласа - Писмана - Рекфорда и попеременно-треугольный метод. Из прямых методов исследуется метод неполной редукции РДСЯ.

Метод верхней релаксации имеет достаточно простой итерационный процесс. Влияющим фактором на этот процесс является параметр релаксации 0.

Идея Л. Ричардсона состоит в том, чтобы на каждом шаге менять итерационный параметр т. Показано, что при специальном выборе последовательности шагов г1,2,...,я), называемой далее циклом, метод будет сходиться к стационарному решению в О (А/) раз быстрее, чем при итерациях с постоянным оптимальным шагом т.

Главное отличие метода Дугласа - Писмана - Рекфорда состоит в том, что он основан на схеме переменных направлений. В нем также используется последовательность шагов хк (к - 1,2,...,«), зависящая от номера итерации.

В попеременно-треугольном методе используется расщепление исходного сеточного оператора на два треугольных оператора, для которых потом используется схема бегущего счета.

Алгоритм РАСЛ, предложенный Р. Хокни, основывается на алгоритме циклической редукции. В методе используется то обстоятельство, что редукцию можно остановить на любом уровне г и решить полученные уравнения с помощью преобразования Фурье. Уровень г, на котором редукция останавливается, служит теперь параметром. Этот параметр можно варьировать для минимизации числа арифметических операций.

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

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

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

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

Но более точным и устойчивым является многозначный метод Гира, использующий подход, получивший название ФДН-метод в представлении Норд-сика, поскольку в нём используется одноимённый вектор:

2 = 0(4) 2 р!

где у - неизвестная функция; к - шаг по времени; р - порядок метода Гира.

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

Третья глава посвящена построению параллельных схем методов для графических ускорителей США, а также для объединений этих ускорителей в рамках одной системы или кластера компьютерных систем.

Отдельно в параграфе 3.1 предлагается способ повышения точности сеточных методов с использованием многосеточного метода. Он состоит в последовательном укрупнении шага расчётной сетки и вычислении оператора сглаживания сетки до достижения максимально допустимой грубой сетки, на которой достигается минимальная необходимая точность решения. После этого вычисляется поправка и происходит процесс её обратного распространения на более точные сетки. Графически это представлено на рис.1.

О «;<-Ке1ах(4„./Л) п ,

А,< и. М:'ъ

и*-О/МаЛ?)

О <- ЯеЬхИ«,/«) О«- <-/»<- Со,* -лЩ) о^ШСць

"нл' <-Ке1ахМЯ(,,_/8,) О, О «

О

Рис. I. Алгоритм многосеточного метода

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

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

Интерполяционный полином в форме Лагранжа имеет вид

мм, - . (5)

:„,)..г -х [/, (.«,) = 0,5 * г,

где п - степень полинома; у, - исходная функция; /, (л-) - базисные полиномы. Двумерный интерполяционный полином строится следующим образом-

1,М>>У,) = о. Л-/; 10

Л(>0= п^. (7)

р=О.х.-Х VI - Уч

р*< 4*1

¡=0 О

где т - степень полинома по второй переменной; г,у - исходная табличная двумерная функция.

Пусть имеется некоторая сеточная функция 2,у и сетка [л„ V,], 0 < / < п, 0</<т. Исходя из вышеизложенного, для того, чтобы перейти от одной сетки к другой, необходимо в первую очередь построить новую сетку [ х'г,у'ч ], 0 <р < п', 0 < ^ < т', а затем по полученным узлам сетки построит!, новую сеточную функцию г , используя (8).

В параграфе 3.2 приведены разработанные параллельные алгоритмы для систем с разделённой памятью, использующие МР1.

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

При построении параллельной схемы метода Дугласа - I [исмана - Рек-форда, а также для интегрирования уравнений Навье - Стокса методами расщепления и переменных направлений был разработан алгоритм двухкаскадного конвейера для вычисления метода прогонки на системах с разделённой памятью в случае распределения данных по узлам. Принцип этого метода представлен на рис. 2 (сплошными линиями показаны вычисления прямых прогоночных коэффициентов, пунктирными - обратных).

' 2-й

1-й ] И | ! М | ; | | ;|| |{11 [

о-й | | || || 1 | | | ;| || I И

процессоры неоптимизированная оптимизированная

прогонка прогонка

Рис. 2. Сокращение времени вычисления прогоночных коэффициентов при использовании алгоритма двухкаскадного конвейера

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

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

В параграфах 3.3 -3.5 исследуется создание параллельных алгоритмов решения поставленной задачи с использованием графических ускорителей CUDA и систем таких ускорителей.

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

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

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

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

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

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

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

Реализуя алгоритмы прогонки в системе С1ШЛ, необходимо учитывать доступ к памяти, поскольку он может существенно повлиять на производительность методов. Если удаётся использовать возможности связанной загрузки данных, то сокращается общее время ожидания загрузки и возрастает эффективность. При организации массивов данных (я, Ь, с, х) для наборов систем уравнений можно располагать данные либо последовательно (система за системой), либо чередовать между собой (первые элементы всех систем, вторые элементы и т.д.). Первый способ подходит для алгоритмов, основанных на циклической редукции, поскольку в них данные каждым блоком считываются только для одной системы. Второй способ эффективен при использовании обычного алгоритма прогонки, так как в данном случае один блок решает несколько систем одновременно и каждый поток считывает один и тот же элемент данных только у разных систем. Таким образом, достигается связанная загрузка данных для каждого элемента.

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

Одним из преимуществ системы США является возможность одновременного использования нескольких ускорителей, установленных в компьютер. В ряде задач это позволяет существенно повысить скорость вычислений. Однако имеется одно важное архитектурное ограничение - не существует иного способа обмена данными между ускорителями, кроме как через ОЗУ компьютера в той части программы, которая выполняется на центральном процессоре.

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

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

Также, как и в случае с системами MPI, нетривиальным является решение трёхдиагональных систем, когда данные распределены между графическими ускорителями. Как уже указывалось выше, в этом случае пересылки данных между ними необходимо осуществлять через центральный процессор и ОЗУ, следовательно, эффективные параллельные алгоритмы, например параллельная циклическая редукция, становятся крайне неэффективными, если прогонку необходимо провести на данных, находящихся на разных картах. Также неэффективным оказывается и каскадный алгоритм, предложенный для систем MPI, поскольку он содержит большое число обменов данньми.

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

Использование гетерогенного суперкомпьютера оправдано в случае моделирования полей большой размерности, поскольку в этом случае расчётные сетки не смогут поместиться в памяти одной системы.

Гетерогенный кластер можно создать на основе любых обычных компьютеров с графическими ускорителями CUDA, объединённых в сеть. В этом случае вычислительная среда является комбинацией технологий параллельного программирования и разделяется на три уровня: MPI - отвечает за обмен данными между узлами кластерной системы; ОрепМР - обеспечивает создание многопоточного окружения на каждом узле кластера, необходимого для работы с несколькими ускорителями и для полноценного использования многоядерных процессоров; CUDA - выполняет основные вычисления.

Основные результаты исследования приведены в параграфе 3.6, описывающем сравнение предложенных параллельных схем, оценки ускорения и достигнутые результаты.

В первую очередь, для более корректного сравнения, было решено сравнить производительность и масштабируемость методов в среде параллельного

программирования МР1 для кластерных систем и для систем с графическими ускорителями С1ГОА (рис. 3).

мс

1000000

100000

10000

1000

100

10

32*32 64x64 128x128 256x256 512x512 1024x1024

размер сетки

Рис. 3. Сравнение методов решения уравнения Пуассона на различных платформах

Как видно из приведённых графиков, производительность параллельных алгоритмов в системе CUDA начинает преобладать над системами MPI при увеличении расчётных областей. Это связано с возрастанием загрузки устройства. Алгоритмы для CUDA рассчитаны так, чтобы иметь большой объём данных для обработки, и в этом их главное преимущество перед традиционными системамиМР1. При увеличении объёмов данных разрыв увеличивается, поскольку в этом случае графические ускорители не будут работать вхолостую, ожидая данных, а будут максимально загружены вычислениями.

Производительность методов решения трёхдиагональных систем в CUDA значительно превосходит MPI. Так, производительность MPI зависит от направления, в котором производится прогонка. В случае, когда данные распределены по узлам, используется каскадный алгоритм, обладающий заведомо меньшей производительностью. Кроме того, алгоритмы на С1ГОАвыигрывают в том, что они рассчитаны на одновременное решение набора трёхдиагональных систем. В случае использования обычного алгоритма прогонки, вычисляемого одним потоком, каждый мультипроцессор графического ускорителя может вычислять 128 систем одновременно, а с учётом того, что на любой графической карте имеется N таких мультипроцессоров, то в целом одна карта может производить вычисления /Ух 128 систем.

Метод верхней релаксации (CPU) -•-Метод

Ричардсона (CPU) Метод FACR (CPU)

-«-Метод верхней

релаксации (MPI) ~— Метод

Ричардсона (MPI) -•-Метод FACR (MPI)

Метод верхней релаксации (CUDA) Метод

Ричардсона (CUDA) Метод FACR (CUDA)

При вычислении методом Гира с использованием библиотеки CVODE были протестированы три доступные реализации векторных операций: последовательная (CPU) и параллельные в системах MPI и CUDA. Результаты сравнения производительности векторных операций представлены на рис. 4. Как видно из графиков, CUDA-реализация векторных операций начинает выигрывать в производительности при увеличении размерности векторов, характеризующих количество веществ и реакций между ними. Таким образом, это позволит строить химические модели многокомпонентных смесей со сложными реакциями между ними, и их число может измеряться тысячами и сотнями тысяч.

мс

Длина вектора

Рис. 4. Сравнение векторных операций на различных платформах

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

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

В четвертой главе предлагается решение ряда задач гидродинамики и химической кинетики с использованием полученных алгоритмов. Показывается их точность и достоверность.

В параграфе 4.1 предлагается модельная задача гидродинамики нахождения плоского ламинарного течения. Она позволяет проверить достоверность и точность предложенных быстрых численных алгоритмов. Ускорение вычислений составляет более 20 раз при размерах области 256x256 по сравнению с обычным последовательным вариантом.

В параграфе 4.2 ставится задача моделирования распространения воздушных масс в районе над лесным пожаром. В ней применяется модель турбулентности, основанная на методе осреднения по Рейнольдсу (RANS). Идея этого метода заключается в замене случайно изменяющихся характеристик потока (скорость, давление, плотность) суммами осреднённых и пульсационкых составляющих. Важно отметить, что одной из составляющих предложенной модели турбулентности является температура среды и её усреднённые и пульса-циоиные величины. Это позволяет учитывать сложный характер конвективного движения нагретых воздушных масс. При использовании расчётной сетки 512*256 получаемое ускорение составляет более 12 раз по сравнению с последовательным вариантом, что позволяет моделировать поведение в реальном времени, оперативно получая результаты.

Параграф 4.3 посвящен моделированию задачи химической кинетики по газофазному окислению метана. В рассматриваемой задаче используется достаточно подробная модель окисления метана, включающая 63 реакции и 23 вещества. Она позволяет определить точность вычисления метода Гира с помощью разработанных параллельных алгоритмов. Ускорение получается в 4 раза при использовании одного CUDA устройства. Выигрыш не настолько значителен, как при сравнении векторных операций, но это объясняется прежде всего тем, что число задействованных веществ и реакций было не достаточно велико и не позволило полностью раскрыть потенциал системы CUDA.

В заключении приводятся выводы и результаты по работе в целом.

ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ II ВЫВОДЫ

1. Подробно исследовано уравнение Пуассона и различные методы его численного решения. Произведено сравнение методов друг с другом. Рассмотрены параллельные варианты на предмет быстроты и точности в системах MPI и CUDA.(Получено свидетельство о государственной регистрации программы.)

2. Разработаны и реализованы усовершенствованные алгоритмы решения задачи гидродинамики в переменных "Скорость - Давление" и "Вихрь -Функция тока". Предложены как двумерные, так и трёхмерные варианты.

3. Предложена методика оптимизации вычислительного процесса с использованием многосеточного подхода с функциями перехода между сетками на основе интерполяционных полиномов Лагранжа.

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

5. Построен программный комплекс для решения гидродинамических задач с физико-химическими превращениями, сочетающий в себе решение уравнений Навье - Стокса, Пуассона, диффузии, химической кинетики в системе параллельного программирования CUDA. (Получено свидетельство о государственной регистрации программы.)

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

ОСНОВНЫЕ ПУБЛИКАЦИИ ПО ТЕМЕ РАБОТЫ

Публикации в изданиях, рекомендованных ВАК РФ:

1. Ясинский, Ф.Н. О решении уравнения Навье - Стокса в переменных "Функция тока - Вихрь" на многопроцессорной вычислительной машине с использованием системы США / Ф.Н. Ясинский, A.B. Евсеев // Вестник ИГЭУ. -2010.-Вып. 3.-С. 73-75.

2. Ясинский, Ф.Н. Использование системы с несколькими ускорителями CUDA для решения уравнения Навье - Стокса в переменных "Функция тока -Вихрь" / Ф.Н. Ясинский, A.B. Евсеев // Вестник ИГЭУ. - 2010. - Вып. 4. -С. 86-89.

3. Евсеев, A.B. О моделировании физико-химических течений при большом числе реагирующих веществ [Электронный ресурс] // Физико-химическая кинетика в газовой динамике. - 2011. - Т. 12. - Режим доступа http:// www.chemphys.edu.ru/pdf/2011-05-05-001.pdf

4. Евсеев, A.B. О моделировании течения воздушных масс, осложнённых физико-химическими процессами, при большом числе реагирующих веществ с использованием графических ускорителей / A.B. Евсеев // Вестник ИГЭУ. - 2011. - Вып. 3. - С. 40-43.

Труды конференций:

5. Евсеев, A.B. Распараллеливание методов решения уравнения Пуассона / A.B. Евсеев, Ф.Н Ясинский // Высокопроизводительные параллельные вычисления на кластерных системах: материалы Девятой международной конференции-семинара (Владимир, 2-3 ноября 2009 г.). - Владимир: Изд-во ВГУ, 2009.-С. 167-168.

6. Евсеев, A.B. Вопросы распараллеливания уравнения Пуассона и сравнение эффективности различных вариантов / A.B. Евсеев // Высокие технологии, исследования, промышленность: сб. тр. Девятой международной научно-практической конференции "Исследование, разработка и применение высоких технологий в промышленности". - СПб.: Изд-во Политехи, ун-та, 2010. - Т.З. -С. 46-52.

7. Евсеев, A.B. О решении уравнения Навье - Стокса в переменных "Функция тока - Вихрь" с использованием системы с несколькими графическими ускорителями / A.B. Евсеев, Ф.Н. Ясинский // Высокопроизводительные параллельные вычисления на кластерных системах (НРС-2010): материалы X международной конференции (Пермь, 1-3 ноября 2010 г.). - Пермь: Изд-во ПГТУ, 2010. - Т. 1. - С. 245-251.

Тезисы:

8. Евсеев, А.В.О моделировании свойств тканей, содержащих магнитные наночастицы / A.B. Евсеев, Ф.Н. Ясинский // Молодые учёные - развитию текстильной и лёгкой промышленности (ПОИСК-2009): сб. материалов межвузовской научно-технической конференции аспирантов и студентов / ИГТА. - Иваново, 2009.-С. 175-176.

9. Евсеев, А.В.Моделирование течения жидкости на гетерогенном кластере с использованием MPI, OpenMP и CVDA / A.B. Евсеев // Молодые учёные - развитию текстильной и лёгкой промышленности (ПОИСК-2011): сб. материалов межвузовской научно-технической конференции аспирантов и студентов / ИГТА. - Иваново, 2011. - С. 333-334.

10. Евсеев, A.B. О моделировании течения жидкости с помощью уравнения Навье - Стокса в переменных "Функция тока - Вихрь" на гетерогенном суперкомпьютере / A.B. Евсеев, Ф.Н. Ясинский // Сборник трудов V Международной научно-практической конференции "Пожарная и аварийная безопасность". - Иваново, 2010. - 4.1. - С. 169-170.

Прочие издания:

П.Евсеев A.B. Методы решения уравнения Пуассона / A.B. Евсеев, Ф.Н. Ясинский / ИГТА. - Иваново, 2009. - 108 с.

12. Малый И .А. Математическое моделирование горения и взрыва. 4.1. Метод Гира. Химическая кинетика. Течения, сопровождающиеся горением / И.А. Малый, Ф.Н. Ясинский, О.В. Потемкина, С.Г. Сидоров, A.B. Евсеев, И.Ф. Ясинский. - Иваново, 2011. - 92с.

13. Евсеев A.B. Система численного параллельного решения уравнения Пуассона в системах MPI и CUDA"ParallelPoissonSolvers'7 A.B. Евсеев // Свидетельство о государственной регистрации программы для ЭВМ №2011617028 от 9.09.2011.

К.Евсеев A.B. Система моделирования распространения воздушных масс в районе над лесным пожаром "ForestFireDynamics"/ A.B. Евсеев // Свидетельство о государственной регистрации программы для ЭВМ №2011616155 от 5.08.2011.

ЕВСЕЕВ Александр Владимирович

Совершенствование методов моделирования течений с химическими превращениями и их реализация на графических процессорах

Автореф. дисс. на соискание учёной степени кандидата технических наук Подписано в печать /Формат 60x84 1/16. Печать плоская. Усл.печл. 1,16. Тираж 100 экз. Заказ №

ФГБОУВПО "Ивановский государственный энергетический университет имени В.И. Ленина" Отпечатано в УИУНЛ ИГЭУ 153003, г. Иваново, ул. Рабфаковская, 34.

Я

Оглавление автор диссертации — кандидата технических наук Евсеев, Александр Владимирович

ВВЕДЕНИЕ.

ГЛАВА 1. АНАЛИЗ СОСТОЯНИЯ ПРОБЛЕМЫ.

1.1. Постановка проблемы.

1.2. Обзор существующих разработок в области исследования.

1.3. Пути решения.

ГЛАВА 2. МЕТОДЫ РЕШЕНИЯ ЗАДАЧ ФИЗИКО-ХИМИЧЕСКОЙ ГИДРОДИНАМИКИ.

2.1. Расчёт в переменных "Скорость - Давление".

2.2. Расчёт в переменных "Вихрь - Функция тока".

2.3. Интегрирование динамических уравнений.

2.4. Методы решения уравнения Пуассона.

2.5. Методы решения жёстких систем обыкновенных дифференциальных уравнений.

2.6. Выводы.

ГЛАВА 3. ОПТИМИЗАЦИЯ И РАСПАРАЛЛЕЛИВАНИЕ ВЫЧИСЛИТЕЛЬНОГО ПРОЦЕССА.

3.1. Многосеточный подход с функциями перехода на основе полиномов Лагранжа.

3.2. Создание параллельных схем с использованием MPI.

3.3. Создание параллельных схем в системе CUDA. Проблемы, пути решения.

3.4. Создание параллельной схемы для нескольких устройств CUDA.

3.5. Перспективы, проблемы и подходы к созданию параллельных схем в гетерогенной среде.

3.6. Сравнение параллельных схем.

3.7. Выводы.

ГЛАВА 4. ПРИМЕНЕНИЕ РЕЗУЛЬТАТОВ ИССЛЕДОВАНИЯ.

4.1. Моделирование плоского течения.

4.2. Моделирование распространения воздушных масс в районе над лесным пожаром.

4.3. Моделирование задачи химической кинетики по газофазному окислению метана.

4.4. Выводы.

Введение 2011 год, диссертация по информатике, вычислительной технике и управлению, Евсеев, Александр Владимирович

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

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

Моделирование течений, осложнённых химическими процессами, является сложной математической и вычислительной задачей.

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

При решении уравнений Навье - Стокса требуется многократно использовать уравнение Пуассона. Оно является вычислительно сложным и составляет основную вычислительную нагрузку.

Моделирование активно реагирующей среды требует надёжного метода решения жёстких дифференциальных уравнений. В качестве такого метода может выступать метод Гира на основе формул дифференцирования назад (ФДН). Его преимуществом по сравнению с многошаговыми методами является возможность использования стратегий с переменным шагом интегрирования и простое построение параллельной схемы.

К настоящему времени существует множество работ по моделированию как обычных течений, так и осложнённых различными физико-химическими реакциями.

Основы методов моделирования были заложены в работах С.К. Годунова, H.H. Калиткина, A.A. Самарского, Р.П. Федоренко, Г.И. Марчука, Л.Г. Лойцян-ского, H.H. Яненко, Р. Хокни, Дж. Бетчелора, Г. Биркгофа, Д. Андерсона [4; 11; 12; 27; 45; 57; 75; 76; 82; 100].

Значительный вклад в моделирование турбулентных течений внесли А.Дж. Рейнольде, В.М. Ковеня, В.А. Перминов, A.M. Гришин, С.А. Лосев, А.Е. Алоян, П.Г. Фрик, С. Патанкар [2; 3; 29; 30; 50; 54; 63; 64; 69; 70; 72; 89].

Проблемы интегрирования уравнений химической кинетики описываются в работах У. Гира, Л.С. Полака, Э. Хайрера [71; 90; 91; 115-117].

В сфере научных вычислений всё большую популярность набирают вычисления с использованием графических ускорителей. Современные видеоакселераторы представляют собой массивно-параллельные процессоры с общей памятью. В отличие от центрального процессора с несколькими ядрами, один графический процессор содержит от нескольких десятков до одной тысячи ядер, которые могут проводить вычисления параллельно. Наиболее развитой на данный момент технологией является система CUD A (Compute Unified Device Architecture), предложенная компанией NVidia в 2007 году [126].

Использование кластерных систем с системой параллельного программирования MPI (Message Passing Interface) [123] и графических ускорителей для решения описанных задач приводится в работах В.Э. Витковского, H.A. Сахарных, Дж. Коуэна (J. Cohen), Я. Джао (Y. Zhao), Т. Брандвика (Т. Brandvik) [24; 77; 106; 109-111; 131; 132; 145].

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

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

Поставлены следующие задачи исследования:

1. Исследовать существующие способы решения уравнений Навье -Стокса, Пуассона, химической кинетики, массообмена.

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

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

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

5. Использовать разработанные методы для решения ряда задач: модельное плоское ламинарное движение, расчёт поведения воздушных масс в районе над лесным пожаром, окислительные превращения метана.

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

Научная новизна:

1. Разработаны новые пар'аллельные вычислительные алгоритмы методов решения уравнений Навье - Стокса и Пуассона для системы С1ЮА.

2. Разработана новая параллельная реализация метода Гира для системы США.

3. Предложен и разработан способ интерполяции многосеточного метода на основе полиномов Лагранжа для системы С1ЮА.

4. Разработано новое алгоритмическое и программное обеспечение, позволяющее моделировать течения, осложнённые химическими превращениями, с использованием суперкомпьютера с несколькими графическими ускорителями США.

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

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

Разработанные программы могут быть использованы для быстрого решения ряда практически значимых задач. Например, моделирование распространения воздушных масс при пожарах, воздействие лазерного излучения на вещество, получение новых топлив из продуктов окисления алканов. Ценность комплекса в том, что решения можно получать оперативно, в режиме реального времени для больших объёмов данных.

Предложенные параллельные схемы и алгоритмы были внедрены в процесс выполнения комплексного проекта по созданию высокотехнологичного производства "Разработка программно-технического комплекса обнаружения и прогнозирования крупномасштабных природных пожаров" (2010-218-02-139) при поддержке Министерства образования и науки РФ (ГК № 13.G25.31.0077) сотрудниками ГОУ ВПО "Ивановский институт ГПС МЧС России".

Составные части представленного программного комплекса зарегистрированы в Федеральной службе по интеллектуальной собственности, патентам и товарным знакам [40; 41].

Основные положения диссертационной работы докладывались и обсуждались на следующих конференциях: межвузовская научно-техническая конференция аспирантов и студентов "Молодые учёные - развитию текстильной и лёгкой промышленности" (ПОИСК-2009) (Иваново, 2009); IX международная конференция "Высокопроизводительные параллельные вычисления на кластерных системах" (Владимир, 2009); X международная научно-практическая конференция "Фундаментальные и прикладные исследования, разработка и применение высоких технологий в промышленности" (Санкт-Петербург, 2010); X международная конференция "Высокопроизводительные параллельные вычисления на кластерных системах" (НРС-2010) (Пермь, 2010); V международная научно-практическая конференция "Пожарная и аварийная безопасность" (Иваново, 2010); межвузовская научно-техническая конференция аспирантов и студентов "Молодые учёные - развитию текстильной и лёгкой промышленности" (ПОИСК-2011) (Иваново, 2011); семинар "Физико-химическая кинетика в газовой динамике" НИИ механики МГУ (Москва, 6 октября 2011 года).

По теме диссертации опубликовано 14 работ, среди которых 4 публикации в ведущих рецензируемых изданиях, рекомендованных в действующем перечне ВАК, 6 публикаций в трудах и материалах конференций, 2 монографии и 2 свидетельства о государственной регистрации программы для ЭВМ.

Работа состоит из введения, четырёх глав, заключения и списка цитируемой литературы из 145 наименований. Полный объем диссертации составляет 198 страниц, включая 37 рисунков, 5 таблиц и 2 приложения. Каждая глава разбита на параграфы.

Заключение диссертация на тему "Совершенствование методов моделирования течений с химическими превращениями и их реализация на графических процессорах"

ОСНОВНЫЕ ВЫВОДЫ И РЕЗУЛЬТАТЫ

1. Подробно исследовано уравнение Пуассона и различные методы его численного решения. Произведено сравнение методов друг с другом. Рассмотрены параллельные варианты на предмет быстроты и точности в системах MPI и CUDA. (Получено свидетельство о государственной регистрации программы.)

2. Разработаны и реализованы усовершенствованные алгоритмы решения задачи гидродинамики в переменных "Скорость - Давление" и "Вихрь -Функция тока". Предложены как двумерные, так и трёхмерные варианты.

3. Предложена методика оптимизации вычислительного процесса с использованием многосеточного подхода с функциями перехода между сетками на основе интерполяционных полиномов Лагранжа.

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

5. Построен программный комплекс для решения гидродинамических задач с физико-химическими превращениями, сочетающий в себе решение уравнений Навье - Стокса, Пуассона, диффузии, химической кинетики в системе параллельного программирования CUDA. (Получено свидетельство о государственной регистрации программы.)

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

Библиография Евсеев, Александр Владимирович, диссертация по теме Математическое моделирование, численные методы и комплексы программ

1. Алоян, А.Е. Моделирование динамики и кинетики газовых примесей и аэрозолей в атмосфере / А.Е. Алоян. М.: Наука, 2008.

2. Алоян, А.Е. Моделирование динамики аэрозолей при лесных пожарах / А.Е. Алоян // Известия РАН: Физика атмосферы и океана. 2009. - Т.45. -№ 1. - С. 62-75.

3. Андерсон, Д. Вычислительная гидромеханика и теплообмен : пер. с англ., в 2-х томах. / Д. Андерсон, Дж. Таннехилл, Р. Плетчер. М.: Мир, 1990.

4. Аргучинцев, В. К. Моделирование мезомасштабных гидротермодинамических процессов и переноса антропогенных примесей в атмосфере и гидросфере региона оз. Байкал / В.К. Аргучинцев, A.B. Аргучинцева. Иркутск: Изд-во Иркут. гос. ун-та, 2007.

5. Арутюнов, B.C., Басевич В.Я., Веденеев В.И. Романович Л.Б. // Кинетика и катализ.-М.: Наука, 1996. Т.37. - № 1.-С.20-27.

6. Арутюнов, B.C. Окислительные превращения метана / B.C. Арутюнов, О.В. Крылов. -М.: Наука, 1998.

7. Бабич, В.М. Линейные уравнения математической физики / В.М. Бабич, М.Б. Капилевич, С.Г. Михлин. М.: Наука, 1964.

8. Балаев, Э.Ф. Численные методы и параллельные вычисления для задач механики жидкости, газа и плазмы / Э.Ф.Балаев, Н.В.Нуждин, В.В.Пекунов, С.Г.Сидоров, Л.П.Чернышева, И.Ф.Ясинский, Ф.Н.Ясинский. Иваново: ИГЭУ, 2003.

9. Бахвалов, Н.С. Численные методы / Н.С. Бахвалов, Н.П. Жидков, Г.М. Кобельков. М: БИНОМ. Лаборатория знаний, 2004.

10. Бетчелор, Дж. Введение в динамику жидкости пер. с англ. / Дж. Бетче-лор. -М.: Мир, 1973.

11. Биркгоф, Г. Гидродинамика пер. с англ. / Г. Биркгоф. М.: Издательство иностранной литературы, 1963.

12. Блохин, A.M. Об одном варианте метода прямых для уравнения Пуассона / A.M. Блохин, A.C. Ибрагимова, Н.Ю. Красников // Вычислительные технологии. Вып. №2(12)/2007. - С. 33-42.

13. Боресков, A.B. Основы работы с технологией CUDA / A.B. Боресков, A.A. Харламов. М.: ДМК Пресс, 2010.

14. Букатов, A.A. Программирование многопроцессорных вычислительных систем / A.A. Букатов, В.Н. Дацюк, А.И. Жегуло. Ростов-на-Дону: Издательство ООО "ЦВВР", 2003.

15. Василевский, Ю.В. Краткий курс по многосеточных методам и методам декомпозиции области : учеб. пособие / Ю.В. Василевский, М.А. Ольшанский. М.: МАКС ПРЕСС, 2007.

16. Василевский, Ю.В. Практикум по современным вычислительным технологиям и основам математического моделирования : учеб. пособие / Ю.В. Василевский, И.В. Капырин. М.: МАКС ПРЕСС, 2009.

17. Веденеев В.И., Гольденберг М.Я., Горбань Н.И., Тейтельбойм М.А. // Кинетика и катализ. Т.29. - № 1.-М.: Наука, 1988. - С.7-13.

18. Веденеев В.И., Гольденберг М.Я., Горбань Н.И., Тейтельбойм М.А. // Кинетика и катализ. Т.29. - № 1.-М.: Наука, 1988. - С.14-20.

19. Веденеев В.И., Гольденберг М.Я., Горбань Н.И., Тейтельбойм М.А. // Кинетика и катализ. Т.29. - № 6.-М.: Наука, 1988. - С.1291-1296.

20. Веденеев В.И., Гольденберг М.Я., Горбань Н.И., Тейтельбойм М.А. // Кинетика и катализ. Т.29. - № 6. - М.: Наука, 1988. - С.1297-1304.

21. Воеводин, В.В. Параллельные вычисления / В.В. Воеводин, Вл.В. Воеводин. -М.: БХВ-Санкт-Петербург, 2002.

22. Ворожцов, Е.В. Разностные методы решения задач механики сплошных сред : учеб. пособие / Е.В. Ворожцов. Новосибирск: Изд-во НГТУ, 1998.

23. Годунов, С.К. Разностные схемы. Введение в теорию / С.К. Годунов, B.C. Рябенький. М.: Наука, 1977. - 2-е изд.

24. Гришин, А. М. Математическое моделирование лесных пожаров и новые способы борьбы с ними / A.M. Гришин. Новосибирск: Наука, 1992.

25. Евсеев, A.B. Методы решения уравнения Пуассона / A.B. Евсеев, Ф.Н. Ясинский / ИГТА. Иваново, 2009. - 108 с.

26. Евсеев, A.B. О моделировании течения воздушных масс, осложнённых физико-химическими процессами, при большом числе реагирующих веществ с использованием графических ускорителей / A.B. Евсеев // Вестник ИГЭУ. -2011.-Вып. З.-С. 40-43.

27. Евсеев, A.B. Система моделирования распространения воздушных масс в районе над лесным пожаром "ForestFireDynamics" / A.B. Евсеев // Свидетельство о государственной регистрации программы для ЭВМ №2011616155 от 5.08.2011.

28. Евсеев, A.B. Система численного параллельного решения уравнения Пуассона в системах MPI и CUDA "ParallelPoissonSolvers" / A.B. Евсеев // Свидетельство о государственной регистрации программы для ЭВМ №2011617028 от 9.09.2011.

29. Евстигнеев, Н.М. Интегрирование уравнения Пуассона с использованием графического процессора технологии CUDA / Н.М. Евстигнеев // Вычислительные методы и программирование. М.: Изд-во МГУ, 2009. - Т. 10. -С. 268-274.

30. Елизарова, Т.Г. Математические модели и численные методы в динамике жидкости и газа. Подходы, основанные на системах квазигазодинамических и квазигидродинамических уравнений : лекции / Т.Г. Елизарова. -М.: Физический факультет МГУ, 2005.

31. Калиткин, H.H. Численные методы I H.H. Калиткин. М.: Наука, 1978.

32. Карпов, В.Е. Методы решения задач физико-химической гидродинамики и построение на их основе параллельных алгоритмов / В.Е. Карпов, А.И. Лобанов // Математическое моделирование. -2006. Вып. №11(18). -С. 95-103.

33. Катаева, Л.Ю. О методе Тира численного моделирования динамических систем, описываемых жёсткими обыкновенными дифференциальными уравнениями / Л.Ю. Катаева, В.Б. Карпухин // Наука и техника транспорта. 2008. - Вып. №1. - С.57-66.

34. Каханер, Д. Численные методы и математическое обеспечение пер. с англ. / Д. Каханер, К. Моулер, С. Нэш. М.: Мир, 1998.

35. Ковеня, В.М. Модификации алгоритмов расщепления для решения уравнений газовой динамики и Навье Стокса / В.М. Ковеня, А.Ю. Слюняев // Вычислительные технологии. - 2007. - Вып. №3(12). - С. 71-86.

36. Ковеня, В.М. Об одном алгоритме решения уравнений Навье Стокса вязкой несжимаемой жидкости / В.М. Ковеня // Вычислительные технологии. - 2006. - Вып. №2(11). - С. 35-45.

37. Кочин, Н.Е. Теоретическая гидромеханика : в 2-х томах / Н.Е. Кочин, И.А. Кибель, Н.В. Розе. М.: Госуд. изд-во физико-математической литературы, 1963.

38. Левин, В.Г. Физико-химическая гидродинамика / В.Г. Левин. М.: Госуд. изд-во физико-математической литературы, 1959. - 2-е изд.

39. Лойцянский, Л.Г. Механика жидкости и газа / Л.Г. Лойцянский. М.: Дрофа, 2003. - 7-е изд.

40. Лосев, С. А. Газодинамические лазеры / С.А. Лосев. М.: Наука, 1977.

41. Малый, И.А. Математическое моделирование горения и взрыва. 4.1. Метод Гира. Химическая кинетика. Течения, сопровождающиеся горением : монография / И.А. Малый, Ф.Н. Ясинский, О.В. Потемкина, С.Г. Сидоров, A.B. Евсеев, И.Ф. Ясинский. Иваново, 2011.

42. Мартыненко, С.И. Универсальная многосеточная технология для численного решения систем дифференциальных уравнений в частных производных / С.И. Мартыненко // Вычислительные методы и программирование. -М.: Изд-во МГУ, 2001. Т.2. - С. 1-11.

43. Марчук, Г.И. Методы вычислительной математики / Г.И. Марчук. М.: Наука, 1977.

44. Матвеева, Н.О. Решение систем линейных алгебраических уравнений на графических процессорах с использованием технологии CUDA / Н.О. Матвеева, В.И. Горбаченко // Известия ПГПУ. Пенза, 2008. - Вып. № 8(12). -С.115-120.

45. Муратова, Г.В. Многосеточный метод для задач конвекции-диффузии с преобладающей конвекцией / Г.В. Муратова // Математическое моделирование. 2001. - Вып. №3(13). - С. 69-76.

46. Новиков, Е.А. Неоднородный метод второго порядка для жёстких систем / Е.А. Новиков // Вычислительные технологии. 2005. - Вып. №2(10).-С. 74-86.

47. Ольшанский, М.А. Лекции и упражнения по многосеточным методам / М.А. Ольшанский. М.: Изд-во ЦПИ при механико-математическом факультете МГУ им М.В. Ломоносова, 2003.

48. Орунханов, М.К. Метод фиктивных областей для уравнений Навъе-Стокса в терминах функции тока и вихря скоростей с неоднородными граничными условиями / М.К. Орунханов, Ш. Смагулов // Вычислительные технологии. 2000. - Вып. №2(5). - С. 46-53.

49. Патанкар, С. Численные методы решения задач теплообмена и динамики жидкости пер. с англ. / С. Патанкар. М.: Энергоатомиздат, 1984.

50. Патанкар, С. Численное решение задач теплопроводности и конвективного теплообмена при течении в каналах пер. с англ. / С. Патанкар. М.: Изд-во МЭИ, 2003.

51. Пекунов, В.В. Численное моделирование распространения загрязнений. Оптимизация и автоматизация распараллеливания /В.В. Пекунов. -Ивагово: ИГЭУ, 2009.

52. Пекунов, В.В. Алгоритмы и программы для многопроцессорных суперкомпьютеров / В.В. Пекунов, С.Г. Сидоров, Л.П. Чернышева и др.. Иваново: ИГЭУ, 2007.

53. Пекунов, В.В. Компромиссная разностная схема для уравнений химической кинетики на основе схем Адамса Моултона и Рожкова /В.В. Пекунов // Вестник ИГЭУ. - Иваново, 2005. - Вып. 4. - С. 92-95.

54. Перминов, В.А. Численное решение задачи о возникновении верхового лесного пожара в трёхмерной постановке / В.А. Перминов // Вестник Томского государственного университета. 2009. - Т.6, № 1. - С.41-48.

55. Полак, Л.С. Вычислительные методы в химической кинетике / JI.C. По-лак, М.Я. Гольденберг, A.A. Левицкий. М.: Наука, 1984.

56. Рейнольде, А.Дж. Турбулентные течения в инженерных приложениях / А.Дж. Рейнольде. -М.: Энергия, 1979.

57. Роуч, П. Вычислительная гидродинамика пер. с англ. / П. Роуч. М.: Мир, 1980.

58. Рынков, А.Д. Численное моделирование газодинамических процессов в камере сгорания авто мобильного устройства безопасности (airbag) / А.Д. Рычков, Н.Ю. Шокина // Вычислительные технологии. 2002. - Вып. №1(7).-С. 106-113.

59. Самарский, A.A. Введение в численные методы / A.A. Самарский. М.: Наука, 1982.

60. Самарский, A.A. Разностные методы решения задач газовой динамики учеб. пособие. / A.A. Самарский, Ю.П. Попов. М.: Наука, 1992.

61. Сахарных, H.A. Моделирование течений в акватории Белого моря: применение массивно-параллельной архитектуры GPU / H.A. Сахарных, С.Б. Березин, В.М. Пасконов // Суперкомпьютеры. 2011. - Вып. №2(6). -С. 51-55.

62. Скворцов, Л.М. Явные многошаговые методы численного решения жестких обыкновенных дифференциальных уравнений / Л.М. Скворцов // Вычислительные методы и программирование. М.: Изд-во МГУ, 2008. -Т.9.-С. 409-418.

63. Федоренко, Р.П. Введение в вычислительную физику учеб. пособие. / Р.П. Федоренко. Долгопрудный: И.Д. "Интеллект", 2008.

64. Физико-химические процессы в газовой динамике. Компьютеризированный справочник в 3-х томах. Т.1. Динамика физико-химических процессов в газе и плазме / Под. ред. Г.Г. Чёрного и С.А. Лосева. М.: Изд-во МГУ, 1995.

65. Физико-химические процессы в газовой динамике. Справочник. Т.2. Физико-химическая кинетика и термодинамика / Под. ред. Г.Г. Чёрного и С.А. Лосева. -М.: Научно-издательский центр механики, 2002.

66. Филатов, Е.Ю. Математическое моделирование течений жидкостей и газов учеб. пособие. / Е.Ю. Филатов, Ф.Н. Ясинский. Иваново: ИГЭУ, 2007.

67. Филатов, Е.Ю. Математическое моделирование течений, осложнённых экзотермическими химическими процессами / Е.Ю. Филатов, Н.В. Нуждин, Ф.Н. Ясинский // Вестник ИГЭУ. Иваново, 2004. - Вып. 3. - С. 150.

68. Филатов, Е.Ю. О методах оптимизации и распараллеливания задач вычислительной гидродинамики / Е.Ю. Филатов // Вестник ИГЭУ. Иваново, 2007.-Вып. З.-С. 89-92.

69. Фрик, П.Г. Турбулентность: модели и подходы. / П.Г. Фрик. Ижевск: НИЦ "Регулярная и хаотическая динамика", 2010.

70. Хайрер, Э. Решение обыкновенных дифференциальных уравнений. Жёсткие и дифференциально-алгебраические задачи пер. с англ. / Э. Хайрер, Г. Ваннер. М.: Мир, 1999.

71. Хайрер, Э. Решение обыкновенных дифференциальных уравнений. Нежёсткие задачи пер. с англ. / Э. Хайрер, С. Нерсетт, Г. Ваннер. М.: Мир, 1990.

72. Херн, Д. Компьютерная графика и стандарт OpenGL : пер. с англ. / Д. Херн, М.П. Бейкер. М.: Издательский дом "Вильяме", 2005. - 3-е изд.

73. Хокни, Р. Численное моделирование методом частиц / Р. Хокни, Дж. Иствуд. М.: Мир, 1987.

74. Чадов, С.Н. Исследование производительности численного алгоритма решения жёстких систем дифференциальных уравнений / С.Н. Чадов // Вестник ИГЭУ. Иваново, 2007. - Вып. 4. - С. 26-29.

75. Шлихтинг, Г. Теория пограничного слоя пер. с нем. / Г. Шлихтинг. М.: Наука, 1974.

76. Яненко, H.H. Метод дробных шагов решения многомерных задач математической физики / H.H. Яненко. Новосибирск: Наука, 1967.

77. Ясинский, Ф.Н. Использование системы с несколькими ускорителями CUDA для решения уравнения Навье Стокса в переменных "Функция тока Вихрь" / Ф.Н. Ясинский, А.В. Евсеев // Вестник ИГЭУ. - 2010. -Вып. 4. - С. 86-89.

78. Ясинский Ф.Н. О решении уравнения Навъе Стокса в переменных "Функция тока - Вихрь" на многопроцессорной вычислительной машине с использованием системы CUDA / Ф.Н. Ясинский, А.В. Евсеев // Вестник ИГЭУ. - 2010. - Вып. 3. - С. 73-75.

79. Anderson, J. Computational fluid dynamics: the basics with applications / J. Anderson, Jr. New York: McGraw-Hill, Inc., 1995.

80. Bailey, D. Fast GPU preconditioning for fluid simulations in film production Электронный ресурс. / D. Bailey // GPU Technology Conference (GTC). -2010. Режим доступа: http://www.nvidia.com/content/GTC-2010/pdfs/2239 GTC2010.pdf

81. Benzi, M. A comparative study of sparse approximate inverse preconditioners / M. Benzi, M. Tuma // Applied Numerical Mathematics 1999. - №30. -P. 305-340.

82. Benzi, M. Preconditioning Techniques for Large Linear Systems: A Survey / M. Benzi // Journal of Computational Physics. 2002. - №182. - P. 418-477.

83. Chorin, A.J. The numerical solution of the Navier-Stokes equations for an incompressible fluid / A.J. Chorin // AEC Research and Development Report No. NYO-1480-82. New York: New York University, 1967.

84. Chung, T.J. Computational fluid dynamics / T.J. Chung. Cambridge: Cambridge University Press, 2002.

85. Cohen, J. OpenCurrent: solving PDEs on structured grids with CUDA Электронный ресурс. / J. Cohen // GPU Technology Conference (GTC). 2010. -Режим доступа: http://www.nvidia.com/contcnt/GTC-2010/pdfs/2Q22 GTC2010.pdf

86. Ferziger, J.H. Computational Methods for Fluid Dynamics. / J.H. Ferziger, M. Peric. Berlin: Springer-Verlag, 2002.

87. Frank, J.H. Reaction-rate, mixture-fraction, and temperature imaging in turbulent methane/air jet flames / J.H. Frank, S.A. Kaiser, M.B. Long // Proceedings of the Combustion Institute. 2002. - Vol. 29. - P. 2687-2694.

88. Gear, C.W. The automatic integration of stiff ordinary differential equations / C.W. Gear // Communications of the ACM. 1968. - Vol. 14, Issue 3. - P. 176179.

89. Gear, C.W. The potential for parallelism in ordinary differential equations /

90. C.W. Gear // Technical Report UIUCDCS-R-86-1246, Computer Science Department, University of Illinois. 1986.

91. Gear, C.W. The simultaneous numerical solution of differential-algebraic equations / C.W. Gear // IEEE Trans.: Circuit Theory CT-18. 1971. - P. 89-95.

92. Grishin, A.M. The radiation and conjugation heat exchange and the upset and propagation crown forest fire / A.M. Grishin, V.A. Perminov // Heat Transfer Research. 1993. - Vol. 25, №.5. - P. 679-684.

93. Jacobsen, D.A. An MPI-CUDA Implementation for Massively Parallel Incompressible Flow Computations on Multi-GPU Clusters Электронный ресурс. /

94. Lomax, H. Fundamentals of computational fluid dynamics / H. Lomax, T. Pul-liam, D. Zingg. Berlin: Springer-Verlag, 2001.

95. Mai-Duy, N. Numerical solution of Navier-Stokes equations using multiquadric radial basis function networks / N. Mai-Duy, T. Tran-Cong // International Journal for Numerical Methods in Fluids. 2001. - Vol. 37, Issue 1. - P. 65-86.

96. Miranker, W. L. Numerical methods for stiff equations and singular perturbation problems / W. L. Miranker, A. Miranker. New York: Springer-Verlag, 2001.

97. MPICH2 Электронный ресурс. : High-performance and Widely Portable MPI. Режим доступа: http://www.mcs. anl.gov/research/projects/mpich2/

98. Newitt D.M., Huffner A.E. // Proceedings of the Royal society of London. Series A, containing papers of a mathematical and physical character. London: Royal Society Publishing, 1932. - Vol. 134.

99. Nguyen, H. GPU gems 3 / H. Nguyen. Addison-Wesley, 2008.

100. NVIDIA GPU Computing Developer Электронный ресурс. Режим доступа: http.y/developer.nvidia.com/category/zone/cuda-zone

101. Perminov, V. Numerical Solution of Reynolds equations for Forest Fire Spread / V.A. Perminov // Lecture Notes in Computer Science. 2002. Vol. 2329. -P. 823-832.

102. Press, W. H. Numerical recipes in C: the art of scientific computing / W.H. Press, S.A. Teukolsky, W.T. Vetterling, B.P. Flannery. University of Cambridge: Press Syndicate, 1997. - 2nd ed.

103. Quadrio, M. The numerical solution of the incompressible Navier-Stokes equations on a low-cost, dedicated parallel computer Электронный ресурс. / M. Quadrio, P. Luchini. 2004/ - Режим доступа: http://www.aero.polimi.it/ quadrio/papers/2004-DIA0416.pdf

104. Sakharnykh, N. A. Efficient Tridiagonal Solvers for ADI methods and Fluid Simulation Электронный ресурс. / N.A. Sakharnykh // GPU Technology Conference (GTC). 2010. - Режим доступа: http://www.nvidia.com/content/ GTC-2010/pdfs/2015 GTC2010.pdf

105. Sakharnykh, N.A. Tridiagonal solvers on the GPU and applications to fluid simulation Электронный ресурс. / N.A. Sakharnykh // GPU Technology Conference (GTC). 2009. - Режим доступа: http://www.nvidia.com/content/GTC /documents/1058 GTC09.pdf

106. Salem, S.A. On the numerical solution of the incompressible Navier-Stokes equations in primitive variables using grid generation techniques / S.A. Salem // Mathematical and Computational Applications. 2006. - Vol. 11, No. 2. -P. 127-136.

107. Sanders, J. CUDA by example: an introduction to general-purpose GPU programming/ J. Sanders, E. Kandrot. Michigan: Addison-Wesley, 2010.

108. Savcenco, V. A multirate time stepping strategy for stiff ordinary differential equations / V. Savcenco, W. Hundsdorfer, J.G. Verwer // BIT Numerical Mathematics. Springer, 2007. - Vol.47, Issue 1. - P. 137-155.

109. Selle, A. An unconditionally stable MacCormack method / A. Selle, R. Fedkiw, B. Kim, Y. Lui, J. Rossignac // Journal of Scientific Computing. New York: Springer, 2007. - Vol.35, Issue 2-3. - P. 350-371.

110. Sengupta, S. Scan Primitives for GPU Computing / S. Sengupta, M. Harris, Y. Zhang, J.D. Owens // Graphics Hardware. Aire-la-Ville: Eurographics Association, 2007.-Vol.1.-P. 97-106.

111. Stantchev, G. Using graphics processors for high-performance computation and visualization of plasma turbulence / G. Stantchev, D. Juba, W. Dorland, A. Varshney // Computing in Science and Engineering. 2009. - Vol. 11. №. 2. -P. 52-59

112. SUNDIALS Электронный ресурс. : SUite of Nonlinear and Differential/ALgebraic equation Solvers. Режим доступа: https://computation.llnl. gov/casc/sundials/main.html

113. Versteeg, H.K. An introduction to computational fluid dynamics / H.K. Versteeg, W. Malalasekera. London: Longman Scientific & Technical, 1995.

114. Wesseling, P. Principles of computational fluid dynamics / P. Wesseling. Berlin: Springer-Verlag, 2001.

115. Wilcox, D.C. Turbulence modeling for CFD / D.C. Wilcox. La Canada: DCW Industries, Inc., 2006. - 3rd Ed.

116. Zhang, Y. Fast tridiagonal solvers on the GPU / Y. Zhang, J. Cohen, J. D. Owens 11 Proceedings of the 15 th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP). 2010. - P. 127-136.

117. Zhao, Y. Lattice Boltzmann based PDE solver on the GPU / Y. Zhao // Visual Computer. 2008. - Vol. 24, Issue 5. - P. 323-333.к.щъ