tpoisonooo/how-to-optimize-gemm

fp32 gemm存在微小误差

anaivebird opened this issue · 2 comments

A(i, j) = (2.0 * (float)drand48() - 1.0)
误差为
4.577637e-05

如果数字更大,误差更大

这是正常的...原因是数值的表达方式。计算机并不是严格的数学,计算的先后顺序会导致最终结果的不同。

严格意义上, a+b+c != c+b+a