fb6c972078ab7930d7fd5f0c4e48e454.ppt
- Количество слайдов: 66
МОСКОВСКИЙ АВИАЦИОННЫЙ ИНСТИТУТ (национальный исследовательский университет) Факультет прикладной математики и физики Кафедра вычислительной математики и программирования Лекция 5 «Критерии применимости параллельных вычислений. Примеры применения параллельных вычислений» Выполнил: Семенов С. А. Руководитель: Ревизников Д. Л.
Введение ØКритерии применимости параллельных вычислений ØКапли дождя на воде ØДвижение дымных частиц ØВолнение океана Московский авиационный институт (национальный исследовательский университет) 2 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Зависимость ускорения и эффективности работы параллельной программы от количества процессоров : Московский авиационный институт (национальный исследовательский университет) 3 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Уровни параллелизма Московский авиационный институт (национальный исследовательский университет) 4 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Метрики параллелизма Московский авиационный институт (национальный исследовательский университет) 5 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Ускорение Московский авиационный институт (национальный исследовательский университет) 6 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Закон Амдала Московский авиационный институт (национальный исследовательский университет) 7 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Эффективность Московский авиационный институт (национальный исследовательский университет) 8 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Практические ограничения ускорения Московский авиационный институт (национальный исследовательский университет) 9 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Закон Густафсона Московский авиационный институт (национальный исследовательский университет) 10 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Эффективность Московский авиационный институт (национальный исследовательский университет) 11 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Cuda raindrop Московский авиационный институт (национальный исследовательский университет) 12 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Cuda ocean Московский авиационный институт (национальный исследовательский университет) 13 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Cuda smoke particles Московский авиационный институт (национальный исследовательский университет) 14 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Решение дифф. уравнений на CUDA на примере задач аэро-гидродинамики Ø Вычислительные задачи аэрогидродинамики üМоделирование турбулентных течений Ø ВМи. К МГУ, кафедра мат. физики üПасконов В. М. , Березин С. Б. Московский авиационный институт (национальный исследовательский университет) 15 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Турбулентность Моделирование турбулентности Прямое численное моделирование (DNS) Моделирование крупномасштабных вихрей (LES) Осредненные уравнения Навье -Стокса (RANS) • все масштабы турбулентности • очень затратный Московский авиационный институт (национальный исследовательский университет) 16 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Постановка задачи Ø Течение вязкой несжимаемой жидкости в 3 D канале – Канал заполнен и находится в однородной среде – Произвольные начальные и граничные условия – Неизвестные величины – скорость и температура Московский авиационный институт (национальный исследовательский университет) 17 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Основные уравнения Ø Полная система уравнений Навье. Стокса в безразмерных величинах – Уравнение неразрывности – Уравнения движения (Навье-Стокса) – Уравнение энергии Московский авиационный институт (национальный исследовательский университет) 18 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Обозначения Плотность Скорость Температура Давление z. Уравнение состояния – газовая постоянная Московский авиационный институт (национальный исследовательский университет) 19 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Уравнение неразрывности • Используется при выводе остальных уравнений (движения и энергии) • Проверка точности текущего решения Московский авиационный институт (национальный исследовательский университет) 20 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Уравнения Навье-Стокса • Второй закон Ньютона: Невязкая жидкость: Вязкая жидкость: f – массовые силы (сила тяжести) – тензор вязких напряжений p – давление Московский авиационный институт (национальный исследовательский университет) 21 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Безразмерные уравнения • Параметры подобия – Число Рейнольдса – Число Прандтля – характерная скорость, размер – динамическая вязкость среды – коэффициент теплопроводности – удельная теплоемкость • Уравнение состояния для идеального газа/жидкости: Московский авиационный институт (национальный исследовательский университет) 22 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Уравнения движения • Безразмерная форма: – Не рассматриваем массовые силы – Уравнение состояния Московский авиационный институт (национальный исследовательский университет) 23 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Уравнение энергии • Первый закон термодинамики для объема V: • Диссипативная функция: Московский авиационный институт (национальный исследовательский университет) 24 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Финальные уравнения • 4 нелинейных уравнения • 4 неизвестные величины: – Компоненты скорости: u, v, w – Температура: T Московский авиационный институт (национальный исследовательский университет) 25 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Численный метод • Расщепление по координатам X Московский авиационный институт (национальный исследовательский университет) Y Z 26 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Уравнение диффузии • 3 дробных шага – X, Y, Z • Неявная конечно-разностная схема Московский авиационный институт (национальный исследовательский университет) 27 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Уравнения Навье-Стокса • Уравнение для X-компоненты скорости X Y Z – + итерации по нелинейности Московский авиационный институт (национальный исследовательский университет) 28 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Шаг по времени (n-1) time step (n) time step Splitting by X Splitting by Y (n+1) time step Splitting by Z Updating nonlinear parameters Global iterations Московский авиационный институт (национальный исследовательский университет) 29 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Дробный шаг • Линейное PDEs Previous layer N time layer u: x-velocity v: y-velocity Sweep Next layer w: z-velocity T: temperature Московский авиационный институт (национальный исследовательский университет) Solves many tridiagonal systems independently 30 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Дробный шаг • Нелинейное PDEs Copy Previous layer Update N time layer Local iterations u: x-velocity v: y-velocity Sweep Next layer w: z-velocity Solves many tridiagonal systems independently T: temperature Московский авиационный институт (национальный исследовательский университет) 31 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Стадии алгоритма • Решение большого количества трехдиагональных СЛАУ • Вычисление диссипации в каждой ячейке сетки • Обновление нелинейных параметров Московский авиационный институт (национальный исследовательский университет) 32 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Особенности метода • Большой объем обрабатываемых данных • Высокая арифметическая интенсивность • Легко распараллеливается Московский авиационный институт (национальный исследовательский университет) 33 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Реализация на CUDA • Все данные хранятся в памяти GPU – 4 скалярных 3 D массива для каждой переменной (u, v, w, T) – 3 дополнительных 3 D массива • ~1 GB для сетки 192^3 в double Московский авиационный институт (национальный исследовательский университет) 34 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Решение трехдиагональных СЛАУ • Каждая нить решает ровно одну трехдиагональную СЛАУ – На каждом шаге N^2 независимых систем Расщепление X Расщепление Y Московский авиационный институт (национальный исследовательский университет) 35 Расщепление Z Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Метод прогонки • Необходимо 2 дополнительных массива – хранение: локальная память • Прямой ход – вычисление a[i], b[i] • Обратный ход – x[i] = a[i+1] * x[i+1] + b[i+1] Московский авиационный институт (национальный исследовательский университет) 36 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Проблемы реализации • Каждая нить последовательно читает и пишет столбец 3 D массива – Коэффициенты и правая часть • Y, Z – прогонки coalesced • X – прогонка uncoalesced! Московский авиационный институт (национальный исследовательский университет) 37 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Оптимизация прогонки • X – прогонка – Транспонируем входные массивы и запускаем Y-прогонку общая производительность всех прогонок 2. 500 2. 000 1. 500 original coalesced 1. 000 0. 500 0. 000 float Московский авиационный институт (национальный исследовательский университет) double 38 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Расчет диссипации • Расчет частных производных по трем направлениям – Локальный доступ к памяти • Каждая нить обрабатывает столбец данных – Переиспользование расчитанных производных • Использование разделяемой памяти (? ) Московский авиационный институт (национальный исследовательский университет) 39 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Оптимизация диссипации • Рефакторинг кода – Предварительный расчет некоторых констант, избавление от лишних if • C++ шаблоны для X, Y, Z-диссипации – Уменьшение числа регистров, нет лишних обращений к памяти 2. 5 2 1. 5 original optimized 1 0. 5 0 float Московский авиационный институт (национальный исследовательский университет) 40 double Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Нелинейные итерации • Необходимо посчитать полусумму двух 3 D массивов • Каждая нить считает сразу для столбца данных – N^2 нитей – Все чтения/записи coalesced • Оптимальный выбор размера блока • 80% от пиковой пропускной способности на Tesla C 1060 Московский авиационный институт (национальный исследовательский университет) 41 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Тест производительности • Тестовые данные – Сетка 128^3, 192^3 – 8 нелинейных итераций • Сравнение CPU и GPU – Абсолютное время работы Московский авиационный институт (национальный исследовательский университет) 42 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Тест – 128 - float time steps/sec 7 x 20 x 7 x Московский авиационный институт (национальный исследовательский университет) 9 x 43 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Тест – 128 - double time steps/sec 14 13 4 x 10 x 12 11 10 9 NVIDIA Tesla C 1060 8 7 Intel Core i 7 Nehalem 2. 93 GHz (4 cores) 6 Intel Core 2 Quad 2. 4 GHz (4 cores) 5 4 x 4 3 5 x 2 1 0 Dissipation Sweep Московский авиационный институт (национальный исследовательский университет) Non. Linear 44 Total Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Тест – 192 - float time steps/sec 9 28 x 8 x 8 7 6 NVIDIA Tesla C 1060 5 Intel Core i 7 Nehalem 2. 93 GHz (4 cores) 4 3 2 Intel Core 2 Quad 2. 4 GHz (4 cores) 8 x 11 x 1 0 Dissipation Sweep Московский авиационный институт (национальный исследовательский университет) Non. Linear 45 Total Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Тест – 192 - double time steps/sec 6 13 x 5 5 x 4 NVIDIA Tesla C 1060 3 2 Intel Core i 7 Nehalem 2. 93 GHz (4 cores) Intel Core 2 Quad 2. 4 GHz (4 cores) 4 x 5 x 1 0 Dissipation Sweep Московский авиационный институт (национальный исследовательский университет) Non. Linear 46 Total Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Визуализация u v w T Векторное поле скоростей Московский авиационный институт (национальный исследовательский университет) Срез вдоль Х 47 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Решение краевых задач, системы линейных алгебраических уравнений Ø Основное: – Решение 1 D/2 D задачи диффузии Ø Дополнительное: – Решение СЛАУ с треугольной разряженной матрицей Московский авиационный институт (национальный исследовательский университет) 48 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Задача диффузии • Уравнение теплопроводности: • - коэффициент теплопроводности – Постоянный: – Линейный: – Нелинейный: Московский авиационный институт (национальный исследовательский университет) 49 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Постановка 1 D задачи • Область определения – отрезок • Уравнение теплопроводности на • Начальные условия: • Граничные условия: Московский авиационный институт (национальный исследовательский университет) 50 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Методы решения • Метод конечных разностей явные схемы неявные схемы На каждом шаге необходимо решать трехдиагональную СЛАУ Московский авиационный институт (национальный исследовательский университет) 51 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Постановка 2 D задачи • Область определения: • Уравнение теплопроводности: • Начальные и граничные условия (0, H) (W, H) (0, 0) (W, 0) Московский авиационный институт (национальный исследовательский университет) 52 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Метод по-координатного расщепления • Временной шаг разбивается на два дробных для каждого фикс. y для каждого фикс. x Московский авиационный институт (национальный исследовательский университет) 53 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Пример разностной аппроксимации • Расщепление по X: • Независимые трехдиагональные СЛАУ для каждого j = 0. . N_y – Легко параллелится Московский авиационный институт (национальный исследовательский университет) 54 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Трехдиагональные СЛАУ • Прямые методы: – Метод прогонки • Оптимальный по числу операций, но последовательный – Метод редукции • Параллельный, но больше операций Московский авиационный институт (национальный исследовательский университет) 55 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Итерационные методы • Якоби, Гаусса-Зейделя • GMRES, CG • Преобуславливатель (preconditioner) Московский авиационный институт (национальный исследовательский университет) 56 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Начальные значения • Верхне-треугольная разряженная матрица Nx. N X X X X X X X X X X • Число ненулевых элементов = NNZ Московский авиационный институт (национальный исследовательский университет) 57 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Пример матрицы 7 2 6 4 1 3 N=5 NNZ=7 9 Data Indices Ptr 7 0 0 2 3 2 Московский авиационный институт (национальный исследовательский университет) 6 1 4 4 2 5 58 1 3 6 3 3 7 9 4 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Решение уравнения Пуассона Московский авиационный институт (национальный исследовательский университет) 59 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Решение краевой задачи (*) • Для поиска коэффициентов Фурье можно воспользоваться библиотекой cu. FFT. • Формулу (*) можно распараллелить Московский авиационный институт (национальный исследовательский университет) 60 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Метод Рунге - Кутта Lz Lx Московский авиационный институт (национальный исследовательский университет) 61 Ly Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Разностная схема Московский авиационный институт (национальный исследовательский университет) 62 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Параметры Московский авиационный институт (национальный исследовательский университет) 63 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Рекомендуемые параметры • Число частиц N от 100, 000 до 1, 000 • Шаг по времени τ ~ 10 -10 сек. • Параметры частицы, например, углерод 12 C 6+ – заряд Z = 6, q = Z∙qe , qe = 1. 6021892∙ 10 -19 Кл – масса m = 12 a. m. u, 1 a. m. u. = 1. 66057∙ 10 -27 кг • Размеры поучка – Разброс в поперечном сечении ± 5 см. Например, 2σx = 2σz = 5 см – Разброс в продольном направлении ± 10 см. Например, 2σy = 10 см • Число шагов по времени NT = T/ τ, где T = m/(2πq) – период обращения Московский авиационный институт (национальный исследовательский университет) 64 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Выводы • Высокая эффективность Tesla в задачах аэро-гидродинамики • Программная модель CUDA – удобное средство утилизации ресурсов GPU • Применение GPU открывает новые возможности для исследования Московский авиационный институт (национальный исследовательский университет) 65 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования
Вопросы Московский авиационный институт (национальный исследовательский университет) 66 Факультет прикладной математики и физики Кафедра Вычислительной математики и программирования


