ПАРАЛЛЕЛЬНОЕ ПРОГРАММИРОВАНИЕ
113
Функции для тестирования на время
Назначение теста
Назначением теста MPITEST - выяснить эффективность реализации и выпол-
нения некоторых базовых конструкций MPI в рамках тестируемого программно-
аппаратного комплекса.
Тестируемые конструкции MPI
В начале опишем тестируемые конструкции MPI. Методика тестирования
далее
Условное название
Описание
TIMING
время на один замер времени
BARRIER
барьерная синхронизация всех процессов
ALLREDUCE
суммирование N целочисленных переменных по всем узлам с рассылкой
результата по всем узлам
REDUCE
суммирование N целочисленных переменных по всем узлам, результат на
одном узле
BROADCAST
рассылка N целочисленных значений с одного узла по всем узлам
GATHER
сбор N целочисленных значений со всех процессов на один головной про-
цесс; в результате, головной процесс принимает N
(np-1) целочисленных
значений
ALLGATHER
Каждый процесс посылает всем остальным N целочисленных значений; в
результате каждый процесс посылает N, а принимает N
(np-1) целочислен-
ных значений; эту операцию можно реализовать как GATHER (сбор), а по-
том BCAST (рассылка)
ALL-TO-ALL
Каждый процесс посылает каждому по N целочисленных значений; в ре-
зультате каждый процесс посылает и принимает по N
(np-1) целочислен-
ных значений
ISEND& WAIT
Неблокирующая посылка N целочисленных значений от одного процесса
другому с ожиданием завершения
BLOCKING SEND
блокирующая пересылка N целочисленных значений от одного процесса
другому целочисленных значений
SENDRECV
операция посылки и получения N целочисленных значений
SEND & RECV
посылка, а затем получение N целочисленных значений
SIGNAL SENDING
посылка сигнала, т.е. сообщения нулевой длины, и получение ответного
сигнала (получаемое время должно примерно равняться удвоенной латент-
ности)
Методика тестирования
Время
DT
на один замер времени вычисляется так:
t1 = MPI_Wtime();
t2 = MPI_Wtime();
DT = t2 - t1;
1...,105,106,107,108,109,110,111,112,113,114 116,117,118,119,120,121,122,123,124,125,...180