AVX != SSE2
log in

Advanced search

Message boards : Number crunching : AVX != SSE2

Author Message
Gunnar Hjern
Send message
Joined: 29 Mar 17
Posts: 10
Credit: 2,723,958
RAC: 34,296
Sweden
Message 1490 - Posted: 30 Jan 2019, 17:43:03 UTC

Hi!

Although quite rare, it sometimes happens that tasks computed with an SSE2-CPU gets invalidated due to differences when running the same task on an AVX-CPU.
As an example of this see WU 18375163.

I'm not exactly sure of why, but a possible explanation could be the use of FMA (fused multiply-add) inside the AVX CPU. Using FMA may produce a slightly different result due to using higher internal precision, and if the calculations are very sensitive and divergent, this could lead to very different end result. (The "butterfly effect")

Could something be done about this issue?

(to avoid invalids and loss of creds :-(

Kindest regards,
Gunnar

Profile valterc
Project administrator
Project tester
Send message
Joined: 30 Oct 13
Posts: 395
Credit: 18,729,166
RAC: 6,363
Italy
Message 1491 - Posted: 1 Feb 2019, 10:22:43 UTC - in response to Message 1490.

Hi there, unfortunately I'm not able to check the results output files right now, the invalid one was deleted from the system after validation. We are aware of the issue, one way of solving it is by removing the less significant results (using a threshold) from the output files thus minimizing the possible (precision related) differences. I will increase this threshold for the Hs workunits. As a side effect the output file will be slightly smaller.

The threshold itself is an input parameter of the work generator so it will take some time to be effective (already generated workunits will not be affected by this change).


Post to thread

Message boards : Number crunching : AVX != SSE2


Main page · Your account · Message boards


Copyright © 2019 CNR-TN & UniTN