3 ms·
Even if all the basic operations were fully specified and implemented identically on all architectures, you would still have a noticeable performance vs. reprod
by stephencanon 13y ago
Even if all the basic operations were fully specified and implemented identically on all architectures, you would still have a noticeable performance vs. reproducibility tradeoff across architectures for "real computation". For example, different architectures have different numbers of registers and different cache hierarchies, which favors different access patterns in a fast matrix multiplication; thus linear algebra routines that attempt to be as fast as possible will necessarily group the arithmetic operations differently, which leads to different results even if individual arithmetic operations are guaranteed to be identical.
It's not insurmountable, but it's a thornier problem than it looks at first.