! -*- Mode: Fortran; -*- ! ! (C) 2014 by Argonne National Laboratory. ! See COPYRIGHT in top-level directory. ! program main use mpi_f08 use, intrinsic :: iso_c_binding real, pointer :: a(:,:) integer (kind=MPI_ADDRESS_KIND) asize type(c_ptr) cptr integer ierr, sizeofreal, errs integer i,j ! errs = 0 call mtest_init(ierr) call mpi_type_size( MPI_REAL, sizeofreal, ierr ) ! Make sure we pass in an integer of the correct type asize = sizeofreal * 100 * 100 call mpi_alloc_mem( asize,MPI_INFO_NULL,cptr,ierr ) call c_f_pointer(cptr, a, [100, 100]) do i=1,100 do j=1,100 a(i,j) = -1 enddo enddo a(3,5) = 10.0 call mpi_free_mem( a, ierr ) call mtest_finalize(errs) end