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

Коды и классы ошибок.

Коды ошибок, возвращаемых MPI, полностью приведены в реализации MPI (за исключением MPI_SUCCESS). Это сделано для того, чтобы позволить реализации представить как можно больше информации об ошибках (для использования с MPI_ERROR_STRING).

Чтобы приложения могли интерпретировать код ошибки, процедура MPI_ERROR_CLASS преобразует код любой ошибки в один из кодов небольшого набора кодов стандартных ошибок, названный классом ошибок. Правильные классы ошибок удовлетворяют условию:

Классы ошибок являются подмножеством кодов ошибок: функция MPI может возвращать номер класса ошибки, а функция MPI_ERROR_STRING может использоваться, чтобы вычислить строку ошибки, связанную с классом ошибки.

Коды ошибок удовлетворяют выражению:

0 = const MPI_SUCCESS < constMPI_ERR_... $ \le $ MPI_ERR_LASTCODE.

Объяснение: Разница между MPI_ERR_UNKNOWN и MPI_ERR_OTHER состоит в том, что
MPI_ERROR_STRING может возвращать полезную информацию о MPI_ERR_OTHER.

Заметим, что MPI_SUCCESS = 0 необходимо для соответствия языку Си; разделение классов ошибки и кодов ошибки допускает определение класса ошибки этим способом. Наличие известного LASTCODE - часто хороший контроль готовности к работе.[]

MPI_SUCCESS Ошибки нет
MPI_ERR_BUFFER Неправильный указатель буфера
MPI_ERR_COUNT Неверное количество аргумента
MPI_ERR_TYPE Неправильный тип аргумента
MPI_ERR_TAG Неправильный тэг аргумента
MPI_ERR_COMM Неправильный коммуникатор
MPI_ERR_RANK Неправильный номер
MPI_ERR_REQUEST Неверный запрос (дескриптор)
MPI_ERR_ROOT Неверный корневой идентификатор
MPI_ERR_GROUP Неправильная группа
MPI_ERR_OP Неправильная операция
MPI_ERR_TOPOLOGY Неверная топология
MPI_ERR_DIMS Неправильная размерность аргумента
MPI_ERR_ARG Ошибка аргумента некоторого другого типа
MPI_ERR_UNKNOWN Неизвестная ошибка
MPI_ERR_TRUNCATE Неправильное округление
MPI_ERR_OTHER Известная ошибка не из этого списка
MPI_ERR_INTERN Внутренняя ошибка реализации MPI
MPI_ERR_IN_STATUS Неправильный код статуса
MPI_ERR_PENDING Зависший запрос
MPI_ERR_LASTCODE Последний код в списке

Синтаксис функции MPI_ERROR_CLASS представлен ниже.

MPI_ERROR_CLASS(errorcode, errorclass)

IN errorcode код ошибки, возвращаемый процедурой MPI
OUT errorclass класс ошибки, связанный с errorcode

int MPI_Error_class(int errorcode, int *errorclass)

MPI_ERROR_CLASS(ERRORCODE, ERRORCLASS, IERROR)
INTEGER ERRORCODE, ERRORCLASS, IERROR

int MPI::Get_error_class(int errorcode)

Функция MPI_ERROR_CLASS отображает код каждой стандартной ошибки (класс ошибки) на себя.



Subsections
next up previous contents
Next: Устаревшие функции Up: Управление исполнительной средой MPI Previous: Обработка ошибок   Contents
Alex Otwagin 2002-12-10