Merge pull request #410 from RosettaCommons/aleaverfay/dfpmin_memory_alignment
This commit addresses the memory access pattern for DFPMin. It produces many (real) integration test changes on my machine (though not on the testing server), but the change is small enough that I am confident the changes do not reflect a bug.
...
Changing dfpmin's access pattern to the HESSIN matrix to better align with memory.
This change is small, and though it looks like it ought to produce no integration test changes, it does. Why? I suspect that it's due to code that previously prevented vectorization now suddenly allowing it. Vectorized arithmetic produces subtle numeric differences.
Updating the Hessian accounted for a large amount of the running time in relax when run on some of Stampede's machines.
Thanks to Cyrus Proctor at TACC for finding this issue!