On Thu, 10 Mar 2011, Barry Smith wrote:

> 
> On Mar 10, 2011, at 4:46 PM, fabien delalondre wrote:
> 
> > Hi,
> > 
> > Which argument should I pass to pass to compile petsc on hopper II with 
> > superlu_dist, hypre and mumps (download) ? Without external package 
> > --with-mpi=0 works fine but then the external packages complain about it 
> > (no mpi specified). I tried to use and also modify the arch-cray-xt5-opt.py 
> > configure file but I did not go through it yet (Invalid mpiexec specified: 
> > /usr/common/acts/PETSc/3.0.0/bin/mpiexec.aprun). Instead of wasting time, I 
> > guess you guys will provide an answer pretty quickly.
> 
>    Satish,
> 
>     Why does --with-mpiexec have to be set on hopper? And why to this crazy 
> location that may not always exist? Requiring the user to set this beast to 
> some strange thing at configure time is not reasonable. We need a model that 
> doesn't require strange knowledge like this.
> 

The explanation for the strange thing in arch-cray-xt5-opt.py is: I
started off with a reconfigure.py file from a prior install by nersc
folks - so had some of this stuff in from there. [mpiexec.aprun is a
derivative of one of the scripts we have in PETSC_DIR/bin/mpiexec.*]

Looks like --with-mpiexec=/bin/false would also work on this machine.

currently mpiexec is checked by configure primarily for for 'make
test' stuff and 'check-mpi-shared' test.

We now have --with-batch=1 that generally works for machines where
things can't be run directly. Here - on cray - configure seem to work
directly - without batch - and without mpiexec.

Perhaps we can have configure - not abort if 'mpiexec' not found?

Satish

-----
diff -r 88e278a08859 config/packages/MPI.py
--- a/config/packages/MPI.py    Sat Mar 05 14:24:18 2011 -0600
+++ b/config/packages/MPI.py    Thu Mar 10 20:30:24 2011 -0600
@@ -155,7 +155,7 @@
       self.mpiexec = 'Not_appropriate_for_batch_systems'
       self.addMakeMacro('MPIEXEC',self.mpiexec)
       return
-    mpiexecs = ['mpiexec -n 1', 'mpirun -n 1', 'mprun -n 1', 'mpiexec', 
'mpirun', 'mprun']
+    mpiexecs = ['mpiexec -n 1', 'mpirun -n 1', 'mprun -n 1', 'mpiexec', 
'mpirun', 'mprun', '/bin/false']
     path    = []
     if 'with-mpi-dir' in self.framework.argDB:
       
path.append(os.path.join(os.path.abspath(self.framework.argDB['with-mpi-dir']), 
'bin'))

Reply via email to