One of our users experiences subltle differences in the results of his (“bulky’”
density functional solver) code when loop unrolling is activated during compilation.
Some initial results differ by 1.0e-5 leading to sizeable differences in the final
(electron density) results. The code contains about 700 loops, so there is little
chance to pinpoint the one(s) that cause the trouble. We haven’t tried 6.0 yet,
but my understanding of loop unrolling is, that the order of the statements
arranged inside the loop and the order in which they are executed are not
changed. To this end, I would expect differences to be at most within the
computational accuracy (double precision), however, the observed deviations
are far bigger.
Has anyone noticed similar effects with loop unrolling?