fast-math

    3熱度

    1回答

    我在我的程序中使用-Ofast gcc選項導致延遲需求。我寫了簡單的測試程序: #include <iostream> #include <math.h> static double quiet_NaN = std::numeric_limits<double>::quiet_NaN(); int main() { double newValue = 130000;

    2熱度

    2回答

    我編譯下面的代碼與-ffast-math選項: #include <limits> #include <cmath> #include <iostream> int main() { std::cout << std::isnan(std::numeric_limits<double>::quiet_NaN()) << std::endl; } 我得到0作爲輸出。我的代碼如

    4熱度

    2回答

    我正在使用Visual Studio 2013附帶的默認C++編譯器(我想它叫做「Visual Studio C++編譯器」),標誌爲/Ox (Full Optimization)。由於浮點副作用,我必須在使用gcc編譯器時禁用-ffast-math標誌。在Visual Studio C++編譯器的配置中是否有與此標誌等效的選項?

    1熱度

    1回答

    我正在嘗試使用GCCs內建simd支持編寫幾個內核。當編譯 #include <time.h> #include <stdio.h> #include <assert.h> #include <stdint.h> #include <stdlib.h> #include <unistd.h> // define rtdsc instruction static __inline__

    0熱度

    2回答

    假設我有 template <bool UsesFastMath> void foo(float* data, size_t length); ,我想編譯一個實例與-ffast-math(--use-fast-math爲NVCC),以及其他的實例化離不開它。使用和不使用開關 - 這可通過實例化每個變體在一個獨立的翻譯單元,並用不同的命令行編譯他們每個人來實現。 我的問題是,是否可以向流行的編譯

    4熱度

    1回答

    我對CUDA編程指南進行了快速瀏覽,使用了快速數學優化,雖然附錄C提到將轉換爲內部函數但不提及乘法。我問這個問題的原因是,我的內核有很多乘法。我知道NVCC會嘗試融合乘法和加法(當使用常規'*'和'+'運算符,並且內在函數從不合併到FMAD運算中時)。但是,如果我的代碼是繁重的,那麼如果使用像內部使用的類似__fmul_rn這樣的四捨五入的SP,會有好處嗎? 因此,有兩個問題: 是否-use-快速

    2熱度

    1回答

    OpenCL編譯器選項-cl-fast-relaxed-math是做什麼的? 從閱讀文檔 - 它看起來像-cl-fast-relaxed-math允許內核對任何變量執行浮點運算 - 即使這些變量指向錯誤的數據類型,導致零除或其他非法行爲。 這是正確的嗎?在什麼情況下這個編譯器選項會有用?

    -2熱度

    1回答

    任何人都可以幫助我理解-ffast-math選項在使用gcc編譯時會做什麼。在執行-O3和-ffast-math時,我發現程序執行時間相差20秒,而使用-O3相比,我只看到了0秒的差距。