2010/5/11 Ross Walker <ross.rosswalker.co.uk>:
> If you set NO_NTT3_SYNC then the code just uses a different random seed on
> each thread and thus an independent random number stream (it assumes you are
> setting ig=-1 in the cntrl namelist). This removes a serial bottleneck from
> the code and gives better scaling at higher thread counts for ntt=3.
Thanks for the explanation - this looks worth a try.
2010/5/11 Jason Swails <jason.swails.gmail.com>:
> A quick grep shows that there's an ifdef NO_NTT3_SYNC and an ifndef
> NO_NTT3_SYNC in the pmemd source directory. What's the verdict on this?
Looking at the pmemd source, it seems like the only effect of
NO_NTT3_SYNC is three extra calls to gauss() - though I may well have
missed something. I don't see any difference in the use of MPI
primitives. Is gauss really so slow that this would have a significant
effect? If so I wonder if jury-rigging in, say, an MKL seeded vector
RNG would be helpful?
(The obvious thing for me to do next is to try it out and benchmark of
course...)
Thanks,
--Tom
_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Tue May 11 2010 - 21:00:03 PDT