Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions docs/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -364,9 +364,9 @@ OMPI_MAN3 = \
MPI_Pready.3 \
MPI_Pready_list.3 \
MPI_Pready_range.3 \
MPI_Precv_init.3 \
MPIX_Precv_init.3 \
MPI_Probe.3 \
MPI_Psend_init.3 \
MPIX_Psend_init.3 \
MPI_Publish_name.3 \
MPI_Put.3 \
MPI_Query_thread.3 \
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
.. _mpi_precv_init:
.. _mpix_precv_init:


MPI_Precv_init
==============
MPIX_Precv_init
===============

.. include_body

:ref:`MPI_Precv_init` - Initializes a partitioned receive.
:ref:`MPIX_Precv_init` - Initializes a partitioned receive.


SYNTAX
Expand All @@ -20,7 +20,7 @@ C Syntax

#include <mpi.h>

int MPI_Precv_init(const void *buf, int partitions, int count, MPI_Datatype datatype, int dest,
int MPIX_Precv_init(const void *buf, int partitions, MPI_Count count, MPI_Datatype datatype, int dest,
int tag, MPI_Comm comm, MPI_Request *request)


Expand All @@ -31,9 +31,10 @@ Fortran Syntax

USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_PRECV_INIT(BUF, PARTITIONS, COUNT, DATATYPE, DEST, TAG, COMM, REQUEST, IERROR)
MPIX_PRECV_INIT(BUF, PARTITIONS, COUNT, DATATYPE, DEST, TAG, COMM, REQUEST, IERROR)
<type> BUF(*)
INTEGER PARTITIONS, COUNT, DATATYPE, DEST, TAG, COMM, REQUEST, IERROR
INTEGER PARTITIONS, DATATYPE, DEST, TAG, COMM, REQUEST, IERROR
INTEGER(KIND=MPI_COUNT_KIND) COUNT


Fortran 2008 Syntax
Expand All @@ -42,9 +43,10 @@ Fortran 2008 Syntax
.. code-block:: fortran

USE mpi_f08
MPI_Precv_init(buf, partitions, count, datatype, dest, tag, comm, request, ierror)
MPIX_Precv_init(buf, partitions, count, datatype, dest, tag, comm, request, ierror)
TYPE(*), DIMENSION(..), INTENT(IN), ASYNCHRONOUS :: buf
INTEGER, INTENT(IN) :: partitions, count, dest, tag
INTEGER, INTENT(IN) :: partitions, dest, tag
INTEGER(KIND=MPI_COUNT_KIND), INTENT(IN) :: count
TYPE(MPI_Datatype), INTENT(IN) :: datatype
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Request), INTENT(OUT) :: request
Expand All @@ -55,7 +57,7 @@ INPUT PARAMETERS
----------------
* ``buf``: Initial address of receive buffer (choice).
* ``partitions``: Number of partitions (integer).
* ``count``: Number of elements to be received per partition (integer).
* ``count``: Number of elements to be received per partition (MPI_Count).
* ``datatype``: Datatype of each element (handle).
* ``dest``: Rank of source (integer).
* ``tag``: Message tag (integer).
Expand All @@ -76,10 +78,13 @@ NOTE

The current implementation is an early prototype and is not fully
compliant with the MPI-4.0 specification. Specifically this function and
it's counterpart (MPI_Psend_init) will block until the partitioned
it's counterpart (MPIX_Psend_init) will block until the partitioned
communication request is initialized on both ends. This behavior will be
corrected in future versions.

The MPIX prefix is used to denote that this function's API will likely change
in the MPI-4.1 specification.


.. seealso::
* :ref:`MPI_Psend_init`
* :ref:`MPIX_Psend_init`
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
.. _mpi_psend_init:
.. _mpix_psend_init:


MPI_Psend_init
==============
PMIX_Psend_init
===============

.. include_body

:ref:`MPI_Psend_init` - Initializes a partitioned send.
:ref:`MPIX_Psend_init` - Initializes a partitioned send.


SYNTAX
Expand All @@ -20,7 +20,7 @@ C Syntax

#include <mpi.h>

int MPI_Psend_init(const void *buf, int partitions, int count, MPI_Datatype datatype, int dest,
int PMIX_Psend_init(const void *buf, int partitions, MPI_Count count, MPI_Datatype datatype, int dest,
int tag, MPI_Comm comm, MPI_Request *request)


Expand All @@ -31,9 +31,10 @@ Fortran Syntax

USE MPI
! or the older form: INCLUDE 'mpif.h'
MPI_PSEND_INIT(BUF, PARTITIONS, COUNT, DATATYPE, DEST, TAG, COMM, REQUEST, IERROR)
MPIX_PSEND_INIT(BUF, PARTITIONS, COUNT, DATATYPE, DEST, TAG, COMM, REQUEST, IERROR)
<type> BUF(*)
INTEGER PARTITIONS, COUNT, DATATYPE, DEST, TAG, COMM, REQUEST, IERROR
INTEGER PARTITIONS, DATATYPE, DEST, TAG, COMM, REQUEST, IERROR
INTEGER(KIND=MPI_COUNT_KIND) COUNT


Fortran 2008 Syntax
Expand All @@ -42,9 +43,10 @@ Fortran 2008 Syntax
.. code-block:: fortran

USE mpi_f08
MPI_Psend_init(buf, partitions, count, datatype, dest, tag, comm, request, ierror)
PMIX_Psend_init(buf, partitions, count, datatype, dest, tag, comm, request, ierror)
TYPE(*), DIMENSION(..), INTENT(IN), ASYNCHRONOUS :: buf
INTEGER, INTENT(IN) :: partitions, count, dest, tag
INTEGER, INTENT(IN) :: partitions, dest, tag
INTEGER(KIND=MPI_COUNT_KIND), INTENT(IN) :: count
TYPE(MPI_Datatype), INTENT(IN) :: datatype
TYPE(MPI_Comm), INTENT(IN) :: comm
TYPE(MPI_Request), INTENT(OUT) :: request
Expand All @@ -55,7 +57,7 @@ INPUT PARAMETERS
----------------
* ``buf``: Initial address of send buffer (choice).
* ``partitions``: Number of partitions (integer).
* ``count``: Number of elements to be sent per partition (integer).
* ``count``: Number of elements to be sent per partition (MPI_Count).
* ``datatype``: Datatype of each element (handle).
* ``dest``: Rank of source (integer).
* ``tag``: Message tag (integer).
Expand All @@ -76,10 +78,12 @@ NOTE

The current implementation is an early prototype and is not fully
compliant with the MPI-4.0 specification. Specifically this function and
it's counterpart (MPI_Precv_init) will block until the partitioned
it's counterpart (MPIX_Precv_init) will block until the partitioned
communication request is initialized on both ends. This behavior will be
corrected in future versions.

The MPIX prefix is used to denote that this function's API will likely change
in the MPI-4.1 specification.

.. seealso::
* :ref:`MPI_Precv_init`
* :ref:`MPIX_Precv_init`
4 changes: 2 additions & 2 deletions docs/man-openmpi/man3/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -286,9 +286,9 @@ MPI API manual pages (section 3)
MPI_Pready.3.rst
MPI_Pready_list.3.rst
MPI_Pready_range.3.rst
MPI_Precv_init.3.rst
MPIX_Precv_init.3.rst
MPI_Probe.3.rst
MPI_Psend_init.3.rst
MPIX_Psend_init.3.rst
MPI_Publish_name.3.rst
MPI_Put.3.rst
MPI_Query_thread.3.rst
Expand Down
24 changes: 12 additions & 12 deletions ompi/include/mpi.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -1861,13 +1861,13 @@ OMPI_DECLSPEC int MPI_Pready(int partitions, MPI_Request request);
OMPI_DECLSPEC int MPI_Pready_range(int partition_low, int partition_high,
MPI_Request request);
OMPI_DECLSPEC int MPI_Pready_list(int length, int partition_list[], MPI_Request request);
OMPI_DECLSPEC int MPI_Precv_init(void* buf, int partitions, MPI_Count count,
MPI_Datatype datatype, int source, int tag, MPI_Comm comm,
MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Precv_init(void* buf, int partitions, MPI_Count count,
MPI_Datatype datatype, int source, int tag, MPI_Comm comm,
MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPI_Probe(int source, int tag, MPI_Comm comm, MPI_Status *status);
OMPI_DECLSPEC int MPI_Psend_init(const void* buf, int partitions, MPI_Count count,
MPI_Datatype datatype, int dest, int tag, MPI_Comm comm,
MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPIX_Psend_init(const void* buf, int partitions, MPI_Count count,
MPI_Datatype datatype, int dest, int tag, MPI_Comm comm,
MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int MPI_Publish_name(const char *service_name, MPI_Info info,
const char *port_name);
OMPI_DECLSPEC int MPI_Put(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype,
Expand Down Expand Up @@ -2547,12 +2547,12 @@ OMPI_DECLSPEC int PMPI_Isendrecv_replace(void * buf, int count, MPI_Datatype da
MPI_Comm comm, MPI_Request *request);
OMPI_DECLSPEC int PMPI_Issend(const void *buf, int count, MPI_Datatype datatype, int dest,
int tag, MPI_Comm comm, MPI_Request *request);
OMPI_DECLSPEC int PMPI_Precv_init(void* buf, int partitions, MPI_Count count,
MPI_Datatype datatype, int source, int tag, MPI_Comm comm,
MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPI_Psend_init(const void* buf, int partitions, MPI_Count count,
MPI_Datatype datatype, int dest, int tag, MPI_Comm comm,
MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Precv_init(void* buf, int partitions, MPI_Count count,
MPI_Datatype datatype, int source, int tag, MPI_Comm comm,
MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPIX_Psend_init(const void* buf, int partitions, MPI_Count count,
MPI_Datatype datatype, int dest, int tag, MPI_Comm comm,
MPI_Info info, MPI_Request *request);
OMPI_DECLSPEC int PMPI_Pready(int partitions, MPI_Request request);
OMPI_DECLSPEC int PMPI_Pready_range(int partition_low, int partition_high,
MPI_Request request);
Expand Down
8 changes: 4 additions & 4 deletions ompi/mpi/c/precv_init.c
Original file line number Diff line number Diff line change
Expand Up @@ -36,15 +36,15 @@

#if OMPI_BUILD_MPI_PROFILING
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak MPI_Precv_init = PMPI_Precv_init
#pragma weak MPIX_Precv_init = PMPIX_Precv_init
#endif
#define MPI_Precv_init PMPI_Precv_init
#define MPIX_Precv_init PMPIX_Precv_init
#endif

static const char FUNC_NAME[] = "MPI_Precv_init";
static const char FUNC_NAME[] = "MPIX_Precv_init";


int MPI_Precv_init(void* buf, int partitions, MPI_Count count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Info info, MPI_Request *request)
int MPIX_Precv_init(void* buf, int partitions, MPI_Count count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Info info, MPI_Request *request)
{
int rc;

Expand Down
8 changes: 4 additions & 4 deletions ompi/mpi/c/psend_init.c
Original file line number Diff line number Diff line change
Expand Up @@ -36,15 +36,15 @@

#if OMPI_BUILD_MPI_PROFILING
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak MPI_Psend_init = PMPI_Psend_init
#pragma weak MPIX_Psend_init = PMPIX_Psend_init
#endif
#define MPI_Psend_init PMPI_Psend_init
#define MPIX_Psend_init PMPIX_Psend_init
#endif

static const char FUNC_NAME[] = "MPI_Psend_init";
static const char FUNC_NAME[] = "MPIX_Psend_init";


int MPI_Psend_init(const void* buf, int partitions, MPI_Count count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Info info, MPI_Request *request)
int MPIX_Psend_init(const void* buf, int partitions, MPI_Count count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Info info, MPI_Request *request)
{
int rc;

Expand Down
50 changes: 25 additions & 25 deletions ompi/mpi/fortran/mpif-h/precv_init_f.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,48 +28,48 @@

#if OMPI_BUILD_MPI_PROFILING
#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak PMPI_PRECV_INIT = ompi_precv_init_f
#pragma weak pmpi_precv_init = ompi_precv_init_f
#pragma weak pmpi_precv_init_ = ompi_precv_init_f
#pragma weak pmpi_precv_init__ = ompi_precv_init_f
#pragma weak PMPIX_PRECV_INIT = ompi_precv_init_f
#pragma weak pmpix_precv_init = ompi_precv_init_f
#pragma weak pmpix_precv_init_ = ompi_precv_init_f
#pragma weak pmpix_precv_init__ = ompi_precv_init_f

#pragma weak PMPI_Precv_init_f = ompi_precv_init_f
#pragma weak PMPI_Precv_init_f08 = ompi_precv_init_f
#pragma weak PMPIX_Precv_init_f = ompi_precv_init_f
#pragma weak PMPIX_Precv_init_f08 = ompi_precv_init_f
#else
OMPI_GENERATE_F77_BINDINGS (PMPI_PRECV_INIT,
pmpi_precv_init,
pmpi_precv_init_,
pmpi_precv_init__,
OMPI_GENERATE_F77_BINDINGS (PMPIX_PRECV_INIT,
pmpix_precv_init,
pmpix_precv_init_,
pmpix_precv_init__,
pompi_precv_init_f,
(char *buf, MPI_Fint *partitions, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *dest, MPI_Fint *tag, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(char *buf, MPI_Fint *partitions, MPI_Count *count, MPI_Fint *datatype, MPI_Fint *dest, MPI_Fint *tag, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(buf, partitions, count, datatype, dest, tag, comm, info, request, ierr) )
#endif
#endif

#if OPAL_HAVE_WEAK_SYMBOLS
#pragma weak MPI_PRECV_INIT = ompi_precv_init_f
#pragma weak mpi_precv_init = ompi_precv_init_f
#pragma weak mpi_precv_init_ = ompi_precv_init_f
#pragma weak mpi_precv_init__ = ompi_precv_init_f
#pragma weak MPIX_PRECV_INIT = ompi_precv_init_f
#pragma weak mpix_precv_init = ompi_precv_init_f
#pragma weak mpix_precv_init_ = ompi_precv_init_f
#pragma weak mpix_precv_init__ = ompi_precv_init_f

#pragma weak MPI_Precv_init_f = ompi_precv_init_f
#pragma weak MPI_Precv_init_f08 = ompi_precv_init_f
#pragma weak MPIX_Precv_init_f = ompi_precv_init_f
#pragma weak MPIX_Precv_init_f08 = ompi_precv_init_f
#else
#if ! OMPI_BUILD_MPI_PROFILING
OMPI_GENERATE_F77_BINDINGS (MPI_PRECV_INIT,
mpi_precv_init,
mpi_precv_init_,
mpi_precv_init__,
OMPI_GENERATE_F77_BINDINGS (MPIX_PRECV_INIT,
mpix_precv_init,
mpix_precv_init_,
mpix_precv_init__,
ompi_precv_init_f,
(char *buf, MPI_Fint *partitions, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *dest, MPI_Fint *tag, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(char *buf, MPI_Fint *partitions, MPI_Count *count, MPI_Fint *datatype, MPI_Fint *dest, MPI_Fint *tag, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr),
(buf, partitions, count, datatype, dest, tag, comm, info, request, ierr) )
#else
#define ompi_precv_init_f pompi_precv_init_f
#endif
#endif


void ompi_precv_init_f(char *buf, MPI_Fint *partitions, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *dest, MPI_Fint *tag, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr)
void ompi_precv_init_f(char *buf, MPI_Fint *partitions, MPI_Count *count, MPI_Fint *datatype, MPI_Fint *dest, MPI_Fint *tag, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr)
{
int c_ierr;
MPI_Info c_info;
Expand All @@ -80,9 +80,9 @@ void ompi_precv_init_f(char *buf, MPI_Fint *partitions, MPI_Fint *count, MPI_Fin
c_info = PMPI_Info_f2c(*info);
c_comm = PMPI_Comm_f2c (*comm);

c_ierr = PMPI_Precv_init(OMPI_F2C_BOTTOM(buf),
c_ierr = PMPIX_Precv_init(OMPI_F2C_BOTTOM(buf),
OMPI_FINT_2_INT(*partitions),
OMPI_FINT_2_INT(*count),
*count,
c_type, OMPI_FINT_2_INT(*dest),
OMPI_FINT_2_INT(*tag),
c_comm, c_info, &c_req);
Expand Down
4 changes: 2 additions & 2 deletions ompi/mpi/fortran/mpif-h/prototypes_mpi.h
Original file line number Diff line number Diff line change
Expand Up @@ -355,8 +355,8 @@ PN2(void, MPI_Pcontrol, mpi_pcontrol, MPI_PCONTROL, (MPI_Fint *level));
PN2(void, MPI_Pready, mpi_pready, MPI_PREADY, (MPI_Fint *partition, MPI_Fint *request, MPI_Fint *ierr));
PN2(void, MPI_Pready_list, mpi_pready_list, MPI_PREADY_LIST, (MPI_Fint *length, MPI_Fint *partition, MPI_Fint *request, MPI_Fint *ierr));
PN2(void, MPI_Pready_range, mpi_pready_range, MPI_PREADY_RANGE, (MPI_Fint *partition_low, MPI_Fint *partition_high, MPI_Fint *request, MPI_Fint *ierr));
PN2(void, MPI_Precv_init, mpi_precv_init, MPI_PRECV_INIT, (char *buf, MPI_Fint *partitions, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *src, MPI_Fint *tag, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr));
PN2(void, MPI_Psend_init, mpi_psend_init, MPI_PSEND_INIT, (char *buf, MPI_Fint *partitions, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *dest, MPI_Fint *tag, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr));
PN2(void, MPIX_Precv_init, mpix_precv_init, MPIX_PRECV_INIT, (char *buf, MPI_Fint *partitions, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *src, MPI_Fint *tag, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr));
PN2(void, MPIX_Psend_init, mpix_psend_init, MPIX_PSEND_INIT, (char *buf, MPI_Fint *partitions, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *dest, MPI_Fint *tag, MPI_Fint *comm, MPI_Fint *info, MPI_Fint *request, MPI_Fint *ierr));
PN2(void, MPI_Probe, mpi_probe, MPI_PROBE, (MPI_Fint *source, MPI_Fint *tag, MPI_Fint *comm, MPI_Fint *status, MPI_Fint *ierr));
PN2(void, MPI_Publish_name, mpi_publish_name, MPI_PUBLISH_NAME, (char *service_name, MPI_Fint *info, char *port_name, MPI_Fint *ierr, int service_name_len, int port_name_len));
PN2(void, MPI_Put, mpi_put, MPI_PUT, (char *origin_addr, MPI_Fint *origin_count, MPI_Fint *origin_datatype, MPI_Fint *target_rank, MPI_Aint *target_disp, MPI_Fint *target_count, MPI_Fint *target_datatype, MPI_Fint *win, MPI_Fint *ierr));
Expand Down
Loading