ВУЗ:
Составители:
Рубрика:
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). Общая схема разработки программ для задач матфизики включает сле- дующие этапы: • Постановка задачи. Выходом этого этапа является обычно система диф- ференциальных уравнений, описывающих задачу. • Выбор пространственно-временной сетки и дискретизация уравнений с помощью одного из разностных методов. • Выбор метода решения дискретных уравнений. Результат – формулы (соотношения), описывающие необходимые вычисления в узлах сетки. • Полученные формулы оформляются в виде программы на некотором языке высокого уровня, обеспечивающем решение задачи на вычисли- тельной машине. Главная идея, лежащая в основе языка Норма заключается в том, что по- лученное на третьем этапе описание решения задачи практически непосред- ственно используется для ввода его в вычислительную систему и проведения счета.
Страницы
- « первая
- ‹ предыдущая
- …
- 63
- 64
- 65
- 66
- 67
- …
- следующая ›
- последняя »