Hi,
here is a sample code that I ran to allocate memory using MPI_Alloc_mem
call.
*************
#include "mpi.h"
#include <stdio.h>

int main( int argc, char *argv[] )
{
   int  err;
   int j, count = 100;
   char *ap;

   MPI_Init( &argc, &argv );
   MPI_Errhandler_set( MPI_COMM_WORLD, MPI_ERRORS_RETURN );

       err = MPI_Alloc_mem( count, MPI_INFO_NULL, &ap );
       if (err) {
           int errclass;
           printf("\n Inside error!");
           printf("allocation failed");
         }
       else {
           printf("\n I m here in else part");
           /* Access all of this memory */
           MPI_Free_mem( ap );
       }
   MPI_Finalize();
   return 0;
}
**********
mpirun -np 1 -hostfile nodelist ./memalloc
Signal:11 info.si_errno:0(Success) si_code:1(SEGV_MAPERR)
Failing at addr:0x38
[0] func:/usr/local/ofed/mpi/gcc/openmpi-1.1b1-1/lib64/libopal.so.0
[0x2aaaaadceb36]
[1] func:/lib64/libpthread.so.0 [0x33da90c380]
[2] 
func:/usr/local/ofed/mpi/gcc/openmpi-1.1b1-1/lib64/openmpi/mca_mpool_openib.so(mca_mpool_openib_free+0x12)

[0x2aaaac7d246c]
[3] 
func:/usr/local/ofed/mpi/gcc/openmpi-1.1b1-1/lib64/libmpi.so.0(mca_mpool_base_free+0x135)
[0x2aaaaab3c346]
[4] 
func:/usr/local/ofed/mpi/gcc/openmpi-1.1b1-1/lib64/libmpi.so.0(PMPI_Free_mem+0x1a)
[0x2aaaaab1f9ba]
[5] func:./memalloc(main+0x78) [0x400a30]
[6] func:/lib64/libc.so.6(__libc_start_main+0xdc) [0x33da01c4cc]
[7] func:./memalloc [0x400929]
*** End of error message ***

Reply via email to