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

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

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

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

 

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

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

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

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

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

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

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

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

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

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