Le 15/08/2012 21:04, Nathaniel Echols a écrit :
The best use of OpenMP that I can think of would be to parallelize the direct summation code, which is so inefficient that Amdahl's Law shouldn't be as big of a buzz-kill as it was for the parallelized FFT calculations.
You can use OpenMP for direct summation code for the structure factors calculation. It's working very well. But OpenMP is not only the only thing you can look at. I can work 4 times faster on a single core compared to cctbx by using optimised trigonometric functions[1] and SIMD friendly code. By the way is double precision really necessary? The code I have written is about 3 times faster is single precision than the double precision. However I don't know how similar the calculation of the gradient is so I don't if the same kind of method is applicable. I am using the structure factors calculation as a playground for optimization :). Pascal [1] Sleef library: http://shibatch.sourceforge.net/