gpt4 book ai didi

x86 - 像 Denormals-Are-Zero (DAZ) 这样的非规范标志会影响比较的相等性吗?

转载 作者:行者123 更新时间:2023-12-04 21:21:49 39 4
gpt4 key购买 nike

如果我有 2 个具有不同位模式的非正规浮点数并比较它们是否相等,结果是否会受到非正规数-零标志、刷新到零标志或常用处理器上的其他标志的影响?

还是这些标志只影响计算而不影响相等性检查?

最佳答案

DAZ(非正规数为零)影响读取输入,因此 DAZ影响比较 .所有非规范化都被视为 -0.0+0.0 ,根据他们的迹象。

FTZ (Flush To Zero) 只影响写输出,所以 自贸区不影响比较 .比较不会产生 FP 输出,所以没有什么要刷新的。

(DAZ 和 FTZ 是 SSE MXCSR 控制/状态寄存器中的标志。x87 没有等效项。)

为什么两个标志单独存在,而不是一个标志控制两件事?我不知道,但你肯定需要这两种效果。

您可能正在从文件或网络中读取 FP 数据,因此您可以直接获得非正规输入,而不是计算结果。所以你需要 DAZ。

产生正确的非正规输出(例如减去附近的正规数,或乘以两个小的正规数)可能很慢,因此您需要 FTZ 以允许 CPU 下溢到 +-0.0而不是采用微码辅助来获得正确的值。

或者,您可能让一个线程使用快速数学 (FTZ+DAZ) 运行,而另一个线程使用精确数学运行某些需要它的计算。如果快速数学线程读取由精确线程生成的数据,则这些数字可能是非规范的。

我不确定设置 DAZ 而不是 FTZ 的用例是什么,反之亦然。它肯定会涉及读取不是您自己生成的数据,或为您以外的读者编写数据,否则仅 FTZ 就足以避免任何减速。

(仅 DAZ 是不够的:从正常输入生成非正常输出仍然很慢,即使下一个操作将其视为 0。)

关于x86 - 像 Denormals-Are-Zero (DAZ) 这样的非规范标志会影响比较的相等性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54047415/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com