Контрольная работа и лабораторные работы
Список задач, варианты заданий и методические указания
по выполнению контрольной работы и лабораторных работ находятся в электронном
виде на сайте дисциплины. Всего должно быть решено 3 задачи, каждая в
последовательном и распараллеленном варианте.
Тема контрольной работы:
Параллельное
программирование для систем с общей памятью с использованием основ технологии OpenMP.
Темы лабораторных работ:
1. Параллельное программирование для
графического процессора в среде NVidia CUDA или OpenCL.
2. Параллельное программирование для кластера
с использованием основ технологии MPI.
В каждой лабораторной работе нужно разработать
параллельную программу для решения одной из задач, полный список которых
формируется преподавателем. Формулировка задач и их индивидуальный перечень на
все лабораторные работы выдаются преподавателем. Студент самостоятельно делает
выбор, какую из задач решать в контрольной работе и в каждой лабораторной
работе.
В каждой работе должны быть разработаны и
последовательный и параллельный вариант решения задачи, измерены временные
затраты на каждый вариант и реализовано сравнение их результатов.
В каждой
работе должны быть разработаны и последовательный и параллельный вариант
программы, запускаемые без перекомпиляции, измерены временные затраты на каждый
вариант для различных степеней распараллеливания и реализовано программное
сравнение их результатов на совпадение. Необходимо добиться того, чтобы
параллельный вариант работал быстрее последовательного.
Любые исходные данные должны задаваться в командной
строке запуска программы и читаться из указанного в ней файла (файлов), т.е. не
должны задаваться/определяться как константы в разрабатываемой программе.
Для генерации исходных данных большого объема следует использовать утилиту genData.exe. Результаты вычислений
должны выводиться в файл. Небольшие по объему результаты могут выводиться на
консоль.
Любая параллельная программа должна автоматически
настраиваться на максимально доступное (или заданное при ее запуске) количество
потоков/узлов/ядер/ветвей/…
При решении задач, связанных с простыми числами,
следует использовать для их нахождения алгоритм "решето Эратосфена"
или более производительный, либо использовать в качестве исходных данных файлы
с заранее вычисленными простыми числами, например – с сайта http://primes.utm.edu/lists/small/millions/.
По результатам выполнения контрольной работы и
лабораторных работ оформляется и сдается преподавателю сводный отчет в
электронном виде. Требования к отчету по каждой работе содержатся в
лабораторном практикуме.