next up previous contents
Next: Подготовка к запуску параллельных Up: Управление исполнительной средой MPI Previous: Устаревшие функции   Contents

Таймеры и синхронизация.

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, должна быть $10^{ - 3}$.



Alex Otwagin 2002-12-10