MPI_Buffer_attach(3)

MPI_Buffer_attach - Attaches a user-defined buffer for sending

As shipped in IRIX 6.5.22. Added in IRIX 6.5.19.

NAME
     MPI_Buffer_attach - Attaches a user-defined buffer for sending

SYNOPSIS
     C:

          #include <mpi.h>

          int MPI_Buffer_attach( buffer, size )
          void *buffer;
          int  size;


     C++:

          #include <mpi.h>

          void Attach_buffer(
          void*             buffer,
          int               size)


     Fortran:

          INCLUDE "mpif.h" (or USE MPI)

          <type> BUFFER(*)
          INTEGER size, ierror

          CALL MPI_BUFFER_ATTACH(buffer, size, ierror)


STANDARDS
     This release implements the MPI 1.2 standard, as documented by the MPI
     Forum in the spring 1997 release of MPI:  A Message Passing Interface
     Standard.

DESCRIPTION
     The MPI_Buffer_attach routine attaches a user-defined buffer for send
     operations.  This routine accepts the following parameters:

     buffer    Specifies the initial buffer address (choice)

     size      Specifies the buffer size, in bytes (integer)

     ierror    Specifies the return code value for successful completion,
               which is in MPI_SUCCESS.  MPI_SUCCESS is defined in the mpif.h
               file.
NOTES
     The specified size should be the sum of the sizes of all outstanding
     MPI_Bsend(3) operations that you intend to have, plus a few hundred bytes
     for each MPI_Bsend(3) operation that you perform.  For the purposes of
     calculating size, you should use the MPI_Pack_size(3) routine for size
     accuracy.  In other words, in the following code samples, the value of
     size in the MPI_Buffer_attach call should be greater than the value of
     size computed by MPI_Pack_size.

          MPI_Buffer_attach( buffer, size );
          MPI_Bsend(, count=20, datatype=type1, );

          MPI_Bsend(, count=40, datatype=type2, );


          MPI_Pack_size( 20, type1, comm, &s1 );
          MPI_Pack_size( 40, type2, comm, &s2 );
          size = s1 + s2 + 2 * MPI_BSEND_OVERHEAD;


     MPI_BSEND_OVERHEAD is the maximum amount of buffer space allocated for
     use by each MPI_Bsend(3) routine.  This value is located in mpi.h (for C)
     and in mpif.h (for Fortran).

SEE ALSO
     intro_streams(3), MPI_Bsend(3), MPI_Buffer_detach(3), MPI_Pack_size(3)