Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР №5_MPI_Введение в MPI.doc
Скачиваний:
6
Добавлен:
14.11.2019
Размер:
252 Кб
Скачать
☆

Определение времени выполнение mpi-программы

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

Получение текущего момента времени обеспечивается при помощи функции: double MPI_Wtime(void). Функция возвращает число с плавающей запятой, которое является текущим отсчетом времени в секундах. Следовательно, чтобы узнать время выполнения отрезка программы, нужно выполнить MPI_Wtime в начале и в конце отрезка, а затем вычесть отсчеты. Для получения отсчетов используются таймеры высокого разрешения. Если их нет в конкретном процессоре, то и измерения невозможны.

Возможная схема применения функции MPI_Wtime может состоять в следующем:

double t1, t2, dt;

t1 = MPI_Wtime();

<программный код с использованием функций MPI>

t2 = MPI_Wtime();

dt = t2 – t1;

Кроме того, можно использовать функцию double MPI_Wtick(void), которая возвращает число с плавающей точкой, указывающее время между двумя последовательными тактами (период) тактового генератора.

Задание к лабораторной работе

Написать параллельную программу HelloWorld, используя базовые функции библиотеки MPI. Определить время выполнения программы. Запустить программу в среде эмулятора MPICH с разным количеством процессов и сравнить результаты.

Содержание отчета

1. Формулировка задания

2. Код программы

3. Скриншоты работы программы

4. Пояснение полученных результатов

5. Ответы на контрольные вопросы

Варианты заданий

Разработанная программа запускается 2 раза с разным количеством процессов. Количество запускаемых MPI-процессов рассчитывается по формуле: nproc1= (Nvar mod 10) + 2, nproc2=(Nvar mod 10) +10, где Nvar – порядковый номер студента по журналу преподавателя. Студенты с четным номером Nvar используют функцию определения времени выполнения программы MPI_Wtime, а с нечетным – MPI_Wtick.

10