MPI определяет таймеры, поскольку таймер необходим для изучения характеристик параллельных программ, а существующие таймеры (в POSIX, в языке ФОРТРАН90) неудобны или не обеспечивают доступ к таймерам с высоким разрешением.
Синтаксис функции MPI_WTIME() представлен ниже.
MPI_WTIME()
double MPI_Wtime(void)
DOUBLE PRECISION MPI_WTIME()
Функция MPI_WTIME возвращает количество секунд, представляя полное время по отношению к некоторому моменту времени в прошлом. Этот момент в прошлом не изменяется на протяжении времени жизни процесса. Эта функция универсальна, поскольку она возвращает секунды, а не количество тактовых импульсов.
Функцию можно использовать следующим образом:
{
double starttime, endtime;
starttime = MPI_Wtime();
.... stuff to be timed ...
endtime = MPI_Wtime();
printf("That took %f seconds\n",endtime-starttime);
}
Измеренное время локально относительно узла, вызвавшего эту функцию. Разные узлы не обязательно возвращают одинаковое время.
Синтаксис функции MPI_WTICK() представлен ниже.
MPI_WTICK ()
double MPI_Wtick(void)
DOUBLE PRECISION MPI_WTICK()
Функция MPI_WTICK возвращает величину разрешения MPI_WTIME в секундах, то есть время в секундах между последовательными импульсами, представленное с двойной точностью. Например, если часы выполнены как аппаратный счетчик, который инкрементируется каждую миллисекунду, то значение, возвращаемое MPI_WTICK, должна быть .