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

Содержание

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

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

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

Слайд 2Параллельные Вычислительные Технологии
ПАВТ-2009
Региональная атмосферная модель и её приложения

Компоненты модели, профилирование

MPI-реализация
Явные

схемы уравнений динамики, термодинамики и радиации: локальность вычислений
Решение эллиптического уравнения: транспонирование расчётной области

Cell-реализация
Одномерные циклы, шаблоны памяти
Вычисление правой части для эллиптического уравнения
Явная схема для уравнения переноса

Перспективы развития

План


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

рельефа
(Miranda and James, 1992)

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

бриз
городской бриз
ледовый бриз
и др.
(Langland et al., 1989)





Рост концентрации вредных примесей в приземном слое атмосферы
(Eastman et al., 1995)



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

Взаимодействие

морского бриза с горно-долинными циркуляциями

Временной ход температуры в приземном слое по результатам модели и данным измерений


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


Слайд 7Двумерная декомпозиция расчетной области
Высокая связанность задачи – большое количество обменов
Информационная зависимость

алгоритмов
по вертикальной координате:

прогонки
радиационный блок


Особенности реализации для MPI

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


Слайд 8
Подобласть
процесса
Обмены граничными
элементами
массивов

Пример шаблона:
явная схема +
фильтрация
Декомпозиция и обмены в явных

схемах

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


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


ПАВТ-2009

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


ПАВТ-2009

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


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

Насыщение на
100 процессорах


Слайд 13Параллельные Вычислительные Технологии
ПАВТ-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


Слайд 14Параллельные Вычислительные Технологии
ПАВТ-2009
Особенности реализации для CBEA
Обмен данными только между SPU

и PPU
(между SPU нет обменов)


Декартово разбиение (как в случае MPI)
не нужно


0

nv = nx × ny × ns


Слайд 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 +

...

Автоматический обмен данными


Слайд 16Параллельные Вычислительные Технологии
ПАВТ-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 +
...
 


Автоматический обмен данными


Слайд 17Параллельные Вычислительные Технологии
ПАВТ-2009
Автоматический обмен данными
Пробный проход итерации цикла:
последовательность эффективных

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

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

Слайд 18Параллельные Вычислительные Технологии
ПАВТ-2009
Производительность ElliptFR на IBM QS22
27 массивов, на одну

итерацию:
83 входных значения
2 выходных значения
≈ 119 FLOP

Процессорные элементы

Время, сек


Слайд 19Параллельные Вычислительные Технологии
ПАВТ-2009
Производительность Leapfrog на IBM QS22
10 массивов, на одну

итерацию:
22 входных значения
1 выходное значение
≈ 17 FLOP

Процессорные элементы

Время, сек


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

использовании векторных операций


ПРОБЛЕМА
согласования выравниваний


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


Слайд 22Параллельные Вычислительные Технологии
ПАВТ-2009
сопряжение региональной атмосферной модели и вихреразрешающей модели

пограничного слоя ИВМ РАН
(Глазунов А.В.)

развитие блока переноса активной атмосферной примеси

включение параметризации кристаллической фазы в блок микрофизики облаков

моделирование эмиссии и переноса метана в атмосферном бассейне Сибири

Перспективы развития


Слайд 23Параллельные Вычислительные Технологии
ПАВТ-2009
http://geophyslab.srcc.msu.ru


http://code.google.com/p/nh3d
Работа выполнена при поддержке
гранта РФФИ 07-05-00200
программы Скиф-грид
компании Т-Платформы


Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика