引用:
作者vampire
3470 4核心, 你用的是8核
要知道一個問題 你如何得知90%的效能花在浮點計算?
以常識來說 這幾乎不可能 尤其你使用的是delphi
再忙碌FPU跟CPU的比率 很難超過60%以上
想超過這個瓶頸 必須在busy loop動手腳才能辦到
原因在於迴圈跳躍的動作 遠比想像中的緩慢
通常加速的方式 就是 一個loop中 寫入8份的計算, 這樣loop的跳躍次數只需要8分之1
|
看了一下你說的東西感覺不太對勁
我是說計算時間90%在LU分解啊
至於你說的東西是這個吧?
循環展開
看了下作法大概沒辦法實作就是了,因為for的次數不是固定的就很難處理展開式,編譯器...大概也不支援動態展開
LOOP會造成執行效率低下我知道了,但是兩邊loop數量都是一樣的(同個程式)
那造成速度差異的部分不就剩多執行緒LU分解中的加減乘除性能和讀寫RAM
以及同時處理的執行緒數量?