Skip to content

Latest commit

 

History

History
109 lines (82 loc) · 3.79 KB

mpi-waitsome-function.md

File metadata and controls

109 lines (82 loc) · 3.79 KB
title TOCTitle ms:assetid ms:mtpsurl ms:contentKeyID ms.date mtps_version f1_keywords dev_langs description
MPI_Waitsome function
MPI_Waitsome function
aa5b1b9f-7e49-4074-adb2-3e06b889baea
59361063
03/28/2018
v=VS.85
MPI_WAITSOME
mpif/MPI_Waitsome
mpi/MPI_WAITSOME
C++
C
Master the MPI_Waitsome function with this comprehensive guide. Learn syntax, parameters, return values, and more for successful message-passing operations.

MPI_Waitsome function

Completes some out of several outstanding operations.

Syntax

int MPIAPI MPI_Waitsome(
        int                                         incount,
        _Inout_count_(incount) MPI_Request          array_of_requests,
  _Out_ int                                         *outcount,
        _Out_cap_post_count_(incount,*outcount) int *array_of_indices,
        _Out_cap_post_count_(incount,*outcount)     *array_of_statuses
);

Parameters

  • incount
    The number of entries in the array_of_requests parameter.

  • array_of_requests
    An array of MPI_Request handles of outstanding operations.

  • outcount [out]
    The number of completed requests.

  • array_of_indices
    Array of indices in the array_of_requests of operations that completed. The array_of_requests is indexed from zero in C, and from one in Fortran.

  • array_of_statuses
    Array of status objects for operations that completed, or MPI_STATUSES_IGNORE.

Return value

Returns MPI_SUCCESS on success. Otherwise, the return value is an error code.

In Fortran, the return value is stored in the IERROR parameter.

Fortran

    MPI_WAITSOME(INCOUNT, ARRAY_OF_REQUESTS, OUTCOUNT, ARRAY_OF_INDICES, ARRAY_OF_STATUSES, IERROR)
        INTEGER INCOUNT, ARRAY_OF_REQUESTS(*), OUTCOUNT, ARRAY_OF_INDICES(*),
        ARRAY_OF_STATUSES(MPI_STATUS_SIZE,*), IERROR

Remarks

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 message.

Requirements

Product

HPC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package or HPC Pack 2008 Client Utilities

Header

Mpi.h; Mpif.h

Library

Msmpi.lib

DLL

Msmpi.dll

See also

MPI Point to Point Functions