Provided by: openmpi-doc_1.4.3-2.1ubuntu3_all bug

NAME

       MPI_Alloc_mem  - Allocates a specified memory segment.

SYNTAX

C Syntax

       #include <mpi.h>
       int MPI_Alloc_mem(MPI_Aint size, MPI_Info info, void *baseptr)

Fortran Syntax (see FORTRAN NOTES)

       INCLUDE 'mpif.h'
       MPI_ALLOC_MEM(SIZE, INFO, BASEPTR, IERROR)
            INTEGER INFO, IERROR
            INTEGER(KIND=MPI_ADDRESS_KIND) SIZE, BASEPTR

C++ Syntax

       #include <mpi.h>
       void* MPI::Alloc_mem(MPI::Aint size, const MPI::Info& info)

INPUT PARAMETERS

       size      Size of memory segment in bytes (nonnegative integer).

       info      Info argument (handle).

OUTPUT PARAMETERS

       baseptr   Pointer to beginning of memory segment allocated.

       IERROR    Fortran only: Error status (integer).

DESCRIPTION

       MPI_Alloc_mem  allocates  size  bytes  of  memory.  The starting address of this memory is
       returned in the variable base.

FORTRAN NOTES

       There is no portable FORTRAN 77 syntax for using  MPI_Alloc_mem.   There  is  no  portable
       Fortran  syntax for using pointers returned from MPI_Alloc_mem. However, MPI_Alloc_mem can
       be used with Sun Fortran compilers.

       From FORTRAN 77, you can use the following non-standard  declarations  for  the  SIZE  and
       BASEPTR arguments:
                  INCLUDE "mpif.h"
                  INTEGER*MPI_ADDRESS_KIND SIZE, BASEPTR

       From  either  FORTRAN  77  or  Fortran  90,  you  can  use "Cray pointers" for the BASEPTR
       argument. Cray pointers are  described  further  in  the  Fortran  User's  Guide  and  are
       supported by many Fortran compilers.  For example,

                  INCLUDE "mpif.h"
                  REAL*4 A(100,100)
                  POINTER (BASEPTR, A)
                  INTEGER*MPI_ADDRESS_KIND SIZE

                  SIZE = 4 * 100 * 100
                  CALL MPI_ALLOC_MEM(SIZE,MPI_INFO_NULL,BASEPTR,IERR)

                  ! use A

                  CALL MPI_FREE_MEM(A, IERR)

ERRORS

       Almost all MPI routines return an error value; C routines as the value of the function and
       Fortran routines in the last argument. C++ functions do not return errors. If the  default
       error  handler  is  set  to  MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception
       mechanism will be used to throw an MPI:Exception object.

       Before the error value is returned, the current MPI error handler is called.  By  default,
       this  error  handler aborts the MPI job, except for I/O function errors. The error handler
       may   be   changed   with   MPI_Comm_set_errhandler;   the   predefined   error    handler
       MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not
       guarantee that an MPI program can continue past an error.

SEE ALSO

       MPI_Free_mem