Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
MPI_Waitsome(3) 		       MPI			 MPI_Waitsome(3)

NAME
     MPI_Waitsome -  Waits for some given MPI Requests to complete

SYNOPSIS
     int MPI_Waitsome(int incount, MPI_Request array_of_requests[], int *outcount,
     int array_of_indices[], MPI_Status *array_of_statuses)

INPUT PARAMETERS
     incount
	    - length of array_of_requests (non-negative integer)

INPUT/OUTPUT PARAMETERS
     array_of_requests
	    - array of requests (handle)

OUTPUT PARAMETERS
     outcount
	    - number of completed requests (integer)
     array_of_indices
	    - array of indices of operations that completed (integer)
     array_of_statuses
	    - array of status objects for operations that completed (Status)

NOTES
     The  array  of  indices  are in the range 0 to incount - 1 for C and in the
     range 1 to incount for Fortran.

     Null requests are ignored; if all requests are null, then the  routine  re-
     turns with outcount set to MPI_UNDEFINED .

     While  it	is  possible  to list a request handle more than once in the ar-
     ray_of_requests, such an action is considered erroneous and may  cause  the
     program to unexecpectedly terminate or produce incorrect results.

     MPI_Waitsome  provides an interface much like the Unix select or poll calls
     and, in a high qualilty implementation, indicates all of the requests  that
     have  completed  when  MPI_Waitsome  is called.  However, MPI_Waitsome only
     guarantees that at least one request has completed; there is  no  guarantee
     that  all	completed  requests will be returned, or that the entries in ar-
     ray_of_indices will be in increasing order. Also, requests  that  are  com-
     pleted  while MPI_Waitsome is executing may or may not be returned, depend-
     ing on the timing of the completion of the message.

NOTES ON THE MPI_STATUS ARGUMENT
     The MPI_ERROR field of the status return is only set if the return from the
     MPI routine is MPI_ERR_IN_STATUS .  That error class is  only  returned  by
     the  routines  that  take	an  array  of  status  arguments ( MPI_Testall ,
     MPI_Testsome , MPI_Waitall , and MPI_Waitsome ).  In all other  cases,  the
     value of the MPI_ERROR field in the status is unchanged.  See section 3.2.5
     in the MPI-1.1 specification for the exact text.

     For send operations, the only use of status is for MPI_Test_cancelled or in
     the case that there is an error in one of the four routines that may return
     the  error  class	MPI_ERR_IN_STATUS , in which case the MPI_ERROR field of
     status will be set.  In that case, the value will be set to MPI_SUCCESS for
     any send or receive operation that completed successfully, or MPI_ERR_PEND-
     ING for any operation which has neither failed nor completed.

THREAD AND INTERRUPT SAFETY
     This routine is thread-safe.  This means that this routine  may  be  safely
     used  by  multiple  threads  without  the need for any user-provided thread
     locks.  However, the routine is not interrupt safe.  Typically, this is due
     to the use of memory allocation routines such as malloc or other  non-MPICH
     runtime routines that are themselves not interrupt-safe.

NOTES FOR FORTRAN
     All  MPI  routines in Fortran (except for MPI_WTIME and MPI_WTICK ) have an
     additional argument ierr at the end of the argument list.	ierr is an inte-
     ger and has the same meaning as the return value of the routine in  C.   In
     Fortran, MPI routines are subroutines, and are invoked with the call state-
     ment.

     All  MPI  objects	(e.g.,	MPI_Datatype , MPI_Comm ) are of type INTEGER in
     Fortran.

ERRORS
     All MPI routines (except MPI_Wtime and MPI_Wtick ) return an error value; C
     routines as the value of the function and Fortran routines in the last  ar-
     gument.   Before  the  value  is returned, the current MPI error handler is
     called.  By default, this error handler aborts the MPI job.  The error han-
     dler may  be  changed  with  MPI_Comm_set_errhandler  (for  communicators),
     MPI_File_set_errhandler  (for  files),  and MPI_Win_set_errhandler (for RMA
     windows).	The MPI-1 routine MPI_Errhandler_set may be used but its use  is
     deprecated.   The predefined error handler MPI_ERRORS_RETURN 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; however, MPI implementations
     will attempt to continue whenever possible.

     MPI_SUCCESS
	    - No error; MPI routine completed successfully.
     MPI_ERR_ARG
	    - Invalid argument.  Some argument is invalid and is not  identified
	    by a specific error class (e.g., MPI_ERR_RANK ).
     MPI_ERR_COUNT
	    -  Invalid	count argument.  Count arguments must be non-negative; a
	    count of zero is often valid.
     MPI_ERR_REQUEST
	    - Invalid MPI_Request .  Either null or, in the case of a  MPI_Start
	    or MPI_Startall , not a persistent request.
     MPI_ERR_OTHER
	    -  Other  error;  use MPI_Error_string to get more information about
	    this error code.

				    4/10/2026			 MPI_Waitsome(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=MPI_Waitsome&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help