MPI_Waitsome man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

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 (integer)
       array_of_requests
	      - array of requests (array of handles)

OUTPUT PARAMETERS
       outcount
	      - number of completed requests (integer)
       array_of_indices
	      -	 array of indices of operations that completed (array of inte‐
	      gers)
       array_of_statuses
	      - array of status objects for operations that  completed	(array
	      of Status).  May be MPI_STATUSES_IGNORE .

NOTES
       The  array  of  indicies 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
       returns with outcount set to MPI_UNDEFINED .

       While  it  is  possible	to list a request handle more than once in the
       array_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 array_of_indices will be in increasing order. Also,
       requests	 that are completed while MPI_Waitsome is executing may or may
       not be returned, depending on the timing of the completion of the  mes‐
       sage.

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_PENDING 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 integer 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 statement.

       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 argument.  Before the value is returned, the current MPI error
       handler is called.  By default, this error handler aborts the MPI  job.
       The error handler may be changed with MPI_Comm_set_errhandler (for com‐
       municators),	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	prede‐
       fined error handler MPI_ERRORS_RETURN may be used to cause error values
       to be returned.	Note that MPI does not guarentee 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_REQUEST
	      - Invalid MPI_Request .  Either  null  or,  in  the  case	 of  a
	      MPI_Start or MPI_Startall , not a persistent request.
       MPI_ERR_ARG
	      - Invalid argument.  Some argument is invalid and is not identi‐
	      fied by a specific error class (e.g., MPI_ERR_RANK ).
       MPI_ERR_IN_STATUS
	      - The actual error value is in the  MPI_Status  argument.	  This
	      error  class  is returned only from the multiple-completion rou‐
	      tines ( MPI_Testall , MPI_Testany , MPI_Testsome , MPI_Waitall ,
	      MPI_Waitany  ,  and  MPI_Waitsome ).  The field MPI_ERROR in the
	      status argument contains the  error  value  or  MPI_SUCCESS  (no
	      error  and  complete)  or	 MPI_ERR_PENDING  to indicate that the
	      request has not completed.  The MPI Standard  does  not  specify
	      what  the	 result of the multiple completion routines is when an
	      error occurs.  For example, in an MPI_WAITALL , does the routine
	      wait  for	 all  requests	to either fail or complete, or does it
	      return immediately (with	the  MPI  definition  of  immediately,
	      which  means  independent	 of  actions  of other MPI processes)?
	      MPICH has chosen to  make	 the  return  immediate	 (alternately,
	      local  in MPI terms), and to use the error class MPI_ERR_PENDING
	      (introduced in MPI 1.1) to indicate which requests have not com‐
	      pleted.	In  most cases, only one request with an error will be
	      detected in each call to an  MPI	routine	 that  tests  multiple
	      requests.	 The requests that have not been processed (because an
	      error occured in one of the requests) will have their  MPI_ERROR
	      field marked with MPI_ERR_PENDING .

LOCATION
       src/mpi/pt2pt/waitsome.c

				   9/20/2012		       MPI_Waitsome(3)
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net