Контрольная работа и лабораторные работы

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

Тема контрольной работы:

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

Темы лабораторных работ:

1.    Параллельное программирование для графического процессора в среде NVidia CUDA или OpenCL.

2.    Параллельное программирование для кластера с использованием основ технологии MPI.

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

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

Любая параллельная программа должна автоматически настраиваться на максимально доступное (или заданное при ее запуске) количество потоков/узлов/ядер/ветвей/…

Студент самостоятельно делает выбор, какую из задач решать в контрольной работе и в каждой лабораторной работе.

Любые исходные данные должны задаваться в командной строке запуска программы и//или читаться из указанного в ней файла (файлов), т.е. не должны задаваться/определяться как константы в разрабатываемой программе. Для генерации исходных данных большого объема следует использовать утилиту genData.exe. Результаты вычислений должны выводиться в файл. Небольшие по объему результаты могут выводиться на консоль.

При решении задач, связанных с простыми числами, следует использовать для их нахождения алгоритм "решето Эратосфена" или более производительный, либо использовать в качестве исходных данных файлы с заранее вычисленными простыми числами, например – с сайта http://primes.utm.edu/lists/small/millions/.

По результатам выполнения контрольной работы и лабораторных работ оформляются отчеты в электронном виде в формате Microsoft Word или PDF. Кроме стандартных разделов отчет должен содержать инструкцию по компиляции, сборке и запуску разработанной программы (программ). Код программы (программ) оформляется отдельно в формате текстового файла (файлов) и вместе с отчетом загружается студентом в соответствующий раздел личного кабинета в диспэйсе. Рекомендуется все файлы, содержащие результаты выполнения одной работы, упаковывать в один архив формата zip или rar. Загружать полные проекты любой IDE (например, Microsoft Visual Studio) категорически запрещается. Работы, оформленные не по указанным правилам к проверке не принимаются.