'

Реализация региональной атмосферной модели на вычислительных системах гибридной архитектуры

Понравилась презентация – покажи это...





Слайд 0

Д. Н. Микушин В. М. Степаненко Параллельные Вычислительные Технологии ПАВТ-2009 Реализация региональной атмосферной модели на вычислительных системах гибридной архитектуры


Слайд 1

Параллельные Вычислительные Технологии ПАВТ-2009 Региональная атмосферная модель и её приложения Компоненты модели, профилирование MPI-реализация Явные схемы уравнений динамики, термодинамики и радиации: локальность вычислений Решение эллиптического уравнения: транспонирование расчётной области Cell-реализация Одномерные циклы, шаблоны памяти Вычисление правой части для эллиптического уравнения Явная схема для уравнения переноса Перспективы развития План


Слайд 2

Параллельные Вычислительные Технологии ПАВТ-2009 Моделирование региональных атмосферных циркуляций Обтекание воздушным потоком горного рельефа (Miranda and James, 1992)


Слайд 3

Параллельные Вычислительные Технологии ПАВТ-2009 Моделирование региональных атмосферных циркуляций Виды бризовых циркуляций: морской бриз городской бриз ледовый бриз и др. (Langland et al., 1989) Рост концентрации вредных примесей в приземном слое атмосферы (Eastman et al., 1995)


Слайд 4

Параллельные Вычислительные Технологии ПАВТ-2009 Моделирование морского бриза (С. В. Ткачук) Height, m Черноморское побережье Кавказа Взаимодействие морского бриза с горно-долинными циркуляциями Временной ход температуры в приземном слое по результатам модели и данным измерений


Слайд 5

Параллельные Вычислительные Технологии ПАВТ-2009


Слайд 6

Двумерная декомпозиция расчетной области Высокая связанность задачи – большое количество обменов Информационная зависимость алгоритмов по вертикальной координате: прогонки радиационный блок Особенности реализации для MPI Параллельные Вычислительные Технологии ПАВТ-2009


Слайд 7

Подобласть процесса Обмены граничными элементами массивов Пример шаблона: явная схема + фильтрация Декомпозиция и обмены в явных схемах Параллельные Вычислительные Технологии ПАВТ-2009


Слайд 8

Решение уравнений движения на кластере “Чебышев” Сверхлинейное ускорение за счёт кеширования Параллельные Вычислительные Технологии ПАВТ-2009


Слайд 9

Расчёт термодинамики и радиации на кластере “Чебышев” Ускорение близко к линейному Параллельные Вычислительные Технологии ПАВТ-2009


Слайд 10

Решение эллиптического уравнения на кластере “Чебышев” Параллельные Вычислительные Технологии ПАВТ-2009


Слайд 11

Решение эллиптического уравнения на кластере “Чебышев” Параллельные Вычислительные Технологии ПАВТ-2009 Насыщение на 100 процессорах


Слайд 12

Параллельные Вычислительные Технологии ПАВТ-2009 Особенности реализации для CBEA 5) Repeat for each piece of N Data 1) Transpose: N pieces per SPU 2) Fetch some pieces to SPUs . . . . . . 3) Compute partial results . . . . . . . . . . . . . . . 4) Transfer results into main memory Results 6) Repeat for each iteration


Слайд 13

Параллельные Вычислительные Технологии ПАВТ-2009 Особенности реализации для CBEA Обмен данными только между SPU и PPU (между SPU нет обменов) Декартово разбиение (как в случае MPI) не нужно 0 nv = nx ? ny ? ns


Слайд 14

Параллельные Вычислительные Технологии ПАВТ-2009 // 32 FLOPS const double ppdx = (*_P(_R(pp3)) - *_P(_L(pp3))) / (dx2 * *_P(_C(pp3))), ppdy = (*_P(_U(pp3)) - *_P(_D(pp3))) / (dy2 * *_P(_C(pp3))), ppgra2 = ppdx * ppdx + ppdy * ppdy, pplap = ((*_P(_R(pp3)) + *_P(_L(pp3)) - 2. * *_P(_C(pp3))) / dxx + (*_P(_U(pp3)) + *_P(_D(pp3)) - 2. * *_P(_C(pp3))) / dyy) / *_P(_C(pp3)), p = ptop + sigma0[is] * *_P(_C(pp3)), dtsdsi = (*_F(tems) - *_B(tems)) / (ds02a[is] * *_C(tems)), alfa = ptop / p + sigma0[is] * dtsdsi, beta = -ptop * *_P(_C(pp3)) / (p * p) + dtsdsi * (1. + sigma0[is] * dtsdsi) + sigma0[is] * ((*_F(tems) - *_C(tems)) / ds0[is+1] - (*_C(tems) - *_B(tems)) / ds0[is]) / (ds1[is] * *_C(tems)), betas = beta * sigma0[is], upduds = 0.5 * (*_C(u3) + *_L(u3)) + 0.5 * s0ds2a[is] * (*_F(u3) + *_LF(u3) - *_B(u3) - *_LB(u3)), vpdvds = 0.5 * (*_C(v3) + *_D(v3)) + 0.5 * s0ds2a[is] * (*_F(v3) + *_DF(v3) - *_B(v3) - *_DB(v3)); // 12 FLOPS const double val1 = ((*_P(_C(pp3)) - *_P(_C(pp1))) / dtl + 0.5 * (*_C(u2) * (*_P(_C(pp2)) + *_P(_R(pp2))) – *_L(u2) * (*_P(_L(pp2)) + *_P(_C(pp2)))) / dx + 0.5 * (*_C(v2) * (*_P(_C(pp3)) + *_P(_U(pp3))) – *_D(v2) * (*_P(_D(pp3)) + *_P(_C(pp3)))) / dy + *_P(_C(pp2)) * (*_F(wsig2) - *_C(wsig2)) / ds1[is]) / dt2; // 12 FLOPS const double val2 = -(*_C(uflux) - *_L(uflux)) / dx - (*_C(vflux) - *_D(vflux)) / dy + ... Автоматический обмен данными


Слайд 15

Параллельные Вычислительные Технологии ПАВТ-2009 // 32 FLOPS const double ppdx = (*_P(_R(pp3)) - *_P(_L(pp3))) / (dx2 * *_P(_C(pp3))), ppdy = (*_P(_U(pp3)) - *_P(_D(pp3))) / (dy2 * *_P(_C(pp3))), ppgra2 = ppdx * ppdx + ppdy * ppdy, pplap = ((*_P(_R(pp3)) + *_P(_L(pp3)) - 2. * *_P(_C(pp3))) / dxx + (*_P(_U(pp3)) + *_P(_D(pp3)) - 2. * *_P(_C(pp3))) / dyy) / *_P(_C(pp3)), p = ptop + sigma0[is] * *_P(_C(pp3)), dtsdsi = (*_F(tems) - *_B(tems)) / (ds02a[is] * *_C(tems)), alfa = ptop / p + sigma0[is] * dtsdsi, beta = -ptop * *_P(_C(pp3)) / (p * p) + dtsdsi * (1. + sigma0[is] * dtsdsi) + sigma0[is] * ((*_F(tems) - *_C(tems)) / ds0[is+1] - (*_C(tems) - *_B(tems)) / ds0[is]) / (ds1[is] * *_C(tems)), betas = beta * sigma0[is], upduds = 0.5 * (*_C(u3) + *_L(u3)) + 0.5 * s0ds2a[is] * (*_F(u3) + *_LF(u3) - *_B(u3) - *_LB(u3)), vpdvds = 0.5 * (*_C(v3) + *_D(v3)) + 0.5 * s0ds2a[is] * (*_F(v3) + *_DF(v3) - *_B(v3) - *_DB(v3)); // 12 FLOPS const double val1 = ((*_P(_C(pp3)) - *_P(_C(pp1))) / dtl + 0.5 * (*_C(u2) * (*_P(_C(pp2)) + *_P(_R(pp2))) – *_L(u2) * (*_P(_L(pp2)) + *_P(_C(pp2)))) / dx + 0.5 * (*_C(v2) * (*_P(_C(pp3)) + *_P(_U(pp3))) – *_D(v2) * (*_P(_D(pp3)) + *_P(_C(pp3)))) / dy + *_P(_C(pp2)) * (*_F(wsig2) - *_C(wsig2)) / ds1[is]) / dt2; // 12 FLOPS const double val2 = -(*_C(uflux) - *_L(uflux)) / dx - (*_C(vflux) - *_D(vflux)) / dy + ...   - 1 pp3 + 1 pp3 0 pp3 +nx pp3 -nx pp3 0 pp3 + 1 pp3 - 1 pp3 0 pp3 +nx pp3 -nx pp3 0 pp3 0 pp3 0 pp3 +np tems -np tems 0 tems 0 pp3 +np tems 0 tems 0 tems -np tems 0 tems 0 u3 - 1 u3 +np u3 +np-1 u3 -np u3 -np-1 u3 0 v3 … Автоматический обмен данными


Слайд 16

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


Слайд 17

Параллельные Вычислительные Технологии ПАВТ-2009 Производительность ElliptFR на IBM QS22 27 массивов, на одну итерацию: 83 входных значения 2 выходных значения ? 119 FLOP Процессорные элементы Время, сек


Слайд 18

Параллельные Вычислительные Технологии ПАВТ-2009 Производительность Leapfrog на IBM QS22 10 массивов, на одну итерацию: 22 входных значения 1 выходное значение ? 17 FLOP Процессорные элементы Время, сек


Слайд 19

Параллельные Вычислительные Технологии ПАВТ-2009 Векторизация Возможность одновременного расчёта двух итераций (double precision) при использовании векторных операций ПРОБЛЕМА согласования выравниваний


Слайд 20

Параллельные Вычислительные Технологии ПАВТ-2009


Слайд 21

Параллельные Вычислительные Технологии ПАВТ-2009 сопряжение региональной атмосферной модели и вихреразрешающей модели пограничного слоя ИВМ РАН (Глазунов А.В.) развитие блока переноса активной атмосферной примеси включение параметризации кристаллической фазы в блок микрофизики облаков моделирование эмиссии и переноса метана в атмосферном бассейне Сибири Перспективы развития


Слайд 22

Параллельные Вычислительные Технологии ПАВТ-2009 http://geophyslab.srcc.msu.ru http://code.google.com/p/nh3d Работа выполнена при поддержке гранта РФФИ 07-05-00200 программы Скиф-грид компании Т-Платформы


Слайд 23


×

HTML:





Ссылка: