В MPI-1 под различными именами имеются три функции для обработки ошибок.
Функция MPI_COMM_CREATE_ERRHANDLER замещает устаревшую функцию
MPI_ERRHANDLER_CREATE(function, errhandler).
Функция MPI_COMM_SET_ERRHANDLER замещает MPI_ERRHANDLER_SET(comm, errhandler).
Функция MPI_COMM_GET_ERRHANDLER замещает MPI_ERRHANDLER_GET(comm, errhandler).
Пользовательская процедура MPI_Comm_errhandler_fn замещает
MPI_Handler_function, а
MPI_COMM_ERRHANDLER_FN замещает HANDLER_FUNCTION.
Пользовательские процедуры языка Си (MPI_Handler_function) и ФОРТРАН (HANDLER_FUNCTION) также устарели.
В каждом случае старая функция имеет то же самое определение и те же привязки, как и соответствующая новая функция.
Объяснение: MPI-I подключает обработчики ошибок только к коммуникаторам. В MPI-2 были введены новые объекты (файлы и окна) и средства для подключения к ним обработчиков ошибок. Имена для новых функций согласованы с именами функций для других объектов и привязками для языка С++.[]
Синтаксис функции MPI_COMM_CREATE_ERRHANDLER представлен ниже.
MPI_COMM_CREATE_ERRHANDLER(function, errhandler)
IN | function | процедура обработки ошибок, определенная пользователем (функция) | |
OUT | errhandler | обработчик ошибок MPI (дескриптор) |
int
MPI_Comm_create_errhandler(MPI_Comm_errhandler_fn *function,
MPI_Errhandler *errhandler)
MPI_COMM_CREATE_ERRHANDLER(FUNCTION, ERRHANDLER, IERROR)
EXTERNAL FUNCTION
INTEGER ERRHANDLER, IERROR
static MPI::Errhandler MPI::Comm::Create_errhandler(
MPI::Comm::Errhandler_fn* function)
Функция MPI_COMM_CREATE_ERRHANDLER создает обработчик ошибок, который может подключаться к коммуникаторам. Эта функция идентична функции MPI_ERRHANDLER_CREATE, которая вышла из употребления.
Синтаксис функции MPI_COMM_SET_ERRHANDLER представлен ниже.
MPI_COMM_SET_ERRHANDLER(comm, errhandler)
INOUT | comm | коммуникатор (дескриптор) | |
IN | errhandler | новый обработчик ошибок для коммуникатора (дескриптор) |
int MPI_Comm_set_errhandler(MPI_Comm comm,
MPI_Errhandler errhandler)
MPI_COMM_SET_ERRHANDLER(COMM, ERRHANDLER, IERROR)
INTEGER COMM, ERRHANDLER, IERROR
void MPI::Comm::Set_errhandler(
const MPI::Errhandler& errhandler)
Функция MPI_COMM_SET_ERRHANDLER подключает новый обработчик ошибок к коммуникатору. Обработчик ошибок должен создаваться вызовом MPI_COMM_CREATE_ERRHANDLER, либо быть предопределенным обработчиком. Этот вызов идентичен вызову MPI_ERRHANDLER_SET, который уже не употребляется.
Синтаксис функции MPI_COMM_GET_ERRHANDLER представлен ниже.
MPI_COMM_GET_ERRHANDLER(comm, errhandler)
IN | comm | коммуникатор (дескриптор) | |
OUT | errhandler | обработчик ошибок, связанный в настоящее время с коммуника-тором (дескриптор) |
int MPI_Comm_get_errhandler(MPI_Comm comm,
MPI_Errhandler *errhandler)
MPI_COMM_GET_ERRHANDLER(COMM, ERRHANDLER, IERROR)
INTEGER COMM, ERRHANDLER, IERROR
MPI::Errhandler MPI::Comm::Get_errhandler() const
Функция MPI_COMM_GET_ERRHANDLER выбирает обработчик ошибок , связанный в настоящее время с коммуникатором. Этот вызов идентичен вызову MPI_ERRHANDLER_GET, который уже не применяется.