RE: [AMBER-Developers] incompatible processor requirements in parallel tests

From: Ross Walker <ross.rosswalker.co.uk>
Date: Thu, 18 Feb 2010 13:13:27 -0800

Hi All,

Just to throw a spanner in the works here, you cannot assume that the number
of threads can be specified on the mpirun / mpiexec command line. Often it
is an environment variable or a setting set by the queuing system that the
user cannot override. For example IBM Power systems use :

poe $AMBERHOME/exe/sander.MPI

That is it. The arguments to poe are set within the loadleveller job
submission script.

Just something to be aware of and largely why what is proposed here was
never implemented previously.

All the best
Ross

> -----Original Message-----
> From: amber-developers-bounces.ambermd.org [mailto:amber-developers-
> bounces.ambermd.org] On Behalf Of Jason Swails
> Sent: Thursday, February 18, 2010 1:00 PM
> To: AMBER Developers Mailing List
> Subject: Re: [AMBER-Developers] incompatible processor requirements in
> parallel tests
>
> On Thu, Feb 18, 2010 at 3:39 PM, Volodymyr Babin <vbabin.ncsu.edu>
> wrote:
> > On Thu, February 18, 2010 15:17, Jason Swails wrote:
> >> On Thu, Feb 18, 2010 at 3:07 PM, Volodymyr Babin <vbabin.ncsu.edu>
> wrote:
> >>>> I checked in the new rules to Makefile.  People can feel free to
> >>>> remove it if they think it's pointless.  But I agree with Lachele
> that
> >>>> there should probably be some documentation about it (at least
> some
> >>>> blurb in the README).
> >>>
> >>> The rules are very convenient indeed. Another option (less
> flexible,
> >>> but potentially more automatic) would be to set -np inside the
> Makefile
> >>>
> >>> sh$ export DO_PARALLEL='command -np AMBER_NTHREADS'
> >>
> >> The problem with this is that not all MPIs use the same flag to
> >> represent the number of threads.  For instance, mpiexec for many
> MPIs
> >> uses -n instead.  -c is another common option.
> >
> > But this is exactly what I was trying to illustrate: it could be
> > either DO_PARALLEL='mpirun -n AMBER_NTHREADS' or
> > 'mpiexec -c AMBER_NTHREADS' -- in both cases AMBER_NTHREADS would
> > be substituted by the actual number later. This is not the "right"
> > way (there is probably more than one anyway) -- just another
> possibility.
> >
>
> Ah, I see. I'd be interested to see how this would be implemented.
> Probably setting AMBER_NTHREADS in each Run file, and DO_PARALLEL="cmd
> -arg $AMBER_NTHREADS"? I think this is a good idea, especially if
> results change slightly using different numbers of processors (which
> I've seen a little doing tests with different numbers of processors).
>
> All the best,
> Jason
>
> > Best,
> >
> > Volodymyr
> >
> >
> > _______________________________________________
> > AMBER-Developers mailing list
> > AMBER-Developers.ambermd.org
> > http://lists.ambermd.org/mailman/listinfo/amber-developers
> >
>
>
>
> --
> ---------------------------------------
> Jason M. Swails
> Quantum Theory Project,
> University of Florida
> Ph.D. Graduate Student
> 352-392-4032
>
> _______________________________________________
> AMBER-Developers mailing list
> AMBER-Developers.ambermd.org
> http://lists.ambermd.org/mailman/listinfo/amber-developers


_______________________________________________
AMBER-Developers mailing list
AMBER-Developers.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber-developers
Received on Thu Feb 18 2010 - 13:30:03 PST
Custom Search