Опубликован: 19.10.2012 | Доступ: свободный | Студентов: 299 / 65 | Длительность: 05:51:00
Тема: Программирование
Специальности: Программист, Системный архитектор
Теги:
Самостоятельная работа 4:
Параллелизация метода волнового фронта решения уравнения Пуассона с использованием
< Самостоятельная работа 3 || Самостоятельная работа 4 || Самостоятельная работа 5 >
Аннотация: На примере задачи о численном решении уравнения Пуассона рассматривается организация параллельных вычислений с помощью Intel® CilkTM Plus и OpenMP. Предлагается сравнить эффективность этих подходов.
Материалы к лабораторной работе Вы можете скачать здесь.
Задание 1 - Параллельная программа численного решения дифференциального уравнения Пуассона методом волнового фронта с помощью OpenMP.
Время на выполнение задания | 25 минут |
---|---|
Цель | Измерение производительности параллельной программы решения уравнения Пуассона методом волнового фронта с помощью средств OpenMP |
Подготовка
Скопируйте папку cilk_lab4 с файлами демонстрационной решения уравнения Пуассона методом Якоби из папки classfiles/Lab04/WTemplates в папку classfiles/Lab04/Explorations.
Компиляция и запуск параллельного метода волнового фронта
- Перейдите в каталог classfiles/Lab03/Explorations/cilk_lab3 и откройте файл с решением Microsoft® Visual Studio 2010 cilk_lab3.sln. Скомпилируйте приложение, выбрав кнопку меню Build—>Build Solution.
- Обратите внимание, что инициализация задачи и вызов алгоритмов решения находится в функции main в файле p_wavefront.cpp, а их реализация содержится в заголовочном файле poisson.h. Убедитесь, что в тексте программы в файле p_wavefront.cpp закомментированы шаг 2 (активен вызов метода волнового фронта с использованием
OpenMP).
Примечание: при решении задачи методом волнового фронта рекомендуется повысить размерность задачи до 1000 (строчка кода const int Size = N;)
- Запустите приложение, выбрав кнопку меню Debug—>Start Without Debugging. Запишите время его выполнения в параллельном режиме с использованием OpenMP:_______
- Сравните полученный результат с результатами лабораторных работ Intel® Cilk Plus.02 (например, раскомментировав шаг 0, можно активировать решение той же задачи методом Гаусса-Зейделя) и Intel® Cilk Plus.03 и попробуйте объяснить причину сходства/различия.
Задание 2 - Параллельная программа численного решения дифференциального уравнения Пуассона методом волнового фронта с помощью Cilk
Время на выполнение задания | 25 минут |
---|---|
Цель | Измерение производительности параллельной программы решения уравнения Пуассона методом волнового фронта с помощью средств Cilk |
Компиляция и запуск параллельного метода волнового фронта
- В тексте программы в файле p_цфмyакщте.cpp раскомментируйте шаг 2 (тем самым станет активен вызов параллельного решения методом волнового фронта с использованием Cilk). Примечание: при решении задачи методом волнового фронта рекомендуется повысить размерность задачи до 1000 (строчка кода const int Size = N;)
- Запустите приложение, выбрав кнопку меню Debug—>Start Without Debugging. Запишите время его выполнения в параллельном режиме с использованием Cilk:_____
Повторите 2) не менее, чем по 5 раз для каждого значения числа потоков (от 1 до 4) и найдите среднее время выполнения в каждом случае:______
- Сравните полученный результат с результатами задания 1 и попробуйте объяснить причину сходства/различия.
< Самостоятельная работа 3 || Самостоятельная работа 4 || Самостоятельная работа 5 >