簡體   English   中英

像Denormals-Are-Zero(DAZ)這樣的非正規標志會影響相等性的比較嗎?

[英]Do denormal flags like Denormals-Are-Zero (DAZ) affect comparisons for equality?

如果我有2個具有不同位模式的非正規浮點數並將它們進行相等性比較,那么結果是否會受到Denormals-Are-Zero標志,Flush-to-Zero標志或常用處理器上的其他標志的影響?

或者這些標志只影響計算而不影響相等性檢查?

DAZ(Denormals Are Zero)影響讀取輸入,因此DAZ會影響比較 根據他們的符號,所有非正規數字面上都被視為-0.0+0.0

FTZ(Flush To Zero)僅影響寫入輸出,因此FTZ不會影響比較 比較不會產生FP輸出,因此無需刷新。


(DAZ和FTZ是SSE MXCSR控制/狀態寄存器中的標志。對於x87沒有等價物。)


為什么兩個標志分開存在,而不是一個控制兩個標志的標志? 我不知道,但你肯定需要兩種效果。

您可能正在從文件或網絡中讀取FP數據,因此您可以直接獲得非正常輸入,而不是計算結果。 所以你需要DAZ。

產生正確的非正規輸出(例如,從減去附近的正常數字,或乘以兩個小的正常數字)可能很慢,因此您需要FTZ允許CPU下溢至+-0.0而不是采用微碼輔助來獲得正確的值。


或者你可能有一個線程運行快速數學(FTZ + DAZ),而另一個線程運行精確數學運算需要它的一些計算。 如果快速數學線程讀取精確線程產生的數據,那么這些數字可能是非正規數。

我不確定設置DAZ的用例是什么,而不是FTZ,反之亦然。 它肯定會涉及讀取你自己沒有產生的數據,或者為你自己以外的讀者寫數據,否則只需要FTZ就足以避免任何減速。

(僅僅DAZ是不夠的:從正常輸入產生非正規輸出仍然很慢,即使下一個操作將其視為0)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM