next up previous contents
Next: Объект Info Up: Разное Previous: Разрешение функций пользователя в   Contents

Определение, закончился ли MPI

Одна из целей MPI должна учесть многоуровневые библиотеки. Для библиотеки, чтобы делать это чисто, требуется знать, является ли MPI активным. В MPI-1 функция MPI_INITIALIZED была предназначена, чтобы сообщить, был ли MPI инициализирован. Проблема возникла в знании, завершен ли MPI. Как только MPI завершен, это больше не активно и не может быть перезапущено. Библиотека должна быть способной определить это, чтобы действовать соответственно. Чтобы достигнуть этого, необходима следующая функция:

MPI_FINALIZED(flag)

OUT flag истина, если MPI был завершен (логический)  

int MPI_Finalized(int *flag) MPI_FINALIZED(FLAG, IERROR) LOGICAL FLAG INTEGER IERROR bool MPI::Is_finalized()

Эта подпрограмма возвращает true, если MPI_FINALIZE завершена. Законно вызывать
MPI_FINALIZED перед MPI_INIT и после MPI_FINALIZE.

Совет пользователям: MPI ``активен'' и это - таким образом сохранение вызова функций MPI, если MPI_INIT завершена и MPI_FINALIZE не завершена. Если библиотека не имеет никакой другой возможности узнать, является ли MPI активным или нет, то она может использовать MPI_INITIALIZED и MPI_FINALIZED, чтобы определить это. Например, MPI ``активен'' в функциях повторного вызова, которые вызваны в течение MPI_FINALIZE. []



Alex Otwagin 2002-12-10