LAM/MPI logo

LAM/MPI General User's Mailing List Archives

  |   Home   |   Download   |   Documentation   |   FAQ   |   all just in this list

From: Prabhanjan Kambadur (pkambadu_at_[hidden])
Date: 2005-04-28 01:18:08


Hi,

Does your code segfault from within the MPI library or in your code? There
are certain issues with mixing 32 and 64 bit code (ref fAQ's on the LAM
web-page regarding this topic). However, since you seem to be running on a
64 bit-platform only, there should not be any issues with LAM/MPI (LAM/MPI
is 64-bit clean). So, I would suggest looking at your application code for
some obvious mistakes in datatype handling. There are many differences
between 64 and 32 bit datatypes (MPI_LONG is 64 bits as opposed to 32 on
64 bit systems). A good place to look would be if your code is making some
assumptions which would make it break on 64-bit platforms. Try building
your code in debug mode and run it through a memory checking debugger for
more information on this (valgrind, purify, bcheck all do this).

To compile LAM/MPI on a 64-bit platform as a 32-bit library, you need to
pass the same flags to "gcc" and "g++" as you would for your own
executables. So, setting CFLAGS and CXXFLAGS to be "-m32" and then
configuring/building/installing LAM/MPI should work.

So, assuming tcsh

#setenv CFLAGS -m32
#setenv CXXFLAGS -m32
#./configure ...
#make all install

I do not know much about "atomicity.h", but I am assuming that this is
never directly included by your program and hence should not be the source
of your problem.

Anju

On Thu, 21 Apr 2005, Leslie Nkansa Osei-Bonsu wrote:

> 1. I have a simulation code which ports very well on 32-bit systems be it
> parallel or serial, windows(for serial only) or linux(for both). We have
> just installed Suse linux 9.3 on a Fujitsu-Siemens celsius workstation which
> uses a 64 bit xeon processor. This system has also been used to configure
> and install lam 7.1.1 which has passed all the lamtests eventually. The
> strange thing happening now is that this same code that runs well on other
> systems has been executing in a very bizarre way on the 64-bit system. For
> example, it executes one mpirun and then the same code crashes with SINAL 11
> (segmentation fault) in the function where data(sim parameters) is read and
> set. After a few attempts it will run and crash again. Does anyone have a
> clue as to what is happening? Is it a 64 bit architecture problem??
>
> 2. How can I compile the lam mpi source code and install on my 64-bit system
> so that I can use the g++ -m32 to create a 32 bit executable. I am able to
> compile with -m32 flags but I cannot obviously use the 64-bit lam library
> file to link the object files. I know for sure I need the 32-bit library
> file but how to do that is my problem :(
>
> 3. How does atomicity.h affect our executables (though this is not MPI
> specific I shall be grateful if someone could fill me in). Could it be the
> cause of the problem?
>
> Thank you in advance and counting on your help
>
>
> Leslie Nkansa Osei-Bonsu
>
> Graduate Student
> Computational Science and Engineering
> Department of Informatics
> Technische Universität München
>
>
> _______________________________________________
> This list is archived at http://www.lam-mpi.org/MailArchives/lam/
>