Файл: Лабораторная работа 2. Распараллеливание циклов в OpenMP 1 Порядок выполнения работы.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 25.10.2023

Просмотров: 27

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Лабораторная работа №2. «Распараллеливание циклов в OpenMP»

1.1 Порядок выполнения работы

1. Добавить во все for-циклы в программе из ЛР №1 следующую директиву OpenMP: "#pragma omp parallel for default(none) private(...) shared(...)". Наличие всех перечисленных параметров в указанной директиве является обязательным.

2. Проверить все for-циклы на внутренние зависимости по данным между итерациями. Если зависимости обнаружились, использовать для защиты критических секций директиву "#pragma omp critical" или "#pragma omp atomic" (если операция атомарна), или параметр reduction (предпочтительнее).

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

4. Провести эксперименты, замеряя параллельное ускорения. По результатам экспериментов оставить только те директивы #pragma omp for, которые дают прирост в параллельном ускорении. Привести сравнение графиков параллельного ускорения с ЛР№1, используя те же значения параметров N1 и N2, что и в ЛР№1

5. Провести эксперименты повторно (т.е. изначально не удаляя директивы #pragma omp for), но добавив параметр "schedule" и варьируя в экспериментах тип расписания. Исследование нужно провести для всех возможных расписаний: static, dynamic, guided. Способ варьирования параметра chunk_size выбрать самостоятельно (но должно быть не менее 5 точек варьирования).

6. По результатам экспериментов оставить только те директивы, которые дают прирост в параллельном ускорении. Привести сравнение графиков параллельного ускорения с ЛР№1 и п.4.

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

8. Написать отчѐт о проделанной работе.