2013-08-18 69 views
2

OpenCL編譯器選項-cl-fast-relaxed-math是做什麼的?OpenCL快速輕鬆數學

從閱讀文檔 - 它看起來像-cl-fast-relaxed-math允許內核對任何變量執行浮點運算 - 即使這些變量指向錯誤的數據類型,導致零除或其他非法行爲。

這是正確的嗎?在什麼情況下這個編譯器選項會有用?

+2

啓用-cl-finite-math-only和-cl-unsafe-math-optimizations。這兩個選項通過刪除對輸入值的一些檢查來提供附加的速度。 IE:不檢查NaN號碼。但是,如果輸入值發生爲非正常數字,則結果是未知的。 – DarkZeros

+0

DarkZeros是正確的(並且應該把它作爲答案)。此優化標誌可實現更快的數學運算,但不會更改語言規則或解析。 – Dithermaster

回答

1

從評論:

啓用-cl-有限數學只和-cl不安全的,數學的優化。這兩個選項通過刪除對輸入值的一些檢查來提供附加的速度。 IE:不檢查NaN號碼。但是,如果輸入值發生爲非正常數字,則結果是未知的。 - DarkZeros