2017-09-02 31 views
0

我試圖減少我的FPGA的邏輯利用率,我找不到任何好的float fastpow在線。我的意思是,所用的邏輯很好的減少。如果我使用雙重版本,我會獲得一點改進。如果我使用其他依賴於日誌的浮動版本,那麼它再次很少。如果我將雙重版本更改爲浮動,我會獲得大幅減少,但由於結果非常糟糕,因此無法工作。有沒有人知道C代碼的pow近似值? (OpenCL的)Float Fastpow OpenCL

感謝

回答

1

最後,我的工作fastPow的雙版本,它的工作原理相同僅用浮點數據類型,就像這樣:

float fastPow(float a, float b) { 
    union { 
     float d; 
     int x; 
    } u = { a }; 
    u.x = (int)(b * (u.x - 1072632447) + 1072632447); 
    return u.d; 
} 
+0

不要忘了,使這個函數內聯(或靜態),否則它不會很快。 – wildplasser

+0

謝謝。對於C而言,這可能是正確的,但對於OpenCL來說可能不是。 –