Definition
MPI_Igather is the non-blocking version of MPI_Gather; it collects data from all processes in a given communicator and concatenates them in the given buffer on the specified process. Unlike MPI_Gather however, it will not wait for the collection to complete and will return immediately instead. The user must therefore check for completion with MPI_Wait or MPI_Test before the buffers passed can be safely reused. MPI_Igather is a collective operation; all processes in the communicator must invoke this routine. Other variants of MPI_Igather are MPI_Igatherv, MPI_Iallgather and MPI_Iallgatherv. Refer to MPI_Gather to see the blocking counterpart of MPI_Igather.
int MPI_Igather(void* buffer_send,
int count_send,
MPI_Datatype datatype_send,
void* buffer_recv,
int count_recv,
MPI_Datatype datatype_recv,
int root,
MPI_Comm communicator,
MPI_Request* request);