Can you send the information listed here:

    http://www.open-mpi.org/community/help/


On Oct 30, 2013, at 6:22 PM, Jim Parker <jimparker96...@gmail.com> wrote:

> Jeff and Ralph,
>   Ok, I downshifted to a helloWorld example (attached), bottom line after I 
> hit the MPI_Recv call, my local variable (rank) gets borked.
> 
> I have compiled with -m64 -fdefault-integer-8 and even have assigned kind=8 
> to the integers (which would be the preferred method in my case)
> 
> Your help is appreciated.
> 
> Cheers,
> --Jim
> 
> 
> 
> On Wed, Oct 30, 2013 at 4:49 PM, Jeff Squyres (jsquyres) <jsquy...@cisco.com> 
> wrote:
> On Oct 30, 2013, at 4:35 PM, Jim Parker <jimparker96...@gmail.com> wrote:
> 
> >   I have recently built a cluster that uses the 64-bit indexing feature of 
> > OpenMPI following the directions at
> > http://wiki.chem.vu.nl/dirac/index.php/How_to_build_MPI_libraries_for_64-bit_integers
> 
> That should be correct (i.e., passing -i8 in FFLAGS and FCFLAGS for OMPI 
> 1.6.x).
> 
> > My question is what are the new prototypes for the MPI calls ?
> > specifically
> > MPI_RECV
> > MPI_Allgathterv
> 
> They're the same as they've always been.
> 
> The magic is that the -i8 flag tells the compiler "make all Fortran INTEGERs 
> be 8 bytes, not (the default) 4."  So Ralph's answer was correct in that all 
> the MPI parameters are INTEGERs -- but you can tell the compiler that all 
> INTEGERs are 8 bytes, not 4, and therefore get "large" integers.
> 
> Note that this means that you need to compile your application with -i8, too. 
>  That will make *your* INTEGERs also be 8 bytes, and then you'll match what 
> Open MPI is doing.
> 
> > I'm curious because some off my local variables get killed (set to null) 
> > upon my first call to MPI_RECV.  Typically, this is due (in Fortran) to 
> > someone not setting the 'status' variable to an appropriate array size.
> 
> If you didn't compile your application with -i8, this could well be because 
> your application is treating INTEGERs as 4 bytes, but OMPI is treating 
> INTEGERs as 8 bytes.  Nothing good can come from that.
> 
> If you *did* compile your application with -i8 and you're seeing this kind of 
> wonkyness, we should dig deeper and see what's going on.
> 
> > My review of mpif.h and mpi.h seem to indicate that the functions are 
> > defined as C int types and therefore , I assume, the coercion during the 
> > compile makes the library support 64-bit indexing.  ie. int -> long int
> 
> FWIW: We actually define a type MPI_Fint; its actual type is determined by 
> configure (int or long int, IIRC).  When your Fortran code calls C, we use 
> the MPI_Fint type for parameters, and so it will be either a 4 or 8 byte 
> integer type.
> 
> --
> Jeff Squyres
> jsquy...@cisco.com
> For corporate legal information go to: 
> http://www.cisco.com/web/about/doing_business/legal/cri/
> 
> _______________________________________________
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users
> 
> <mpi-test-64bit.tar.bz2>_______________________________________________
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users


-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to: 
http://www.cisco.com/web/about/doing_business/legal/cri/

Reply via email to