
- •Средства разработки параллельных программ
- •Основные средства разработки параллельных программ
- •1.3. Стандартные языки программирования (Фортран, Си) с использованием параллельных специализированных библиотек. (Пример –
- •Декларативный язык Норма
- •Историческая справка
- •2.1985. Язык Норма. Препринт ИПМ АН СССР.
- •Типичный процесс разработки программы для решения задачи математической физики
- •Свойства языка Норма. Ограничения.
- •Пример класса задач, статические структурные сетки
- •Ключевые понятия языка Норма:
- •Границы области – константные выражения, константы задаются в описании, например:
- •Соотношения позволяют описывать вычисления, которые должны быть реализованы в программе.
- •Язык Норма. Пример программы 1 Решение системы линейных уравнений:
- •Программа решения системы линейных уравнений на языке Норма
- •Язык Норма. Пример программы 2
- •!Итерации по времени
- •!Тело итерации по времени
- •Основные возможности языка
- •Организация вычислений. ASSUME - не форма записи цикла.
- •Обмен информацией между процессорами (модель распараллеливания по данным)
- •Некоторые задачи, решаемые компилятором языка Норма для модели распараллеливания по данным
- •CВычисление параметров циклов в зависимости от номера
- •CТребуются вычисленные значения из процессоров
- •C Используются значения в процессорах с номерами 4..8 IF(IPR.LT.4.OR.IPR.GT.8.OR.JPR.NE.1) GOTO 7
- •Некоторые расчетные задачи, решенные с помощью языка Норма
- •4. Задача об акреции вещества на звезду с дипольным магнитным полем.
- •Ограничения в применении языка Норма

Некоторые задачи, решаемые компилятором языка Норма для модели распараллеливания по данным
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.Система Норма не является коммерческим программным продуктом. Уровень завершенного исследовательского проекта.