[Cado-nfs-discuss] Linear Algebra with MPI

Alex Liao alexliao at seas.upenn.edu
Thu Jun 25 22:21:11 CEST 2015


Hi,

It didn't turn out to be exactly what you said, but the idea that the
binaries weren't correctly compiled was extremely helpful. What had
happened is that while I did include MPI=/home/alexliao/.openmpi in my
local.sh file, it seemed to ignore the bin directory within it, and instead
defaulted to using the mpic++ compiler for MPICH instead.

What seemed to work for me was to put MPI=/home/alexliao/.openmpi/bin in
local.sh, and I removed all other mpi related packages that had been
installed on the system (namely, mpic++, mpich, mpich2, libmpich-dev,
openmpi-bin, libopenmpi-dev). I'm not certain whether both steps are
necessary, but it seemed to do the trick. Removing all of the unrelated
packages has the added advantage of failing in the compile stage if the
openmpi files that I specify cannot be found for some reason, instead of
compiling using the "wrong" mpi compiler and failing at runtime.

Thanks for all of your help!

Best,
Alex

On Thu, Jun 25, 2015 at 4:35 AM, Emmanuel Thomé <Emmanuel.Thome at inria.fr>
wrote:

> Alex,
>
> Did that work eventually ?
>
> E.
>
> On Mon, Jun 22, 2015 at 09:40:51PM +0200, Emmanuel Thomé wrote:
> > Hi,
> >
> > On Mon, Jun 22, 2015 at 12:44:36PM -0400, Alex Liao wrote:
> > > Inconsistency -- exactly 4 == 2 * 2 MPI jobs are needed -- got 1
> >
> > This means that the binaries you are running are unaware of the existence
> > of other MPI jobs. Most often, this is caused by the fact that you're
> > trying to go MPI with a non-MPI build.
> >
> > > Any insight would be much appreciated. I'm using the version of CADO
> > > pulled from the git repo and compiled using
> "MPI=/home/alexliao/.openmpi"
> > > (OpenMPI 1.8.6)
> >
> > Most probably you haven't. Note that the build directory (by default
> > $PWD/cado/`hostname`) is not by default dependent on the $MPI variable,
> > nor are its contents. So if you do a plain "make" to start with, and
> > later try an MPI build with the command
> > "MPI=$HOME/packages/openmpi-1.8.6/ make" (no other syntax), then you'll
> > be screwed because the build directory is without MPI, and object files
> > won't get rebuilt.
> >
> > There are several ways to work around this quirk, choosing which way to
> > go it is a matter of taste. You may want to force a fresh MPI build,
> > as follows:
> >
> > rm -rf build/
> > MPI=$HOME/packages/openmpi-1.8.6/ make
> >
> > You may also have local.sh decide on the build tree location based on
> > some influential env. variables. These are excerpts of what I have in my
> own local.sh:
> >
> >     build_tree="${up_path}build/`hostname | cut -d. -f1 | sed -e
> 's/-[0-9]*$//'`"
> >     if [ "$MPI" ] ; then
> >         build_tree="${build_tree}.mpi"
> >         case "$MPI" in
> >             *mvapich2*) build_tree="${build_tree}.mvapich2";;
> >             *openmpi*) build_tree="${build_tree}.openmpi";;
> >         esac
> >     fi
> >     if [ "$DEBUG" ] ; then
> >         build_tree="${build_tree}.debug"
> >         # Dangerous pitfall -- mpicc has the nasty habit of forcing -O2 !
> >         export CFLAGS="-O0 -g"
> >         export CXXFLAGS="-O0 -g"
> >     fi
> >
> >
> > If you can't fix your problem, please post the output of
> > "MPI=/home/alexliao/.openmpi make cmake"
> >
> >
> > Regards,
> >
> > E.
> > _______________________________________________
> > Cado-nfs-discuss mailing list
> > Cado-nfs-discuss at lists.gforge.inria.fr
> > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/cado-nfs-discuss
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gforge.inria.fr/pipermail/cado-nfs-discuss/attachments/20150625/bb1e0463/attachment.html>


More information about the Cado-nfs-discuss mailing list