Manpages - MPIX_Barrier_init.3

Table of Contents

NAME

MPIX_Allgather_init, MPIX_Allgatherv_init, MPIX_Allreduce_init, MPIX_Alltoall_init, MPIX_Alltoallv_init, MPIX_Alltoallw_init, MPIX_Barrier_init, MPIX_Bcast_init, MPIX_Exscan_init, MPIX_Gather_init, MPIX_Gatherv_init, MPIX_Reduce_init, MPIX_Reduce_scatter_init, MPIX_Reduce_scatter_block_init, MPIX_Scan_init, MPIX_Scatter_init, MPIX_Scatterv_init, MPIX_Neighbor_allgather_init, MPIX_Neighbor_allgatherv_init, MPIX_Neighbor_alltoall_init, MPIX_Neighbor_alltoallv_init, MPIX_Neighbor_alltoallw_init - Builds a handle for a collective communication or neighborhood collective communication

SYNTAX

C Syntax

  #include <mpi.h>
  #include <mpi-ext.h>
  int MPIX_Allgather_init(const void *sendbuf, int sendcount,
  	MPI_Datatype sendtype, void *recvbuf, int recvcount,
  	MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info,
  	MPI_Request *request)

  int MPIX_Allgatherv_init(const void *sendbuf, int sendcount,
  	MPI_Datatype sendtype, void *recvbuf, const int recvcounts[],
  	const int displs[], MPI_Datatype recvtype, MPI_Comm comm,
  	MPI_Info info, MPI_Request *request)

  int MPIX_Allreduce_init(const void *sendbuf, void *recvbuf, int count,
  	MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info,
  	MPI_Request *request)

  int MPIX_Alltoall_init(const void *sendbuf, int sendcount,
  	MPI_Datatype sendtype, void *recvbuf, int recvcount,
  	MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info,
  	MPI_Request *request)

  int MPIX_Alltoallv_init(const void *sendbuf, const int sendcounts[],
  	const int sdispls[], MPI_Datatype sendtype, void *recvbuf,
  	const int recvcounts[], const int rdispls[], MPI_Datatype recvtype,
  	MPI_Comm comm, MPI_Info info, MPI_Request *request)

  int MPIX_Alltoallw_init(const void *sendbuf, const int sendcounts[],
  	const int sdispls[], const MPI_Datatype sendtypes[], void *recvbuf,
  	const int recvcounts[], const int rdispls[],
  	const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Info info,
  	MPI_Request *request)

  int MPIX_Barrier_init(MPI_Comm comm, MPI_Info info,
  	MPI_Request *request)

  int MPIX_Bcast_init(void *buffer, int count, MPI_Datatype datatype,
  	int root, MPI_Comm comm, MPI_Info info, MPI_Request *request)

  int MPIX_Exscan_init(const void *sendbuf, void *recvbuf, int count,
  	MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info,
  	MPI_Request *request)

  int MPIX_Gather_init(const void *sendbuf, int sendcount,
  	MPI_Datatype sendtype, void *recvbuf, int recvcount,
  	MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info,
  	MPI_Request *request)

  int MPIX_Gatherv_init(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_Info info, MPI_Request *request)

  int MPIX_Reduce_init(const void *sendbuf, void *recvbuf, int count,
  	MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm,
  	MPI_Info info, MPI_Request *request)

  int MPIX_Reduce_scatter_init(const void *sendbuf, void *recvbuf,
  	const int recvcounts[], MPI_Datatype datatype, MPI_Op op,
  	MPI_Comm comm, MPI_Info info, MPI_Request *request)

  int MPIX_Reduce_scatter_block_init(const void *sendbuf, void *recvbuf,
  	int recvcount, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm,
  	MPI_Info info, MPI_Request *request)

  int MPIX_Scan_init(const void *sendbuf, void *recvbuf, int count,
  	MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info,
  	MPI_Request *request)

  int MPIX_Scatter_init(const void *sendbuf, int sendcount,
  	MPI_Datatype sendtype, void *recvbuf, int recvcount,
  	MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info,
  	MPI_Request *request)

  int MPIX_Scatterv_init(const void *sendbuf, const int sendcounts[],
  	const int displs[], MPI_Datatype sendtype, void *recvbuf,
  	int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm,
  	MPI_Info info, MPI_Request *request)

  int MPIX_Neighbor_allgather_init(const void *sendbuf, int sendcount,
  	MPI_Datatype sendtype, void *recvbuf, int recvcount,
  	MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info,
  	MPI_Request *request)

  int MPIX_Neighbor_allgatherv_init(const void *sendbuf, int sendcount,
  	MPI_Datatype sendtype, void *recvbuf, const int recvcounts[],
  	const int displs[], MPI_Datatype recvtype, MPI_Comm comm,
  	MPI_Info info, MPI_Request *request)

  int MPIX_Neighbor_alltoall_init(const void *sendbuf, int sendcount,
  	MPI_Datatype sendtype, void *recvbuf, int recvcount,
  	MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info,
  	MPI_Request *request)

  int MPIX_Neighbor_alltoallv_init(const void *sendbuf,
  	const int sendcounts[], const int sdispls[], MPI_Datatype sendtype,
  	void *recvbuf, const int recvcounts[], const int rdispls[],
  	MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info,
  	MPI_Request *request)

  int MPIX_Neighbor_alltoallw_init(const void *sendbuf,
  	const int sendcounts[], const MPI_Aint sdispls[],
  	const MPI_Datatype sendtypes[], void *recvbuf,
  	const int recvcounts[], const MPI_Aint rdispls[],
  	const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Info info,
  	MPI_Request *request)

Fortran Syntax

  USE MPI
  USE MPI_EXT
  ! or the older form: INCLUDE 'mpif.h'; INCLUDE 'mpif-ext.h'
  MPIX_ALLGATHER_INIT(SENDBUF, SENDCOUNT, SENDTYPE, RECVBUF, RECVCOUNT,
  		RECVTYPE, COMM, INFO, REQUEST, IERROR)
  	<type>	SENDBUF(*), RECVBUF(*)
  	INTEGER	SENDCOUNT, SENDTYPE, RECVCOUNT, RECVTYPE, COMM, INFO
  	INTEGER	REQUEST, IERROR

  MPIX_ALLGATHERV_INIT(SENDBUF, SENDCOUNT, SENDTYPE, RECVBUF,
  		RECVCOUNT, DISPLS, RECVTYPE, COMM, INFO, REQUEST, IERROR)
  	<type>	SENDBUF(*), RECVBUF(*)
  	INTEGER	SENDCOUNT, SENDTYPE, RECVCOUNT(*)
  	INTEGER	DISPLS(*), RECVTYPE, COMM, INFO, REQUEST, IERROR

  MPIX_ALLREDUCE_INIT(SENDBUF, RECVBUF, COUNT, DATATYPE, OP, COMM, INFO,
  		REQUEST, IERROR)
  	<type>	SENDBUF(*), RECVBUF(*)
  	INTEGER	COUNT, DATATYPE, OP, COMM, INFO, REQUEST, IERROR

  MPIX_ALLTOALL_INIT(SENDBUF, SENDCOUNT, SENDTYPE, RECVBUF, RECVCOUNT,
  		RECVTYPE, COMM, INFO, REQUEST, IERROR)
  	<type>	SENDBUF(*), RECVBUF(*)
  	INTEGER	SENDCOUNT, SENDTYPE, RECVCOUNT, RECVTYPE
  	INTEGER	COMM, INFO, REQUEST, IERROR

  MPIX_ALLTOALLV_INIT(SENDBUF, SENDCOUNTS, SDISPLS, SENDTYPE,
  		RECVBUF, RECVCOUNTS, RDISPLS, RECVTYPE, COMM, INFO, REQUEST,
  		IERROR)
  	<type>	SENDBUF(*), RECVBUF(*)
  	INTEGER	SENDCOUNTS(*), SDISPLS(*), SENDTYPE
  	INTEGER	RECVCOUNTS(*), RDISPLS(*), RECVTYPE
  	INTEGER	COMM, INFO, REQUEST, IERROR

  MPIX_ALLTOALLW_INIT(SENDBUF, SENDCOUNTS, SDISPLS, SENDTYPES,
  		RECVBUF, RECVCOUNTS, RDISPLS, RECVTYPES, COMM, INFO, REQUEST,
  		IERROR)
  	<type>	SENDBUF(*), RECVBUF(*)
  	INTEGER	SENDCOUNTS(*), SDISPLS(*), SENDTYPES(*)
  	INTEGER	RECVCOUNTS(*), RDISPLS(*), RECVTYPES(*)
  	INTEGER	COMM, INFO, REQUEST, IERROR

  MPIX_BARRIER_INIT(COMM, INFO, REQUEST, IERROR)
  	INTEGER	COMM, INFO, REQUEST, IERROR

  MPIX_BCAST_INIT(BUFFER, COUNT, DATATYPE, ROOT, COMM, INFO, REQUEST,
  		IERROR)
  	<type>	BUFFER(*)
  	INTEGER	COUNT, DATATYPE, ROOT, COMM, INFO, REQUEST, IERROR

  MPIX_EXSCAN_INIT(SENDBUF, RECVBUF, COUNT, DATATYPE, OP, COMM, INFO,
  		REQUEST, IERROR)
  	<type>	SENDBUF(*), RECVBUF(*)
  	INTEGER	COUNT, DATATYPE, OP, COMM, INFO, REQUEST, IERROR

  MPIX_GATHER_INIT(SENDBUF, SENDCOUNT, SENDTYPE, RECVBUF, RECVCOUNT,
  		RECVTYPE, ROOT, COMM, INFO, REQUEST, IERROR)
  	<type>	SENDBUF(*), RECVBUF(*)
  	INTEGER	SENDCOUNT, SENDTYPE, RECVCOUNT, RECVTYPE, ROOT
  	INTEGER	COMM, INFO, REQUEST, IERROR

  MPIX_GATHERV_INIT(SENDBUF, SENDCOUNT, SENDTYPE, RECVBUF, RECVCOUNTS,
  		DISPLS, RECVTYPE, ROOT, COMM, INFO, REQUEST, IERROR)
  	<type>	SENDBUF(*), RECVBUF(*)
  	INTEGER	SENDCOUNT, SENDTYPE, RECVCOUNTS(*), DISPLS(*)
  	INTEGER	RECVTYPE, ROOT, COMM, INFO, REQUEST, IERROR

  MPIX_REDUCE_INIT(SENDBUF, RECVBUF, COUNT, DATATYPE, OP, ROOT, COMM,
  		INFO, REQUEST, IERROR)
  	<type>	SENDBUF(*), RECVBUF(*)
  	INTEGER	COUNT, DATATYPE, OP, ROOT, COMM, INFO, REQUEST, IERROR

  MPIX_REDUCE_SCATTER_INIT(SENDBUF, RECVBUF, RECVCOUNTS, DATATYPE, OP,
  		COMM, INFO, REQUEST, IERROR)
  	<type>	SENDBUF(*), RECVBUF(*)
  	INTEGER	RECVCOUNTS(*), DATATYPE, OP, COMM, INFO, REQUEST, IERROR 

  MPIX_REDUCE_SCATTER_BLOCK_INIT(SENDBUF, RECVBUF, RECVCOUNT, DATATYPE,
  		OP, COMM, INFO, REQUEST, IERROR)
  	<type>	SENDBUF(*), RECVBUF(*)
  	INTEGER	RECVCOUNT, DATATYPE, OP, COMM, INFO, REQUEST, IERROR 

  MPIX_SCAN_INIT(SENDBUF, RECVBUF, COUNT, DATATYPE, OP, COMM, INFO,
  		REQUEST, IERROR)
  	<type>	SENDBUF(*), RECVBUF(*)
  	INTEGER	COUNT, DATATYPE, OP, COMM, INFO, REQUEST, IERROR

  MPIX_SCATTER_INIT(SENDBUF, SENDCOUNT, SENDTYPE, RECVBUF, RECVCOUNT,
  		RECVTYPE, ROOT, COMM, INFO, REQUEST, IERROR)
  	<type>	SENDBUF(*), RECVBUF(*)
  	INTEGER	SENDCOUNT, SENDTYPE, RECVCOUNT, RECVTYPE, ROOT
  	INTEGER	COMM, INFO, REQUEST, IERROR

  MPIX_SCATTERV_INIT(SENDBUF, SENDCOUNTS, DISPLS, SENDTYPE, RECVBUF,
  		RECVCOUNT, RECVTYPE, ROOT, COMM, INFO, REQUEST, IERROR)
  	<type>	SENDBUF(*), RECVBUF(*)
  	INTEGER	SENDCOUNTS(*), DISPLS(*), SENDTYPE
  	INTEGER	RECVCOUNT, RECVTYPE, ROOT, COMM, INFO, REQUEST, IERROR

  MPIX_NEIGHBOR_ALLGATHER_INIT(SENDBUF, SENDCOUNT, SENDTYPE, RECVBUF,
  		RECVCOUNT, RECVTYPE, COMM, INFO, REQUEST, IERROR)
  	<type>	SENDBUF(*), RECVBUF(*)
  	INTEGER	SENDCOUNT, SENDTYPE, RECVCOUNT, RECVTYPE, COMM,
  	INTEGER	INFO, REQUEST, IERROR

  MPIX_NEIGHBOR_ALLGATHERV_INIT(SENDBUF, SENDCOUNT, SENDTYPE, RECVBUF,
  		RECVCOUNT, DISPLS, RECVTYPE, COMM, INFO, REQUEST, IERROR)
  	<type>	SENDBUF(*), RECVBUF(*)
  	INTEGER	SENDCOUNT, SENDTYPE, RECVCOUNT(*),
  	INTEGER	DISPLS(*), RECVTYPE, COMM, INFO, REQUEST, IERROR

  MPIX_NEIGHBOR_ALLTOALL_INIT(SENDBUF, SENDCOUNT, SENDTYPE, RECVBUF,
  		RECVCOUNT, RECVTYPE, COMM, INFO, REQUEST, IERROR)
  	<type>	SENDBUF(*), RECVBUF(*)
  	INTEGER	SENDCOUNT, SENDTYPE, RECVCOUNT, RECVTYPE
  	INTEGER	COMM, INFO, REQUEST, IERROR

  MPIX_NEIGHBOR_ALLTOALLV_INIT(SENDBUF, SENDCOUNTS, SDISPLS, SENDTYPE,
  		RECVBUF, RECVCOUNTS, RDISPLS, RECVTYPE, COMM, INFO, REQUEST,
  		IERROR)
  	<type>	SENDBUF(*), RECVBUF(*)
  	INTEGER	SENDCOUNTS(*), SDISPLS(*), SENDTYPE
  	INTEGER	RECVCOUNTS(*), RDISPLS(*), RECVTYPE
  	INTEGER	COMM, INFO, REQUEST, IERROR

  MPIX_NEIGHBOR_ALLTOALLW_INIT(SENDBUF, SENDCOUNTS, SDISPLS, SENDTYPES,
  		RECVBUF, RECVCOUNTS, RDISPLS, RECVTYPES, COMM, INFO, REQUEST,
  		IERROR)
  	<type>	SENDBUF(*), RECVBUF(*)
  	INTEGER	SENDCOUNTS(*), SENDTYPES(*)
  	INTEGER	RECVCOUNTS(*), RECVTYPES(*)
  	INTEGER(KIND=MPI_ADDRESS_KIND) SDISPLS(*), RDISPLS(*)
  	INTEGER	COMM, INFO, REQUEST, IERROR

Fortran 2008 Syntax

  USE mpi_f08
  USE mpi_f08_ext
  MPIX_Allgather_init(sendbuf, sendcount, sendtype, recvbuf, recvcount,
  		recvtype, comm, info, request, ierror)
  	TYPE(*), DIMENSION(..), INTENT(IN), ASYNCHRONOUS :: sendbuf
  	TYPE(*), DIMENSION(..), ASYNCHRONOUS :: recvbuf
  	INTEGER, INTENT(IN) :: sendcount, recvcount
  	TYPE(MPI_Datatype), INTENT(IN) :: sendtype, recvtype
  	TYPE(MPI_Comm), INTENT(IN) :: comm
  	TYPE(MPI_Info), INTENT(IN) :: info
  	TYPE(MPI_Request), INTENT(OUT) :: request
  	INTEGER, OPTIONAL, INTENT(OUT) :: ierror

  MPIX_Allgatherv_init(sendbuf, sendcount, sendtype, recvbuf, recvcounts,
  		displs, recvtype, comm, info, request, ierror)
  	TYPE(*), DIMENSION(..), INTENT(IN), ASYNCHRONOUS :: sendbuf
  	TYPE(*), DIMENSION(..), ASYNCHRONOUS :: recvbuf
  	INTEGER, INTENT(IN) :: sendcount
  	INTEGER, INTENT(IN), ASYNCHRONOUS :: recvcounts(*), displs(*)
  	TYPE(MPI_Datatype), INTENT(IN) :: sendtype, recvtype
  	TYPE(MPI_Comm), INTENT(IN) :: comm
  	TYPE(MPI_Info), INTENT(IN) :: info
  	TYPE(MPI_Request), INTENT(OUT) :: request
  	INTEGER, OPTIONAL, INTENT(OUT) :: ierror

  MPIX_Allreduce_init(sendbuf, recvbuf, count, datatype, op, comm, info,
  		request, ierror)
  	TYPE(*), DIMENSION(..), INTENT(IN), ASYNCHRONOUS :: sendbuf
  	TYPE(*), DIMENSION(..), ASYNCHRONOUS :: recvbuf
  	INTEGER, INTENT(IN) :: count
  	TYPE(MPI_Datatype), INTENT(IN) :: datatype
  	TYPE(MPI_Op), INTENT(IN) :: op
  	TYPE(MPI_Comm), INTENT(IN) :: comm
  	TYPE(MPI_Info), INTENT(IN) :: info
  	TYPE(MPI_Request), INTENT(OUT) :: request
  	INTEGER, OPTIONAL, INTENT(OUT) :: ierror

  MPIX_Alltoall_init(sendbuf, sendcount, sendtype, recvbuf, recvcount,
  		recvtype, comm, info, request, ierror)
  	TYPE(*), DIMENSION(..), INTENT(IN), ASYNCHRONOUS :: sendbuf
  	TYPE(*), DIMENSION(..), ASYNCHRONOUS :: recvbuf
  	INTEGER, INTENT(IN) :: sendcount, recvcount
  	TYPE(MPI_Datatype), INTENT(IN) :: sendtype, recvtype
  	TYPE(MPI_Comm), INTENT(IN) :: comm
  	TYPE(MPI_Info), INTENT(IN) :: info
  	TYPE(MPI_Request), INTENT(OUT) :: request
  	INTEGER, OPTIONAL, INTENT(OUT) :: ierror

  MPIX_Alltoallv_init(sendbuf, sendcounts, sdispls, sendtype, recvbuf,
  		recvcounts, rdispls, recvtype, comm, info, request, ierror)
  	TYPE(*), DIMENSION(..), INTENT(IN), ASYNCHRONOUS :: sendbuf
  	TYPE(*), DIMENSION(..), ASYNCHRONOUS :: recvbuf
  	INTEGER, INTENT(IN), ASYNCHRONOUS :: sendcounts(*), sdispls(*),
  	recvcounts(*), rdispls(*)
  	TYPE(MPI_Datatype), INTENT(IN) :: sendtype, recvtype
  	TYPE(MPI_Comm), INTENT(IN) :: comm
  	TYPE(MPI_Info), INTENT(IN) :: info
  	TYPE(MPI_Request), INTENT(OUT) :: request
  	INTEGER, OPTIONAL, INTENT(OUT) :: ierror

  MPIX_Alltoallw_init(sendbuf, sendcounts, sdispls, sendtypes, recvbuf,
  		recvcounts, rdispls, recvtypes, comm, info, request, ierror)
  	TYPE(*), DIMENSION(..), INTENT(IN), ASYNCHRONOUS :: sendbuf
  	TYPE(*), DIMENSION(..), ASYNCHRONOUS :: recvbuf
  	INTEGER, INTENT(IN), ASYNCHRONOUS :: sendcounts(*), sdispls(*),
  	recvcounts(*), rdispls(*)
  	TYPE(MPI_Datatype), INTENT(IN), ASYNCHRONOUS :: sendtypes(*),
  	recvtypes(*)
  	TYPE(MPI_Comm), INTENT(IN) :: comm
  	TYPE(MPI_Info), INTENT(IN) :: info
  	TYPE(MPI_Request), INTENT(OUT) :: request
  	INTEGER, OPTIONAL, INTENT(OUT) :: ierror

  MPIX_Barrier_init(comm, info, request, ierror)
  	TYPE(MPI_Comm), INTENT(IN) :: comm
  	TYPE(MPI_Info), INTENT(IN) :: info
  	TYPE(MPI_Request), INTENT(OUT) :: request
  	INTEGER, OPTIONAL, INTENT(OUT) :: ierror

  MPIX_Bcast_init(buffer, count, datatype, root, comm, info, request,
  		ierror)
  	TYPE(*), DIMENSION(..), ASYNCHRONOUS :: buffer
  	INTEGER, INTENT(IN) :: count, root
  	TYPE(MPI_Datatype), INTENT(IN) :: datatype
  	TYPE(MPI_Comm), INTENT(IN) :: comm
  	TYPE(MPI_Info), INTENT(IN) :: info
  	TYPE(MPI_Request), INTENT(OUT) :: request
  	INTEGER, OPTIONAL, INTENT(OUT) :: ierror

  MPIX_Exscan_init(sendbuf, recvbuf, count, datatype, op, comm, info,
  		request, ierror)
  	TYPE(*), DIMENSION(..), INTENT(IN), ASYNCHRONOUS :: sendbuf
  	TYPE(*), DIMENSION(..), ASYNCHRONOUS :: recvbuf
  	INTEGER, INTENT(IN) :: count
  	TYPE(MPI_Datatype), INTENT(IN) :: datatype
  	TYPE(MPI_Op), INTENT(IN) :: op
  	TYPE(MPI_Comm), INTENT(IN) :: comm
  	TYPE(MPI_Info), INTENT(IN) :: info
  	TYPE(MPI_Request), INTENT(OUT) :: request
  	INTEGER, OPTIONAL, INTENT(OUT) :: ierror

  MPIX_Gather_init(sendbuf, sendcount, sendtype, recvbuf,
  		recvcount, recvtype, root, comm, info, 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_Info), INTENT(IN) :: info
  	TYPE(MPI_Request), INTENT(OUT) :: request
  	INTEGER, OPTIONAL, INTENT(OUT) :: ierror

  MPIX_Gatherv_init(sendbuf, sendcount, sendtype, recvbuf, recvcounts,
  		displs, recvtype, root, comm, info, 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_Info), INTENT(IN) :: info
  	TYPE(MPI_Request), INTENT(OUT) :: request
  	INTEGER, OPTIONAL, INTENT(OUT) :: ierror

  MPIX_Reduce_init(sendbuf, recvbuf, count, datatype, op, root, comm,
  		info, request, ierror)
  	TYPE(*), DIMENSION(..), INTENT(IN), ASYNCHRONOUS :: sendbuf
  	TYPE(*), DIMENSION(..), ASYNCHRONOUS :: recvbuf
  	INTEGER, INTENT(IN) :: count, root
  	TYPE(MPI_Datatype), INTENT(IN) :: datatype
  	TYPE(MPI_Op), INTENT(IN) :: op
  	TYPE(MPI_Comm), INTENT(IN) :: comm
  	TYPE(MPI_Info), INTENT(IN) :: info
  	TYPE(MPI_Request), INTENT(OUT) :: request
  	INTEGER, OPTIONAL, INTENT(OUT) :: ierror

  MPIX_Reduce_scatter_init(sendbuf, recvbuf, recvcounts, datatype, op,
  		comm, info, request, ierror)
  	TYPE(*), DIMENSION(..), INTENT(IN), ASYNCHRONOUS :: sendbuf
  	TYPE(*), DIMENSION(..), ASYNCHRONOUS :: recvbuf
  	INTEGER, INTENT(IN), ASYNCHRONOUS :: recvcounts(*)
  	TYPE(MPI_Datatype), INTENT(IN) :: datatype
  	TYPE(MPI_Op), INTENT(IN) :: op
  	TYPE(MPI_Comm), INTENT(IN) :: comm
  	TYPE(MPI_Info), INTENT(IN) :: info
  	TYPE(MPI_Request), INTENT(OUT) :: request
  	INTEGER, OPTIONAL, INTENT(OUT) :: ierror

  MPIX_Reduce_scatter_block_init(sendbuf, recvbuf, recvcount, datatype,
  		op, comm, ierror)
  	TYPE(*), DIMENSION(..), INTENT(IN), ASYNCHRONOUS :: sendbuf
  	TYPE(*), DIMENSION(..), ASYNCHRONOUS :: recvbuf
  	INTEGER, INTENT(IN) :: recvcount
  	TYPE(MPI_Datatype), INTENT(IN) :: datatype
  	TYPE(MPI_Op), INTENT(IN) :: op
  	TYPE(MPI_Comm), INTENT(IN) :: comm
  	TYPE(MPI_Info), INTENT(IN) :: info
  	INTEGER, OPTIONAL, INTENT(OUT) :: ierror

  MPIX_Reduce_scatter_block_init(sendbuf, recvbuf, recvcount, datatype, op,
  		comm, info, request, ierror)
  	TYPE(*), DIMENSION(..), INTENT(IN), ASYNCHRONOUS :: sendbuf
  	TYPE(*), DIMENSION(..), ASYNCHRONOUS :: recvbuf
  	INTEGER, INTENT(IN) :: recvcount
  	TYPE(MPI_Datatype), INTENT(IN) :: datatype
  	TYPE(MPI_Op), INTENT(IN) :: op
  	TYPE(MPI_Comm), INTENT(IN) :: comm
  	TYPE(MPI_Info), INTENT(IN) :: info
  	TYPE(MPI_Request), INTENT(OUT) :: request
  	INTEGER, OPTIONAL, INTENT(OUT) :: ierror

  MPIX_Scan_init(sendbuf, recvbuf, count, datatype, op, comm, info,
  		request, ierror)
  	TYPE(*), DIMENSION(..), INTENT(IN), ASYNCHRONOUS :: sendbuf
  	TYPE(*), DIMENSION(..), ASYNCHRONOUS :: recvbuf
  	INTEGER, INTENT(IN) :: count
  	TYPE(MPI_Datatype), INTENT(IN) :: datatype
  	TYPE(MPI_Op), INTENT(IN) :: op
  	TYPE(MPI_Comm), INTENT(IN) :: comm
  	TYPE(MPI_Info), INTENT(IN) :: info
  	TYPE(MPI_Request), INTENT(OUT) :: request
  	INTEGER, OPTIONAL, INTENT(OUT) :: ierror

  MPIX_Scatter_init(sendbuf, sendcount, sendtype, recvbuf, recvcount,
  		recvtype, root, comm, info, 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_Info), INTENT(IN) :: info
  	TYPE(MPI_Request), INTENT(OUT) :: request
  	INTEGER, OPTIONAL, INTENT(OUT) :: ierror

  MPIX_Scatterv_init(sendbuf, sendcounts, displs, sendtype, recvbuf,
  		recvcount, recvtype, root, comm, info, request, ierror)
  	TYPE(*), DIMENSION(..), INTENT(IN), ASYNCHRONOUS :: sendbuf
  	TYPE(*), DIMENSION(..), ASYNCHRONOUS :: recvbuf
  	INTEGER, INTENT(IN), ASYNCHRONOUS :: sendcounts(*), displs(*)
  	INTEGER, INTENT(IN) :: recvcount, root
  	TYPE(MPI_Datatype), INTENT(IN) :: sendtype, recvtype
  	TYPE(MPI_Comm), INTENT(IN) :: comm
  	TYPE(MPI_Info), INTENT(IN) :: info
  	TYPE(MPI_Request), INTENT(OUT) :: request
  	INTEGER, OPTIONAL, INTENT(OUT) :: ierror

  MPIX_Neighbor_allgather_init(sendbuf, sendcount, sendtype, recvbuf,
  		recvcount, recvtype, comm, info, request, ierror)
  	TYPE(*), DIMENSION(..), INTENT(IN), ASYNCHRONOUS :: sendbuf
  	TYPE(*), DIMENSION(..), ASYNCHRONOUS :: recvbuf
  	INTEGER, INTENT(IN) :: sendcount, recvcount
  	TYPE(MPI_Datatype), INTENT(IN) :: sendtype, recvtype
  	TYPE(MPI_Comm), INTENT(IN) :: comm
  	TYPE(MPI_Info), INTENT(IN) :: info
  	TYPE(MPI_Request), INTENT(OUT) :: request
  	INTEGER, OPTIONAL, INTENT(OUT) :: ierror

  MPIX_Neighbor_allgatherv_init(sendbuf, sendcount, sendtype, recvbuf,
  		recvcounts, displs, recvtype, comm, info, request, ierror)
  	TYPE(*), DIMENSION(..), INTENT(IN), ASYNCHRONOUS :: sendbuf
  	TYPE(*), DIMENSION(..), ASYNCHRONOUS :: recvbuf
  	INTEGER, INTENT(IN) :: sendcount
  	INTEGER, INTENT(IN), ASYNCHRONOUS :: recvcounts(*), displs(*)
  	TYPE(MPI_Datatype), INTENT(IN) :: sendtype, recvtype
  	TYPE(MPI_Comm), INTENT(IN) :: comm
  	TYPE(MPI_Info), INTENT(IN) :: info
  	TYPE(MPI_Request), INTENT(OUT) :: request
  	INTEGER, OPTIONAL, INTENT(OUT) :: ierror

  MPIX_Neighbor_alltoall_init(sendbuf, sendcount, sendtype, recvbuf,
  		recvcount, recvtype, comm, info, request, ierror)
  	TYPE(*), DIMENSION(..), INTENT(IN), ASYNCHRONOUS :: sendbuf
  	TYPE(*), DIMENSION(..), ASYNCHRONOUS :: recvbuf
  	INTEGER, INTENT(IN) :: sendcount, recvcount
  	TYPE(MPI_Datatype), INTENT(IN) :: sendtype, recvtype
  	TYPE(MPI_Comm), INTENT(IN) :: comm
  	TYPE(MPI_Info), INTENT(IN) :: info
  	TYPE(MPI_Request), INTENT(OUT) :: request
  	INTEGER, OPTIONAL, INTENT(OUT) :: ierror

  MPIX_Neighbor_alltoallv_init(sendbuf, sendcounts, sdispls, sendtype,
  		recvbuf, recvcounts, rdispls, recvtype, comm, info, request,
  		ierror)
  	TYPE(*), DIMENSION(..), INTENT(IN), ASYNCHRONOUS :: sendbuf
  	TYPE(*), DIMENSION(..), ASYNCHRONOUS :: recvbuf
  	INTEGER, INTENT(IN), ASYNCHRONOUS :: sendcounts(*), sdispls(*),
  	recvcounts(*), rdispls(*)
  	TYPE(MPI_Datatype), INTENT(IN) :: sendtype, recvtype
  	TYPE(MPI_Comm), INTENT(IN) :: comm
  	TYPE(MPI_Info), INTENT(IN) :: info
  	TYPE(MPI_Request), INTENT(OUT) :: request
  	INTEGER, OPTIONAL, INTENT(OUT) :: ierror

  MPIX_Neighbor_alltoallw_init(sendbuf, sendcounts, sdispls, sendtypes,
  		recvbuf, recvcounts, rdispls, recvtypes, comm, info, request,
  		ierror)
  	TYPE(*), DIMENSION(..), INTENT(IN), ASYNCHRONOUS :: sendbuf
  	TYPE(*), DIMENSION(..), ASYNCHRONOUS :: recvbuf
  	INTEGER, INTENT(IN), ASYNCHRONOUS :: sendcounts(*), recvcounts(*)
  	INTEGER(KIND=MPI_ADDRESS_KIND), INTENT(IN), ASYNCHRONOUS ::
  	sdispls(*), rdispls(*)
  	TYPE(MPI_Datatype), INTENT(IN), ASYNCHRONOUS :: sendtypes(*),
  	recvtypes(*)
  	TYPE(MPI_Comm), INTENT(IN) :: comm
  	TYPE(MPI_Info), INTENT(IN) :: info
  	TYPE(MPI_Request), INTENT(OUT) :: request
  	INTEGER, OPTIONAL, INTENT(OUT) :: ierror

DESCRIPTION

Creates a persistent communication request for a collective operation or neighborhood collective operation.

As of Nov. 2018, the feature of persistent collective communication operations and persistent collective neighborhood communication operations is planned to be included in the next MPI Standard after MPI-3.1.


      https://github.com/mpi-forum/mpi-issues/issues/25

Open MPI implements 2018 Draft Specification of the MPI standard shown in the following URL.


      https://www.mpi-forum.org/docs/drafts/mpi-2018-draft-report.pdf

The interface may still change in the standard. Therefore the prefix MPIX_ is used instead of MPI_ for these request creation routines. To start, complete, and free the created request, usual MPI routines (MPI_Start etc.) can be used.

Future versions of Open MPI will switch to the MPI_ prefix and will not require the C header file mpi-ext.h, the Fortran modules mpi_ext and mpi_f08_ext, and the Fortran header file mpif-ext.h once the MPI Standard which includes this feature is published.

EXAMPLE


      MPI_Request req;
      MPIX_Barrier_init(MPI_COMM_WORLD, MPI_INFO_NULL, &req);
      MPI_Start(&req);
      MPI_Wait(&req, MPI_STATUS_IGNORE);
      MPI_Request_free(&req);

SEE ALSO

MPI_Start
MPI_Startall
MPI_Request_free

Author: dt

Created: 2022-02-20 Sun 17:31