Name

HPL_sdrv Send and receive a message.

Synopsis

#include <hpl.h>

int HPL_sdrv( double * SBUF, int SCOUNT, int STAG, double * RBUF, int RCOUNT, int RTAG, int PARTNER, MPI_Comm COMM );

Description

HPL_sdrv is a simple wrapper around MPI_Sendrecv. Its main purpose is to allow for some experimentation and tuning of this simple function. Messages of length less than or equal to zero are not sent nor received. Successful completion is indicated by the returned error code HPL_SUCCESS.

Arguments

SBUF    (local input)                 double *
        On entry, SBUF specifies the starting address of buffer to be
        sent.
SCOUNT  (local input)                 int
        On entry,  SCOUNT  specifies  the number  of double precision
        entries in SBUF. SCOUNT must be at least zero.
STAG    (local input)                 int
        On entry,  STAG  specifies the message tag to be used for the
        sending communication operation.
RBUF    (local output)                double *
        On entry, RBUF specifies the starting address of buffer to be
        received.
RCOUNT  (local input)                 int
        On entry,  RCOUNT  specifies  the number  of double precision
        entries in RBUF. RCOUNT must be at least zero.
RTAG    (local input)                 int
        On entry,  RTAG  specifies the message tag to be used for the
        receiving communication operation.
PARTNER (local input)                 int
        On entry,  PARTNER  specifies  the rank of the  collaborative
        process in the communication space defined by COMM.
COMM    (local input)                 MPI_Comm
        The MPI communicator identifying the communication space.

See Also

HPL_send, HPL_recv