



  int MPI_Igather(const void* sendbuf, int sendcount, MPI_Datatype sendtype, void* recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Request *request) 
  
 
  MPI_Igather(sendbuf, sendcount, sendtype, recvbuf, recvcount, recvtype, root, comm, request, ierror) 
 TYPE(*), DIMENSION(..), INTENT(IN), ASYNCHRONOUS :: sendbuf 
TYPE(*), DIMENSION(..), ASYNCHRONOUS :: recvbuf 
INTEGER, INTENT(IN) :: sendcount, recvcount, root 
TYPE(MPI_Datatype), INTENT(IN) :: sendtype, recvtype 
TYPE(MPI_Comm), INTENT(IN) :: comm 
TYPE(MPI_Request), INTENT(OUT) :: request 
INTEGER, OPTIONAL, INTENT(OUT) :: ierror 
  
  MPI_IGATHER(SENDBUF, SENDCOUNT, SENDTYPE, RECVBUF, RECVCOUNT, RECVTYPE, ROOT, COMM, REQUEST, IERROR) 
 <type> SENDBUF(*), RECVBUF(*) 
INTEGER SENDCOUNT, SENDTYPE, RECVCOUNT, RECVTYPE, ROOT, COMM, REQUEST, IERROR 
  
This call starts a nonblocking variant of MPI_GATHER (see Section Gather ).
| MPI_IGATHERV(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, request) | |
| IN sendbuf | starting address of send buffer (choice) | 
| IN sendcount | number of elements in send buffer (non-negative integer) | 
| IN sendtype | data type of send buffer elements (handle) | 
| OUT recvbuf | address of receive buffer (choice, significant only at root) | 
| IN recvcounts | non-negative integer array (of length group size) containing the number of elements that are received from each process (significant only at root) | 
| IN displs | integer array (of length group size). Entry i specifies the displacement relative to recvbuf at which to place the incoming data from process i (significant only at root) | 
| IN recvtype | data type of recv buffer elements (significant only at root) (handle) | 
| IN root | rank of receiving process (integer) | 
| IN comm | communicator (handle) | 
| OUT request | communication request (handle) | 
 
  int MPI_Igatherv(const void* sendbuf, int sendcount, MPI_Datatype sendtype, void* recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Request *request) 
  
 
  MPI_Igatherv(sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, request, ierror) 
 TYPE(*), DIMENSION(..), INTENT(IN), ASYNCHRONOUS :: sendbuf 
TYPE(*), DIMENSION(..), ASYNCHRONOUS :: recvbuf 
INTEGER, INTENT(IN) :: sendcount, root 
INTEGER, INTENT(IN), ASYNCHRONOUS :: recvcounts(*), displs(*) 
TYPE(MPI_Datatype), INTENT(IN) :: sendtype, recvtype 
TYPE(MPI_Comm), INTENT(IN) :: comm 
TYPE(MPI_Request), INTENT(OUT) :: request 
INTEGER, OPTIONAL, INTENT(OUT) :: ierror 
  
  MPI_IGATHERV(SENDBUF, SENDCOUNT, SENDTYPE, RECVBUF, RECVCOUNTS, DISPLS, RECVTYPE, ROOT, COMM, REQUEST, IERROR) 
 <type> SENDBUF(*), RECVBUF(*) 
INTEGER SENDCOUNT, SENDTYPE, RECVCOUNTS(*), DISPLS(*), RECVTYPE, ROOT, COMM, REQUEST, IERROR 
  
This call starts a nonblocking variant of MPI_GATHERV (see Section Gather ).


