Hi,
Unsurprising results regarding restrict.
I'm relatively clueless about exactly what you are doing, but :)
Isn't the likely difference due to the use of the memory hierarchy?
Bob spent a lot of time on cache performance tuning.
Even before pmemd, differences between charmm and sander
had a lot to do with the different memory layouts (although
sander was doing some more math which may have explained its
slower performance on some hardware).
An interesting experiment would be to profile, using the
hardware counters, the two codes on the same machine with
the same compiler family. This should in principle classify
the source(s) of the performance differences. However, going
from that to realized code improvement could be a long project.
scott
On Mon, Aug 29, 2011 at 04:21:47PM -0400, dcerutti.rci.rutgers.edu wrote:
> Well, for the record, I have now tried numerous instances of restricted
> pointers and the speedups have been positively zero. I did at least
> identify a couple of places where the code was spending more time than I
> thought, and I made a ~5% improvement to the performance, but it still
> eludes me how the PMEMD Fortran code can be so much faster than my C
> implementation if the often-discussed pointer restriction problem doesn't
> account for any significant difference. I will be removing all pointer
> restrictions; the risk is too great for a statistically insignificant
> benefit.
>
> Dave
>
> > Thanks to all who have replied; I did not take the emacs editor to be
> > authoritative, just an indicator that I was not the only one who thought
> > that restrict was the correct reserved keyword. Apparently, __restrict__
> > works on both gcc and icc. I will be sparing in my use of this
> > construction, but am attempting to improve the direct space inner loop to
> > make use of it.
_______________________________________________
AMBER-Developers mailing list
AMBER-Developers.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber-developers
Received on Mon Aug 29 2011 - 18:30:02 PDT