Использование средств MPI в программной системе для моделирования динамики дискретных активных сред М.И. Иванченко, О.И. Канаков, К.Г. Мишагин, Г.В. Осипов,

Презентация:



Advertisements
Похожие презентации
Гергель В.П. Общий курс Теория и практика параллельных вычислений Лекция 9 Методы разработки параллельных программ при использования интерфейса передачи.
Advertisements

Параллельные аппаратные архитектуры и модели программирования Традиционная архитектура фон Неймана Расширение традиционной архитектуры Сопроцессоры Многоядерные.
Параллельное программирование с использованием технологии MPI Аксёнов Сергей Владимирович к.т.н., доцент каф.ОСУ ТПУ Лекция 4 Томский политехнический университет.
Параллельное программирование с использованием технологии MPI Аксёнов Сергей Владимирович к.т.н., доцент каф.ОСУ ТПУ Лекция 8 Томский политехнический университет.
Интерфейс передачи сообщений: MPI. Базовые архитектуры Массивно-параллельные системы (MPP) Симметричные мультипроцессорные системы (SMP) Системы с неоднородным.
Кафедра ЮНЕСКО по НИТ1 Параллельное программирование MPI – massage passing interface.
Реализация параллельного алгоритма с использованием MPI.
Основы параллельного программирования с использованием MPI Лекция 5 Немнюгин Сергей Андреевич Санкт-Петербургский государственный университет физический.
Кафедра ЮНЕСКО по НИТ1 Параллельное программирование MPI – message passing interface Власенко Андрей Юрьевич.
Гергель В.П. Общий курс Теория и практика параллельных вычислений Лекция 4 Методы разработки параллельных программ при использования интерфейса передачи.
Функции замера времени.
Мелкозернистый параллелизм клеточно-автоматных моделей пространственной динамики Лекция 3 Руководитель: д.т.н., проф., Бандман О.Л. Лектор: к.ф.-м.н.,
Практические основы параллельного программирования. Посыпкин Михаил Анатольевич
Обработка исключительных ситуаций Исключительная ситуация (исключение) – это ошибка, возникающая во время выполнения программы. Например, ошибка работы.
MPI за 90 минут Метод погружения Сергей Петрович Нечаев, Сибирский Суперкомпьютерный центр.
Стадник Е. Г. ФПМИ НГТУ Руководитель: Городничев М.А., м.н.с. ИВМ и МГ СО РАН.
1. a=? b=? c=? {int a, b, c; a=(b=2+3)/2 - 4+(c=5%2); printf("%d %d %d \n", a, b, c); }
Многопоточное программирование. Виды параллелизма. Общая память Распределенная память.
ОБЩИЕ ПРИНЦИПЫ ДЕЯТЕЛЬНОСТИ НИЖЕГОРОДСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА ПО РАЗВИТИЮ РАБОТ В ОБЛАСТИ ПАРАЛЛЕЛЬНЫХ ВЫЧИСЛЕНИЙ Высокопроизводительные вычислительные.
Динамическая балансировка загрузки Алгоритм серверного параллелизма.
Транксрипт:

Использование средств MPI в программной системе для моделирования динамики дискретных активных сред М.И. Иванченко, О.И. Канаков, К.Г. Мишагин, Г.В. Осипов, В.Д. Шалфеев ННГУ им. Н.И. Лобачевского, Нижний Новгород

Примеры дискретных сред Кристаллические решетки Биологические ткани Сети синхронизации Сети джозефсоновских контактов Искусственные нейронные сети Пространственно-локализованные осциллирующие во времени решения в нелинейных дискретных средах Дискретные бризеры:

Параллельный алгоритм Локальность связей –известный пример: уравнение Пуассона Решеточная топология –коммуникатор с декартовой топологией: MPI_Cart_create Параллелизм коммуникации и вычислений –неблокирующие операции обмена

Реальная эффективность

Метод Рунге-Кутты 4 порядка

DAMPS Discrete Active Media Parallelizing Simulator Пакет для моделирования дискретных активных сред

DAMPS Статическая библиотека ldamps.lib Заголовочный файл ldamps.h Исходный C++ файл метода интегрирования: rk4footer.cpp Определение классов объектов- датчиков Пользовательский интерфейс

Пример задачи: breather.cpp #include "ldamps.h" inline double vstr(double z) { return z-z*z+0.25*z*z*z; } inline void rhand(state_t y, state_t up, state_t rt, state_t dn, state_t lt, state_t res, par_t par, double t) { res[0]=y[1]; res[1]=-vstr(y[0])+0.1*(lt[0]-2.*y[0]+rt[0]); } #define NAME breather enum {ORDER=2, LINKS=1, PARS=0 }; #include "rk4footer.cpp"

Пример файла main.cpp #include #include "ldamps.h" #include "process.h" enum consts { ROWS=1, COLS=1000, VCELLS=1, HCELLS=3, };

int main(int argc, char* argv[ ]) { MPI_Init(&argc, &argv); { int rank; MPI_Comm_rank(MPI_COMM_WORLD, &rank); Bcond bc; bc.top=FIXED; bc.rt =PERIOD; bc.bot=FIXED; bc.lt =PERIOD; extern Rk4 breather; breather.setstep(0.01); Latt latt(ROWS, COLS, VCELLS, HCELLS, bc, &breather); Minmax mm(&latt); main.cpp (продолжение)

double a[VCELLS*ROWS][HCELLS*COLS][2]; for(int i=0; i

Заключение Нелинейные дискретные среды - объект пристального внимания современной физики Параллельные вычислительные системы - эффективный инструмент для их изучения Наше направление: дискретные бризеры