cost 355 ms
-ffast-math 的奇怪 LTO 行為

[英]Weird LTO behavior with -ffast-math

概括 最近我遇到了一個關於 LTO 和-ffast-math的奇怪問題,我的“pow”(在cmath中)調用的結果不一致,具體取決於是否使用了-flto 。 環境: 最小的例子 代碼 fixed.hxx fixed.cxx test.cxx 編譯並運行 使用-ff ...

C++ gcc 是否關聯數學標志禁用浮點 NAN 值?

[英]C++ gcc does associative-math flag disable float NAN values?

我正在使用具有大量浮點數據的統計函數。 我希望它運行得更快,但Ofast禁用 NAN( fno-finite-math-only標志),這在我的情況下是不允許的。 在這種情況下,只打開associative-math是否安全? 我認為這個標志允許向量數組的向量化總和之類的東西,即使數組包含 NAN ...

可以修改這段代碼以使其在啟用快速數學的情況下工作嗎?

[英]Can this piece of code be modified such that it works with fast-math enabled?

是否可以修改下面的代碼,使其即使在啟用快速數學的 GCC 編譯時也能正常工作? 注意:我有它在 header 文件中,我還沒有設法關閉 header 的快速數學。 請參閱奇怪的 while 循環行為和如何禁用 header 文件 function 的快速數學 ...

當我們考慮將 DAZ 標志用於 SSE 浮點時,“非正規輸入”在匯編中究竟意味着什么

[英]What does the “denormal input” exactly mean in assembly when we consider using DAZ flag for SSE Floating Points

我已經閱讀了這篇文章和do-denormal-flags-like-denormals-are-zero-daz-affect-comparisons-for-equality ,我了解 FTZ 和 DAZ 標志之間的用法和區別。 DAZ 適用於輸入,FTZ 適用於來自 FP 操作的 output ...

__host__ __device__ 函數調用重載函數

[英]__host__ __device__ functions calling overloaded functions

我不明白 Cuda 中是否存在 function 過載。 我想在以下兩個函數上解釋我的問題,我希望能夠在 GPU 和 CPU 上都使用它們,我不在乎精度: 其中 function 的abs ,分別。 cos我應該打電話,為什么? std::abs / abs / fabs / fabsf / a ...

我可以在編譯時確定是否設置了 --use_fast_math 嗎?

[英]Can I determine at compile time whether --use_fast_math was set?

我正在編寫一些 CUDA 代碼,我希望它根據是否設置--use_fast_math來表現不同。 而且 - 我想在編譯時做出這個決定,而不是在運行時。 當設置--use_fast_math時,NVCC 似乎沒有添加或更改預處理器定義。 我通過比較以下輸出來檢查: 與輸出 它們完全一樣; 以至 ...

迭代Kahan求和的最佳實現

[英]Optimal implementation of iterative Kahan summation

介紹 Kahan求和/補償求和是一種解決編譯器無法尊重數字關聯屬性的技術。 截斷誤差導致(a + b)+ c不完全等於a +(b + c),從而在較長的和序列上積累了不希望的相對誤差,這是科學計算中的常見障礙。 任務 我希望最佳實現Kahan求和。 我懷疑使用手工匯編代碼可能會 ...

GCC的快速機制在跨平台或編譯器版本上是否具有一致性保證?

[英]Does GCC's ffast-math have consistency guarantees across platforms or compiler versions?

我想編寫跨平台的C / C ++,它在不同環境中的行為都可重現。 我知道gcc的快速數學可以實現各種浮點近似。 很好,但是我需要兩個單獨編譯的二進制文件才能產生相同的結果。 假設我一直使用gcc,但是對於Windows,Linux或其他任何版本,以及不同的編譯器版本,我都使用gcc ...

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

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

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

嚴格別名,-ffast-math和SSE

[英]Strict aliasing, -ffast-math and SSE

考慮以下程序: 如果我使用帶有和不-ffast-math Apple Clang 7.0.2進行編譯,我會得到預期的輸出0 0 0 0 : 但是在更新到8.1.0之后(抱歉我不知道Clang的哪個實際版本對應 - Apple不再發布該信息),- -ffast-math似乎打破了這 ...

是否可以使編譯器按功能使用快速運算符?

[英]Can I make my compiler use fast-math on a per-function basis?

假設我有 我想用-ffast-math (對於nvcc是--use-fast-math )來編譯一個實例,而沒有它則編譯另一個實例。 這可以通過在單獨的翻譯單元中實例化每個變體,並使用不同的命令行(使用和不使用開關)來編譯每個變體來實現。 我的問題是是否可以指示流行的編譯器( ...

使用-ffast-math編譯時AVX代碼段錯誤?

[英]AVX code segfaults when compiled with -ffast-math?

我正在嘗試使用GCC內置的simd支持編寫幾個內核。 我有這個代碼對AVX點產品內核進行基准測試: 奇怪的是,編譯時: 我第一次訪問avx_dot中的temp時遇到段錯誤。 但是,編譯時: IE,沒有-ffast-math,它運行正常。 我很困惑,因為快速數學不應該 ...

ICC 中 -fp-model fast=1 的 GCC/Clang 等價物是什么

[英]What is GCC/Clang equivalent of -fp-model fast=1 in ICC

正如我在英特爾網站上讀到的那樣: 英特爾編譯器使用 /fp-model fast=1 作為默認值。 這種優化有利於速度而不是標准合規性。 您可以使用編譯器選項 -mieee-fp 來獲取兼容代碼。 我對 ICC 中的fp-model選項的理解是(如果我錯了,請糾正我): preci ...

來自-ffast-math的gcc鏈接器行為的奇怪結果

[英]Curious result from the gcc linker behaviour around -ffast-math

我注意到在編譯器鏈接器的標志周圍有一種有趣的現象,它以我無法理解的方式影響正在運行的代碼。 我有一個庫,提供了相同算法的不同實現,以便測試這些不同實現的運行速度。 最初,我使用一對相同的實現對情況進行了測試,以檢查是否發生了正確的事情(兩者都以大致相同的速度運行)。 我首先使用以下 ...

為什么-ffast-math選項打破了我的布爾條件

[英]why -ffast-math option break my bool condition

這是導致問題的程序的關鍵部分,並且程序是完全順序的。 exist_是bool類的私有成員,而dbl_num_是class double私有成員 使用選項-ffast-math,我得到打印輸出“ 0 0 5” 沒有選項-ffast-math,我得到打印輸出“ 0 0 NAN” ...

為什么在使用快速數學時 GCC 或 Clang 沒有優化到 1 條指令的倒數

[英]Why does GCC or Clang not optimise reciprocal to 1 instruction when using fast-math

有誰知道為什么 GCC/Clang 在使用快速數學選項時不會在下面的代碼示例中樂觀地使用函數test1來簡單地使用 RCPPS 指令? 是否有另一個編譯器標志會生成此代碼? 您可以在此處查看編譯后的輸出: https : //goo.gl/jXsqat ...

如何用“ffast-math”編譯?

[英]How do I compile with “ffast-math”?

我正在嘗試對一些Rust代碼進行基准測試,但我無法弄清楚如何設置“ffast-math”選項。 % rustc -C opt-level=3 -C llvm-args='-enable-unsafe-fp-math' unrolled.rs rustc: Unknown command lin ...

gcc -Ofast - 完整的限制列表

[英]gcc -Ofast - complete list of limitations

我在我的程序中使用-Ofast gcc選項導致延遲要求。 我寫了簡單的測試程序: 我試圖用默認標志和-Ofast運行它: 所以!=和==的結果是不可信任的。 這是否意味着我應該==和!=只有當兩個值都知道不是nan時,否則我應該先測試isnan ? 是否保證isnan與 ...

任何浮點密集型代碼是否會在任何基於 x86 的體系結構中產生位精確的結果?

[英]Does any floating point-intensive code produce bit-exact results in any x86-based architecture?

我想知道使用浮點運算的 C 或 C++ 中的任何代碼是否會在任何基於 x86 的體系結構中產生位精確的結果,而不管代碼的復雜性如何。 據我所知,自英特爾 8087 以來的任何 x86 架構都使用准備處理 IEEE-754 浮點數的 FPU 單元,我看不出結果在不同架構中會有所不同的任何原因。 但是 ...


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