Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / lecture10.ppt
Скачиваний:
1
Добавлен:
11.06.2024
Размер:
198.66 Кб
Скачать

Некоторые задачи, решаемые компилятором языка Норма для модели распараллеливания по данным

1.Распределение данных. Описание распределенных массивов с учетом теневых граней.

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

3.Определение удаленных данных. Генерация операторов обмена данными и места их расположения в выходной программе

!Описание областей Oi, Oi1, Oj Oi:(i=1..n). Oi1:(i=25..n-25). Oj:(j=1..n).

!Область Oij есть декартово произведение (i=1..n) (j=1..n) Oij:(Oi;Oj).

!Область Oij1 есть декартово произведение (i=25..n-25) (j=1..n) Oij1:(Oi1;Oj).

!Определение параметра областей

DOMAIN PARAMETERS n=100.

!Описание переменных на областях

VARIABLE U,V,W DEFINED ON Oij.

!Число процессоров по направлению i равно 10.

DISTRIBUTION INDEX i=1..10, j=1.

!Расчетные формулы (индексы без смещений можно опускать) FOR Oij ASSUME U=i+j; W=U-1.

FOR Oij1 ASSUME V=U[i-1]+1.

CВычисление параметров циклов в зависимости от номера

Cпроцессора

IN01 = 1

 

IK01 = 10

 

IN02 = 1

 

IK02 = 10

 

IF(IPR.EQ.3) THEN

IN02=5

IF(IPR.EQ.8) THEN

IK02=5

DO

2 j=1,100

 

DO

2 i=IN01,IK01

 

C Выражение i+j в процессоре с номером IPR U(i,j)=((IPR-1)*10+i)+j

2 CONTINUE

CТребуются вычисленные значения из процессоров

Cс номерами 3..7

IF(IPR.LT.3.OR.IPR.GT.7.OR.JPR.NE.1) GOTO 4

DO 3 j=1,100

RM1(j)=U(10,j)

3CONTINUE

CALL MPI_SEND(RM1,100,MPI_REAL, ITASKJ(JPR+(IPR+1-1)),

>2,MPI_COMM_WORLD,IER1)

4CONTINUE

DO

5 j=1,100

DO

5 i=IN01,IK01

W(i,j)=U(i,j)-1

5CONTINUE

C Используются значения в процессорах с номерами 4..8 IF(IPR.LT.4.OR.IPR.GT.8.OR.JPR.NE.1) GOTO 7

CALL MPI_RECV(RM2,100,MPI_REAL,ITASKJ(JPR+(IPR-1-1)), >2,MPI_COMM_WORLD,STTS1,IER1)

DO 6 j=1,100 U(0,j)=RM2(j)

6 CONTINUE

7CONTINUE IF(IPR.LT.3.OR.IPR.GT.8) GOTO 8

DO

9 j=1,100

DO

9 i=IN02,IK02

V(i,j)= U(i-1,j)+1

9 CONTINUE

8CONTINUE

Некоторые расчетные задачи, решенные с помощью языка Норма

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

Математическая постановка решения задачи представлена ИММ РАН.

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

Математическая постановка решения задачи представлена МГУ.

3.Исследование задачи о течении газовой смеси с конденсацией в кривовакуумном модуле на основе прямого численного решения кинетического уравнения Больцмана.

Математическая постановка решения задачи представлена МЭИ.

4. Задача об акреции вещества на звезду с дипольным магнитным полем.

Математическая постановка решения задачи представлена ИПМ РАН

5.Трехмерное численное моделирование течения вещества в полуразделенных двойных системах с различными значениями вязкости.

Математическая постановка решения задачи представлена ИА РАН.

6.Трехмерное численное моделирование гидродинамической неустойчивости в протонейтронной звезде.

Математическая постановка решения задачи представлена ИПМ РАН.

7.Разработка параллельного кода для комплекса программ решения задач электродинамики

Ограничения в применении языка Норма

1.Специализированный язык, ориентированный на решение класса задач. Ограничения Нормы.

Интерфейс с Фортраном как способ преодоления этих ограничений.

2.Новый язык, непривычный для пользователей.

3.Система Норма не является коммерческим программным продуктом. Уровень завершенного исследовательского проекта.

Соседние файлы в папке Лекции