IBM Books

MPI Subroutine Reference

MPI_ERROR_CLASS, MPI_Error_class

Purpose

Returns the error class for the corresponding error code.

C synopsis

#include <mpi.h>
int MPI_Error_class(int errorcode,int *errorclass);

C++ synopsis

#include mpi.h
int MPI::Get_error_class(int errorcode);

FORTRAN synopsis

include 'mpif.h' or use mpi
MPI_ERROR_CLASS(INTEGER ERRORCODE,INTEGER ERRORCLASS,INTEGER IERROR)

Parameters

errorcode
is the predefined or user-created error code returned by an MPI subroutine (IN)

errorclass
is the predefined or user-defined error class for errorcode (OUT)

IERROR
is the FORTRAN return code. It is always the last argument.

Description

This subroutine returns the error class corresponding to an error code.

Table 1 lists the predefined error classes for threads and non-threads libraries.

Table 1. MPI error classes: threads and non-threads libraries

Error classes Description
MPI_ERR_ARG non-valid argument
MPI_ERR_BUFFER non-valid buffer pointer
MPI_ERR_COMM non-valid communicator
MPI_ERR_COUNT non-valid count argument
MPI_ERR_DIMS non-valid dimension argument
MPI_ERR_GROUP non-valid group
MPI_ERR_IN_STATUS error code is in status
MPI_ERR_INTERN internal MPI error
MPI_ERR_LASTCODE last standard error code
MPI_ERR_OP non-valid operation
MPI_ERR_OTHER known error not provided
MPI_ERR_PENDING pending request
MPI_ERR_RANK non-valid rank
MPI_ERR_REQUEST non-valid request (handle)
MPI_ERR_ROOT non-valid root
MPI_ERR_TAG non-valid tag argument
MPI_ERR_TOPOLOGY non-valid topology
MPI_ERR_TRUNCATE message truncated on receive
MPI_ERR_TYPE non-valid datatype argument
MPI_ERR_UNKNOWN unknown error
MPI_SUCCESS no error

Table 2 lists the predefined error classes for threads libraries only.

Table 2. MPI error classes: threads libraries only

Error classes Description
MPI_ERR_ACCESS permission denied
MPI_ERR_AMODE error related to the amode passed to MPI_FILE_OPEN
MPI_ERR_ASSERT non-valid assert argument
MPI_ERR_BAD_FILE non-valid file name (the path name is too long, for example)
MPI_ERR_BASE non-valid base argument
MPI_ERR_CONVERSION an error occurred in a user-supplied data conversion function
MPI_ERR_DISP non-valid disp argument
MPI_ERR_DUP_DATAREP conversion functions could not be registered because a previously-defined data representation was passed to MPI_REGISTER_DATAREP
MPI_ERR_FILE non-valid file handle
MPI_ERR_FILE_EXISTS file exists
MPI_ERR_FILE_IN_USE file operation could not be completed because the file is currently opened by some task
MPI_ERR_INFO non-valid info object
MPI_ERR_INFO_KEY non-valid info key
MPI_ERR_INFO_NOKEY info key not defined
MPI_ERR_INFO_VALUE non-valid info value
MPI_ERR_IO other I/O error
MPI_ERR_LOCKTYPE non-valid locktype argument
MPI_ERR_NO_SPACE not enough space
MPI_ERR_NO_SUCH_FILE file does not exist
MPI_ERR_NOT_SAME collective argument is not identical on all tasks
MPI_ERR_QUOTA quota exceeded
MPI_ERR_READ_ONLY read-only file or file system
MPI_ERR_RMA_CONFLICT conflicting accesses to window
MPI_ERR_RMA_SYNC incorrect synchronization of RMA calls
MPI_ERR_SIZE non-valid size argument
MPI_ERR_UNSUPPORTED_DATAREP unsupported datarep passed to MPI_FILE_SET_VIEW
MPI_ERR_UNSUPPORTED_OPERATION unsupported operation, such as seeking on a file that supports sequential access only
MPI_ERR_WIN non-valid win argument

Notes

For PE MPI, see the IBM Parallel Environment for AIX: Messages, which provides a listing of all the error messages issued, as well as the error class to which the message belongs. Be aware that the MPI standard is not explicit enough about error classes to guarantee that every implementation of MPI will use the same error class for every detectable user error.

In general, the subroutine return code and the error message associated with it provide more specific information than the error class does.

This subroutine can also return new error classes that are defined by user code. The meaning of such classes is determined entirely by the user who creates them. User-defined error classes will be found only on user-created error codes.

Errors

MPI not initialized

MPI already finalized

Related information

MPI_ADD_ERROR_CLASS
MPI_ADD_ERROR_CODE
MPI_ERROR_STRING


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]