Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |  

This web mail archive is frozen.

This page is part of a frozen web archive of this mailing list.

You can still navigate around this archive, but know that no new mails have been added to it since July of 2016.

Click here to be taken to the new web archives of this list; it includes all the mails that are in this frozen archive plus all new mails that have been sent to the list since it was migrated to the new archives.

Subject: Re: [OMPI users] MPI_Allreduce on local machine
From: Hugo Gagnon (sourceforge.openmpi_at_[hidden])
Date: 2010-07-28 09:33:44


And how do I know how big my data buffer is? I ran MPI_TYPE_EXTENT of
And how do I know how big my data buffer is? I ran MPI_TYPE_EXTENT of
MPI_DOUBLE_PRECISION and the result was 8. So I changed my program to:

  1 program test
  2
  3 use mpi
  4
  5 implicit none
  6
  7 integer :: ierr, nproc, myrank
  8 !integer, parameter :: dp = kind(1.d0)
  9 real(kind=8) :: inside(5), outside(5)
 10
 11 call mpi_init(ierr)
 12 call mpi_comm_size(mpi_comm_world, nproc, ierr)
 13 call mpi_comm_rank(mpi_comm_world, myrank, ierr)
 14
 15 inside = (/ 1., 2., 3., 4., 5. /)
 16 call mpi_allreduce(inside, outside, 5, mpi_real, mpi_sum,
 mpi_comm_world, ierr)
 17
 18 if (myrank == 0) then
 19 print*, outside
 20 end if
 21
 22 call mpi_finalize(ierr)
 23
 24 end program test

but I still get a SIGSEGV fault:

forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image PC Routine Line
Source
libmpi.0.dylib 00000001001BB4B7 Unknown Unknown
Unknown
libmpi_f77.0.dyli 00000001000AF046 Unknown Unknown
Unknown
a.out 0000000100000D87 _MAIN__ 16
test.f90
a.out 0000000100000C9C Unknown Unknown
Unknown
a.out 0000000100000C34 Unknown Unknown
Unknown
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image PC Routine Line
Source
libmpi.0.dylib 00000001001BB4B7 Unknown Unknown
Unknown
libmpi_f77.0.dyli 00000001000AF046 Unknown Unknown
Unknown
a.out 0000000100000D87 _MAIN__ 16
test.f90
a.out 0000000100000C9C Unknown Unknown
Unknown
a.out 0000000100000C34 Unknown Unknown
Unknown

What is wrong now?

-- 
  Hugo Gagnon
On Wed, 28 Jul 2010 07:56 -0400, "Jeff Squyres" <jsquyres_at_[hidden]>
wrote:
> On Jul 27, 2010, at 4:19 PM, Gus Correa wrote:
> 
> > Is there a simple way to check the number of bytes associated to each
> > MPI basic type of OpenMPI on a specific machine (or machine+compiler)?
> > 
> > Something that would come out easily, say, from ompi_info?
> 
> Not via ompi_info, but the MPI function MPI_GET_EXTENT will tell you the
> datatype's size.
> 
> -----
> [4:54] svbu-mpi:~/mpi % cat extent.f90
>       program main
>       use mpi
>       implicit none
>       integer ierr, ext
>       
>       call MPI_INIT(ierr)
>       call MPI_TYPE_EXTENT(MPI_DOUBLE_PRECISION, ext, ierr)
>       print *, 'Type extent of DOUBLE_PREC is', ext
>       call MPI_FINALIZE(ierr)
>       
>       end
> [4:54] svbu-mpi:~/mpi % mpif90 extent.f90 -o extent -g
> [4:54] svbu-mpi:~/mpi % ./extent
>  Type extent of DOUBLE_PREC is           8
> [4:54] svbu-mpi:~/mpi % 
> -----
> 
> -- 
> Jeff Squyres
> jsquyres_at_[hidden]
> For corporate legal information go to:
> http://www.cisco.com/web/about/doing_business/legal/cri/
> 
> 
> _______________________________________________
> users mailing list
> users_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/users
> 
-- 
  Hugo Gagnon