Параллельное программирование в стандарте MPI. Баканов В.М - 65 стр.

UptoLike

Составители: 

6 Лабораторная работа 6. Автоматизация разработки
параллельных MPI-программ c использованием
проблемно-ориентированного языка НОРМА
Цель работыприобрести начальные навыки в разработке параллельных
программ, предназначенных для решения задач математической физики раз-
ностными методами с использованием системы автоматизации создания па-
раллельных программИнтерактивная НОРМА и непроцедурного языка
программирования НОРМА.
Теоретическая часть. Как сказано выше, программирование в технологии
MPI является достаточно низкоуровневым и поэтому требует высокой ква-
лификации разработчика и значительных затрат (в т.ч. временных) при соз-
дании программного продукта. Имеющиеся системы автоматизации распа-
раллеливания недостаточно эффективны (при высокой стоимости и узости
области применения). Кроме того, существуют фундаментальные соображе-
ния (характерный размер зерна распараллеливания программы намного пре-
восходит характерный размер типичного оператора языка программирова-
ния), следствием которых является практическая невозможность качествен-
ного распараллеливания последовательной программы, записанной на при-
вычных языках программирования [2].
Т.о. исключение этапа последовательной алгоритмизации потенциально
может привести к возможности качественного автоматического создания
параллельных программ. Один из примеров реализации такого подхода
предложенная еще в 60-х г.г. в ИПМ им.М.В.Келдыша РАН концепция не-
процедурного языка НОРМА (Непроцедурное Описание Разностных Моде-
лей Алгоритмов или НОРМАльный уровень общения прикладного матема-
тика с компьютером,
http://www.keldysh.ru/pages/norma
).
Общая схема разработки программ для задач матфизики включает сле-
дующие этапы:
Постановка задачи
. Выходом этого этапа является обычно система диф-
ференциальных уравнений, описывающих задачу.
Выбор пространственно-временной сетки
и дискретизация уравнений с
помощью одного из разностных методов.
Выбор метода решения дискретных уравнений
. Результатформулы
(соотношения), описывающие необходимые вычисления в узлах сетки.
Полученные формулы оформляются в виде программы
на некотором
языке высокого уровня, обеспечивающем решение задачи на вычисли-
тельной машине.
Главная идея, лежащая в основе языка Норма заключается в том, что по-
лученное на третьем этапе описание решения задачи практически непосред-
ственно используется для ввода его в вычислительную систему и проведения
счета.
  6 Лабораторная работа 6. Автоматизация разработки
    параллельных MPI-программ c использованием
    проблемно-ориентированного языка НОРМА

  Цель работы – приобрести начальные навыки в разработке параллельных
программ, предназначенных для решения задач математической физики раз-
ностными методами с использованием системы автоматизации создания па-
раллельных программ ‘Интерактивная НОРМА’ и непроцедурного языка
программирования НОРМА.

  Теоретическая часть. Как сказано выше, программирование в технологии
MPI является достаточно низкоуровневым и поэтому требует высокой ква-
лификации разработчика и значительных затрат (в т.ч. временных) при соз-
дании программного продукта. Имеющиеся системы автоматизации распа-
раллеливания недостаточно эффективны (при высокой стоимости и узости
области применения). Кроме того, существуют фундаментальные соображе-
ния (характерный размер зерна распараллеливания программы намного пре-
восходит характерный размер типичного оператора языка программирова-
ния), следствием которых является практическая невозможность качествен-
ного распараллеливания последовательной программы, записанной на при-
вычных языках программирования [2].
  Т.о. исключение этапа последовательной алгоритмизации потенциально
может привести к возможности качественного автоматического создания
параллельных программ. Один из примеров реализации такого подхода –
предложенная еще в 60-х г.г. в ИПМ им.М.В.Келдыша РАН концепция не-
процедурного языка НОРМА (Непроцедурное Описание Разностных Моде-
лей Алгоритмов или НОРМАльный уровень общения прикладного матема-
тика с компьютером, http://www.keldysh.ru/pages/norma).
  Общая схема разработки программ для задач матфизики включает сле-
дующие этапы:

  • Постановка задачи. Выходом этого этапа является обычно система диф-
    ференциальных уравнений, описывающих задачу.
  • Выбор пространственно-временной сетки и дискретизация уравнений с
    помощью одного из разностных методов.
  • Выбор метода решения дискретных уравнений. Результат – формулы
    (соотношения), описывающие необходимые вычисления в узлах сетки.
  • Полученные формулы оформляются в виде программы на некотором
    языке высокого уровня, обеспечивающем решение задачи на вычисли-
    тельной машине.

   Главная идея, лежащая в основе языка Норма заключается в том, что по-
лученное на третьем этапе описание решения задачи практически непосред-
ственно используется для ввода его в вычислительную систему и проведения
счета.