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

From: Jason Swails <>
Date: Thu, 18 Feb 2010 15:17:18 -0500

On Thu, Feb 18, 2010 at 3:07 PM, Volodymyr Babin <> 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. I don't think there's
any way of generalizing this to any MPI a user might have installed.
We could, of course, always make it only compliant with the included
MPIs (openMPI and lam) that can be built with amber. What trade-offs
for automation/flexibility should we make? I don't think there's any
'right' answer.

Another thing about the rules, is DO_PARALLEL still has to be set to
use the right number of processors, or every single test will give the
message 'need 4 threads', etc. I also may not have caught all of
them, since I only added the ones that printed messages to stdout
during the course of the test.


> in the Makefile:
> for n in 2 4 8 16;
> do
>  export DO_PARALLEL=`echo $user_DO_PARALLEL | sed -e "s/AMBER_NTHREADS/$n/"`
>  <run tests>
> done
> Best,
> Volodymyr
> _______________________________________________
> AMBER-Developers mailing list

Jason M. Swails
Quantum Theory Project,
University of Florida
Ph.D. Graduate Student
AMBER-Developers mailing list
Received on Thu Feb 18 2010 - 12:30:04 PST
Custom Search