![]() |
Нижегородский государственный университет им. Н.И.ЛобачевскогоФакультет Вычислительной Математики и КибернетикиУчебный курс:CS338. Многопроцессорные вычислительные системы и параллельное программирование |
![]() |
Задания для самостоятельной
работы:
При прохождении лабораторного практикума помимо выполнения упражнений под руководством преподавателя каждый студент самостоятельно осуществляет решение трех заданий разного уровня сложности:
· Два из этих упражнений связаны с разработкой параллельных программ для систем с общей и распределенной памятью и направлены на практическое освоение технологий OpenMP и MPI соответственно. Задания для такого вида упражнений берутся из разделов 4 и 5 учебных материалов курса.
· Третье упражнение состоит в разработке параллельной программы для одного из алгоритмов, рассмотренных в разделах 7-12 учебных материалов курса.
Курсовой проект (зачетная
работа):
Обучение в рамках данного курса завершается подготовкой курсового проекта (зачетной работой). В рамках данной работы студентами должен быть выполнен полный цикл разработки параллельной программы достаточно высокого уровня сложности:
-
Определение
постановки задачи (задания на разработку),
-
Поиск
литературы и освоение ряда известных алгоритмов решения поставленной задачи,
-
Обоснованный
выбор методов для дальнейшего использования,
-
Разработку
параллельных способов решения задачи в соответствии с методикой, изложенной в
разделе 6 учебных материалов курса,
-
Теоретический
анализ эффективности разработанных параллельных методов,
-
Программная
реализация, проверка работоспособности, проведение вычислительных
экспериментов,
-
Анализ
полученных результатов, сравнение теоретических и экспериментальных показателей
эффективности,
-
Оформление
результатов выполнения работы.
Отчет о результатах выполнения работы должен быть подготовлен в виде Web-документа, готового для опубликования в Интернет. Данный Web-документ должен содержать следующие разделы:
-
Постановка
решаемой задачи,
-
Общее
описание параллельного метода,
-
Общее
описание схемы программной разработки,
-
Результаты
теоретического анализа эффективности,
-
Текст
программы (в упакованном формате для передачи по протоколу ftp),
-
Описание
выполненных вычислительных экспериментов,
-
Список
использованной литературы.
При выполнении работы обязательным является подготовка средств динамической визуализации процесса параллельных вычислений (в режиме имитации расчетов или при реальном многопроцессорном решении поставленных задач) - возможные примеры представления результатов студенческих работ приведены на http://www.software.unn.ac.ru/ccam/?dir=17.
Выбор тем зачетных заданий производится с учетом следующих рекомендаций:
-
Тема
работы может быть предложена самим студентом и, тем самым, может быть связана с
направлением его учебно-научной, практической или исследовательской
деятельности (рекомендуемый вариант выбора темы работы),
-
Тема
работы может состоять в усложнении или укрупнении заданий, предложенных в разделах
7-12 учебных материалов курса (например, реализовать все рассмотренные
параллельные алгоритмы матричного умножения),
-
Тема
работы может состоять в изменении постановок рассмотренных в учебном курсе
задач (так, например, в матричных вычислениях вместо плотных матриц могут
рассматриваться разреженные матрицы или матрицы специального типа),
-
Тема
работы может состоять в расширении набора рассматриваемых задач и методов их
решения (задачи матричных вычислений и обработки графов, уравнения в частных
производных, цифровая обработка сигналов, обработка изображений и др.).
Уровень сложности задания должен исходить из
необходимости 36 часов самостоятельной работы студента. Для выполнения работ
студенты могут быть объединены в группы из 2 человек.
Представление результатов работы производится
на практическом занятии в виде 10-15 минутной презентации.
Экзамен:
Экзамен по курсу проводится в устной форме. Вопросы и задачи экзамена формируются на основе учебных материалов курса. Итоговая оценка выставляется с учетом всех результатов обучения по курсу:
-
Участие
в лекционных занятиях – 10%,
-
Работа
на практических и лабораторных занятиях - 10%,
-
Выполнение
самостоятельных заданий - 20%,
-
Выполнение
зачетного задания - 40%,
-
Экзамен
- 20%.