Open MPI logo

MPI_Get_count(3) man page (version 5.0.0rc2)

  |   Home   |   Support   |   FAQ   |  

« Return to documentation listing

Table of Contents

Name

C]MPI_Get_countR] - Gets the number of top-level elements received.

Syntax

C Syntax



C]#include <mpi.h>int MPI_Get_count(const MPI_Status *status, MPI_Datatype datatype, int *count)R]Fortran Syntax



C]USE MPI! or the older form: INCLUDE [aq]mpif.h[aq]MPI_GET_COUNT(STATUS, DATATYPE, COUNT, IERROR) INTEGER STATUS(MPI_STATUS_SIZE), DATATYPE, COUNT, IERRORR]Fortran 2008 Syntax



C]USE mpi_f08MPI_Get_count(status, datatype, count, ierror) TYPE(MPI_Status), INTENT(IN) :: status TYPE(MPI_Datatype), INTENT(IN) :: datatype INTEGER, INTENT(OUT) :: count INTEGER, OPTIONAL, INTENT(OUT) :: ierrorR]Input Parameters

[bu]
C]statusR] : Return status of receive operation (status).
[bu]
C]datatypeR] : Datatype of each receive buffer element (handle).

Output Parameters

[bu]
C]countR] : Number of received elements (integer).
[bu]
C]IERRORR] : Fortran only: Error status (integer).

Description

Returns the number of entries received. (We count entries, each of type C]datatypeR], not bytes.) The C]datatypeR] argument should match the argument provided by the receive call that set the C]statusR] variable. (As explained in Section 3.12.5 in the MPI-1 Standard, [lq]Use of General Datatypes in Communication,[rq] C]MPI_Get_countR] may, in certain situations, return the value C]MPI_UNDEFINEDR].)

The C]datatypeR] argument is passed to C]MPI_Get_countR] to improve performance. A message might be received without counting the number of elements it contains, and the C]countR] value is often not needed. Also, this allows the same function to be used after a call to C]MPI_ProbeR].

Notes

If the size of the C]datatypeR] is zero, this routine will return a C]countR] of zero. If the amount of data in C]statusR] is not an exact multiple of the size of C]datatypeR] (so that C]countR] would not be integral), a C]countR] of C]MPI_UNDEFINEDR] is returned instead.

Errors

If the value to be returned is larger than can fit into the C]countR] parameter, an C]MPI_ERR_TRUNCATER] error is raised.

Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument.

Before the error value is returned, the current MPI error handler is called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with C]MPI_Comm_set_errhandlerR]; the predefined error handler C]MPI_ERRORS_RETURNR] may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error.

See Also

C]MPI_Get_elementsR](3)


Table of Contents

« Return to documentation listing