So I realized I may have been unclear about this earlier, but I am
absolutely opposed to any parallel efficiency scheme that does not address
the theoretical rng sampling issues. I say this because 1) good work has
already been done to make implementation of something sound possible, and 2)
we have really gotten burned on this langevin seed-reuse problem (per the
paper reference below), and we should learn from that experience. Not
trying to be ornery, but I really feel we should not risk screwing this up.
Regards - Bob
----- Original Message -----
From: "Ross Walker" <ross.rosswalker.co.uk>
To: "'Robert Duke'" <rduke.email.unc.edu>
Cc: <amber-developers.scripps.edu>
Sent: Wednesday, December 17, 2008 12:37 PM
Subject: amber-developers: Random seeds
> Hi Bob and others,
>
>> Regarding changing the seed in langevin dynamics runs - this is very
>> important. One should absolutely be careful to do this to get valid
>> results, and this is not yet automated in pmemd (next release). Please
>> see
>> Cerutti, Duke, et al, J Chem Theor Comp 4, 1669-80 (2008).
>
> This reminds me of something we should probably discuss at the AMBER
> developers meeting. I propose that we change the way ig works and we
> should
> try to make sure this gets put into both sander and pmemd. My proposal is
> that +ve values of ig should behave as they do now. Then if one sets a
> value
> of ig=0 then it uses the time of day in microseconds for the random number
> stream. If however, one sets a -ve value for ig then it uses the absolute
> value of that as the seed BUT it does not attempt to synchronize the
> random
> numbers in any way between processor threads - removing the parallel
> bottleneck problems with langevin for example. Thus in this case
> (excluding
> load rebalancing etc) one should get the same results (for a few steps)
> providing the same number of processors are used. Obviously it is more
> complicated than this but I don't think we should worry about that.
>
> Clearly on 1cpu -ig = ig.
>
> In the case of ig=0 we would need to decide whether or not random numbers
> are synchronized between threads but I vote not to do this since for
> Langevin as far as I can tell the current approach of enforcing the
> synchronization of random numbers is crazy and doesn't help with the
> actual
> accuracy at all - in fact it allows people to introduce very weird
> correlations.
>
> Thus +ve ig values would essentially be reserved for testing and all
> actual
> production runs would / should be run with ig=0 (which is actually -1
> right
> now in amber 10 - hence why there would be changes). The key then becomes
> whether we change the default value of not - which I also think we should
> do. And then we explicitly set if in all the test cases so they are still
> usable...
>
> What do you think?
>
> All the best
> Ross
>
>
> /\
> \/
> |\oss Walker
>
> | Assistant Research Professor |
> | San Diego Supercomputer Center |
> | Tel: +1 858 822 0854 | EMail:- ross.rosswalker.co.uk |
> | http://www.rosswalker.co.uk | PGP Key available on request |
>
> Note: Electronic Mail is not secure, has no guarantee of delivery, may not
> be read every day, and should not be used for urgent or sensitive issues.
>
>
>
>
>
Received on Fri Dec 19 2008 - 01:10:49 PST