[mpich-discuss] building 32 bit shmem on 64 bit linux system

Rajeev Thakur thakur at mcs.anl.gov
Thu Jun 26 00:06:29 CDT 2008


Did you recompile the program? Make sure you use the mpicc from this build
and not some other mpicc from another directory. Give the full path if
necessary.

Rajeev 

> -----Original Message-----
> From: owner-mpich-discuss at mcs.anl.gov 
> [mailto:owner-mpich-discuss at mcs.anl.gov] On Behalf Of Daniel 
> Fetchinson
> Sent: Thursday, June 26, 2008 12:02 AM
> To: mpich-discuss at mcs.anl.gov
> Subject: Re: [mpich-discuss] building 32 bit shmem on 64 bit 
> linux system
> 
> Actually, I spoke a bit too soon. Configure, make, make 
> install all work but the code still doesn't run, saying:
> 
> 0 - MPI_INIT : MPIRUN chose the wrong device ch_shmem; 
> program needs device ch_p4
> /home/fetchinson/mpi32shmem/bin/mpirun.ch_shmem: line 91: 17761
> Segmentation fault      /home/fetchinson/test "testinput"
> 
> The exact same code runs on another machine where someone 
> else installed a 32-bit shmem mpich1 library, I'm trying to 
> do the same on a different machine now. It's an intel quad 
> core so I suppose the shmem device should work. The configure 
> options I used for compiling are
> 
> export CC='gcc -m32'
> export F77='g77 -m32'
> ./configure  --with-device=ch_shmem
> 
> Do I need to specify the --with-arch option? Going through 
> the list of available --with-arch options I'm not sure what I 
> need for an Intel(R)
> Core(TM)2 Quad CPU Q6600 @ 2.40GHz.
> 
> What am I doing wrong?
> 
> Cheers,
> Daniel
> 
> 
> 
> > Thanks Anthony, that worked!
> >
> > Concerning MPICH2: I'm not in a position to change the 
> communication 
> > routines in the code  I use so this would only be an option 
> if MPICH2 
> > is fully backward compatible with MPICH1. Is this the case? 
> Can I just 
> > start using MPICH2 without changing anything in the code if 
> it works 
> > with MPICH1?
> >
> > Cheers,
> > Daniel
> >
> >
> >> Since you are using MPICH-1, you can try setting CC, F77 and F90
> >>
> >> CC="gcc -m32"
> >> F77="g77 -m32"
> >> ....
> >>
> >> BTW, can you use MPICH2 instead ?  We have shifted all our 
> >> development effort to MPICH2 which is more robust than 
> MPICH-1.  If 
> >> you are using MPICH2, setting CFLAGS and FFLAGS should 
> work, and you 
> >> can use nemesis which shared memory for intranode communication.
> >>
> >> A.Chan
> >>
> >> ----- "Daniel Fetchinson" <fetchinson at googlemail.com> wrote:
> >>
> >>> Hi folks,
> >>>
> >>> I'd like to build the 32-bit shmem mpi library because 
> the code I'll 
> >>> use with mpi only works in 32-bit because of some 32-bit specific 
> >>> assembly code. The machine is a 64-bit machine with a 
> 64-bit linux 
> >>> distribution (suse).
> >>>
> >>> I tried configuring mpich-1.2.7p1 in a number of ways:
> >>>
> >>> ./configure --with-device=ch_shmem
> >>> ./configure --with-arch=LINUX --with-device=ch_shmem ./configure 
> >>> --with-arch=LINUX32 --with-device=ch_shmem ./configure 
> >>> --with-arch=i386 --with-device=ch_shmem
> >>>
> >>> with and without setting the following environment variables (in
> >>> bash):
> >>>
> >>> export CFLAGS=-m32
> >>> export FFLAGS=-m32
> >>>
> >>> Configuring went all right but none of the above 
> combinations worked 
> >>> with 'make' unfortunately :( The error in 'make' is the following:
> >>>
> >>> /home/fetchinson/mpich-1.2.7p1/bin/mpicc  -o overtake overtake.o 
> >>> test.o
> >>> 
> /usr/lib64/gcc/x86_64-suse-linux/4.2.1/../../../../x86_64-suse
> -linux/bin/ld:
> >>> skipping incompatible 
> /home/fetchinson/mpich-1.2.7p1/lib/libmpich.a
> >>> when searching for -lmpich
> >>> 
> /usr/lib64/gcc/x86_64-suse-linux/4.2.1/../../../../x86_64-suse
> -linux/bin/ld:
> >>> cannot find -lmpich
> >>> collect2: ld returned 1 exit status
> >>> make[4]: *** [overtake] Error 1
> >>> make[3]: [linktest1] Error 2 (ignored) Could not link a C program 
> >>> with MPI libraries
> >>> make[3]: *** [linktest1] Error 1
> >>> make[2]: *** [linktest] Error 2
> >>> make[1]: *** [mpi-lib-test] Error 2
> >>> make: *** [mpi] Error 2
> >>>
> >>> Which makes me believe that I was not able to convince the 
> >>> compiler/linker/etc that I really want everything in 32-bit.
> >>>
> >>> What would be the correct way of compiling the whole mpi 
> library to 
> >>> 32-bit?
> >>>
> >>> Cheers,
> >>> Daniel
> >>
> >>
> >
> >
> > --
> > Psss, psss, put it down! - http://www.cafepress.com/putitdown
> >
> 
> 
> --
> Psss, psss, put it down! - http://www.cafepress.com/putitdown
> 
> 




More information about the mpich-discuss mailing list