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/