Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задание на КР 2_0.doc
Скачиваний:
12
Добавлен:
22.08.2019
Размер:
134.14 Кб
Скачать

Министерство образования и науки РФ

Санкт-Петербургский Государственный Университет Аэрокосмического Приборостроения

Кафедра Информационных Систем

А.Ю. Сыщиков, ю.Е. Шейнин Параллельное программирование.

Методические указания к выполнению курсовых работ.

Санкт-Петебург

2010

    1. Введение

Курсовая работа по дисциплине «Параллельное программирование» («Системы с параллельной обработкой информации») является завершающим этапом изучения данной дисциплины.

В этой работе студент должен показать, в какой мере он освоил теоретические и практические материалы курса и насколько успешно он может решать отдельные задачи, возникающие на практике в процессе разработки программ для параллельных систем.

    1. Общее описание задания на курсовую работу

      1. Содержание курсовой работы

Задание на курсовую работу состоит из следующих частей:

  1. Изучение задачи своего варианта, разработка и описание общего алгоритма ее решения;

  2. Разработка и отладка параллельной программы решения данной задачи в рамках одного из двух изученных стандартов разработки параллельных программ: MPI или OpenMP;

  3. Промежуточное представление результатов работы;

  4. Подготовка отчета по курсовой работе;

  5. Защита курсовой работы.

      1. Выбор варианта задания

Выбор варианта задания и стандарта параллельного программирования для разработки программы осуществляется студентом при личном присутствии из списка заданий на курсовые работы, которые еще не были заняты другими студентами.

      1. Метод решения и используемые средства

При выполнении курсовой работы могут использоваться любые средства параллелизма в рамках выбранного стандарта параллельного программирования.

      1. Требования к курсовой работе

  1. Разработанные программы должны содержать достаточное количество распараллеленных вычислений и/или их частей.

  2. Количество параллельных процессов должно быть произвольным. Допускается пожелание студента, чтобы задаваемое число параллельных процессов было кратно некоторому требуемому числу.

  3. В программе должно засекаться время ее выполнения (с точностью до миллисекунд) и выводиться на экран по итогам работы программы.

  4. Программа на большем количестве процессов должна работать быстрее, чем на меньшем количестве процессов. В случае если это не так необходимо веско аргументировать, почему это не так.

  5. Если программе требуется больше одной-двух цифр входных данных – такие данные должны задаваться в файле(ах) и читаться оттуда.

  6. Размерность задачи для тестового примера должна быть такой, чтобы ее вычисление занимало не меньше 10 секунд (можно больше в разумных пределах).

      1. Содержание отчета

  1. Титульный лист

  2. Текст задания с вариантом

  3. Теоретическая часть

    1. Краткий обзор по теме задания

    2. Общее описание выбранного метода решения

    3. Описание применения выбранного метода распараллеливания к выбранному методу решения

  4. Практическая часть

    1. Схема алгоритма программы

    2. Текст существенных (относительно изучаемого предмета и выбранного задания) частей программного кода

    3. Примеры работы программы с пояснением выводимых результатов

  5. Заключительная часть

    1. Описание результатов относительно выбранного задания

      1. ограничения на входные данные

      2. качество получаемых результатов

      3. другие характеристики (если есть)

    2. Описание результатов распараллеливания решения задания

      1. изменение времени работы при использовании одного процессора/ядра

      2. изменение времени работы при использовании двух процессоров/ядер

      3. оценка изменения времени работы при использовании N процессоров/ядер (N>2)

  6. Выводы