2011-06-21 64 views
0

當在ipad1和ipad2上測試NEON指令時,我注意到ipad2上的代碼幾乎沒有加速,其中大多數函數實際上在ipad2上運行得比在ipad1上快得多。ipad2霓虹燈浮點速度與ipad1

這是像VMUL,VLD1,VADD和VSUB等使用像q0這樣的四字寄存器的指令用於諸如FFT之類的指令。

另外我注意到蘋果自己的FFT函數vdsp_fft_zrip也沒有爲ipad2加速。

所以問題是,ipad2 NEON執行比ipad1 NEON引擎更快的四字SIMD類型指令嗎?

+1

StackOverflow中的「VFP」標記指示「Visual FoxPro」;你可能想從你的問題中刪除。 –

回答

0

甚至在最近推出的64位ARM上,NEON也會保持不變。

NEON不會從增加時鐘速度中獲益太多。 NEON已經如此之快,以至於大部分的功能執行時間都在等待內存中的數據。

+1

寫得不錯的NEON代碼不應該花費大部分時間來等待數據。如果您發現自己處於這種狀況,請尋找方法來處理您正在加載的數據。 –

+0

@StephenCanon這就是理論。在現實中,記憶比你想要的要慢得多。我寫得很好的圖像縮放例程,具有零危險和雙重問題 - 無處不在 - 可能的調度運行速度與memcpy一樣快,並且它花費大部分執行時間來等待內存中的數據。 –

+0

當然,這完全有可能。但是,如果圖像縮放代碼可以與圖像切片上的其他操作結合使用,以便數據來自L1緩存而不是內存,那麼您不會(通常)看到這種效果。 –

1

與其他核心相比,A4上的NEON單元非常強大。 A5的核心其餘部分比A4有很大的改進,但是NEON的性能或多或少沒有變化。預計你會觀察到什麼。

當然,現在有兩個內核,所以如果你可以利用它們兩個,你仍然可以看到顯着的加速。另外,A5上的雙精度計算是,由於它現在已完全流水線化,所以極大地改進了