Читать онлайн «Алгоритмические языки и библиотеки параллельного программирования: Рабочая программа дисциплины»

Автор В. П. Гергель

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