Файл: Лабораторная работа 2. Распараллеливание циклов в OpenMP 1 Порядок выполнения работы.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 25.10.2023
Просмотров: 32
Скачиваний: 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. Написать отчѐт о проделанной работе.