УЧЕБНАЯ РАБОЧАЯ ПРОГРАММА по общему курсу
"Алгоритмические языки и библиотеки параллельного программирования"
для студентов, обучающихся по программе подготовки
бакалавров физико-математических наук по направлению
"Прикладная математика и информатика"
Курс третий
Семестр шестой
Практические и лабораторные занятия 36 часов
Зачет 6 семестр
Программа разработана профессором кафедры математического обеспечения ЭВМ
факультета вычислительной математики и кибернетики Нижегородского
госуниверситета доктором технических наук В. П. Гергелем.
1. ЦЕЛИ И ЗАДАЧИ КУРСА
1. Цель преподавания курса
Использование параллельных вычислительных систем для решения
вычислительно-трудоемких задач предполагает наряду со знанием математических
проблем параллельных вычислений практическое освоение средств разработки
параллельных программ. Эти средства обеспечивает целый спектр возможных
подходов к области параллельных вычислений от использования новых
специализированных языков параллельного программирования (например, языка
ОККАМ) до применения "обычных" последовательных языков С и Фортран, в которых
возможность разработки параллельных программ обеспечивается за счет
использования технологических (инструментальных) библиотек типа MPI и PVM. Наличие такого широкого набора средств параллельного программирования
обуславливается прежде всего характерными особенностями вычислительно-
трудоемких задач, с учетом которых разработка программ может быть проведена более
эффективно, и разнообразием существующих параллельных вычислительных систем
(прежде всего многопроцессорных систем с общей и распределенной памятью).
Как результат, изучение разных средств параллельного программирования в
рамках единого курса позволит получить знания по каждой конкретной технологии
программирования в отдельности, сопоставить единство и различие всех
рассматриваемых подходов и получить, тем самым, понимание общих принципов
разработки параллельных программ.
2. Задачи курса
Использование многопроцессорных вычислительных систем предполагает
практическое освоение следующих разделов параллельного программирования:
• Общая характеристика параллельных вычислительных систем,
• Принципы разработки параллельных алгоритмов и программ,
• Алгоритмический язык параллельного программирования ОККАМ,
• Алгоритмический язык Фортран HPF для параллельного программирования,
1
• Технология OpenMP для разработки параллельных программ для систем с общей
памятью,
• Разработка параллельных программ для систем с распределенной памятью с
использованием библиотеки MPI,
• Параллельные численные алгоритмы для решения вычислительно-трудоемких
задач. Выполнение практических заданий по разработке параллельных алгоритмов и
программ осуществляется на высокопроизводительном вычислительном кластере
Нижегородского университета.
3. Дисциплины, изучение которых необходимо при освоении данного курса
Изложение курса опирается на основные курсы "ЭВМ и программирование" и
"Многопроцессорные вычислительные системы и параллельное программирование".