dwww Home | Manual pages | Find package

MPI_Alloc_mem(3)                   Open MPI                   MPI_Alloc_mem(3)

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)
       USE MPI
       ! or the older form: INCLUDE 'mpif.h'
       MPI_ALLOC_MEM(SIZE, INFO, BASEPTR, IERROR)
            INTEGER INFO, IERROR
            INTEGER(KIND=MPI_ADDRESS_KIND) SIZE, BASEPTR

Fortran 2008 Syntax
       USE mpi_f08
       MPI_Alloc_mem(size, info, baseptr, ierror)
            USE, INTRINSIC :: ISO_C_BINDING, ONLY
            INTEGER(KIND=MPI_ADDRESS_KIND), INTENT(IN) :: size
            TYPE(MPI_Info), INTENT(IN) :: info
            TYPE(C_PTR), INTENT(OUT) :: baseptr
            INTEGER, OPTIONAL, INTENT(OUT) :: ierror

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_Al-
       loc_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  For-
       tran User's Guide and are supported by many Fortran compilers.  For ex-
       ample,

                  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++ func-
       tions 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

4.1.2                            Nov 24, 2021                 MPI_Alloc_mem(3)

Generated by dwww version 1.14 on Fri Jan 24 09:50:52 CET 2025.