2011-12-15 94 views

回答

3

在適宜的順序從最適合最適合:

  • 的GPU只能加速SIMD類型的工作負載,所以他們是任務並行操作沒有好(如使-jN)。
  • 與CPU相比,GPU沒有太多緩存,它們的原子操作相對較慢;所以它們遠不如使用基於指針的結構(如樹)的CPU。
  • 諸如圖像處理或計算機視覺等工作負載處於灰色區域,GPU優勢(紋理映射硬件,更多內核)可能會因CPU優勢(更好的SIMD整數支持,更高的時鐘速率)而被抵消。如果實際的處理是以浮點的方式完成的,那麼對GPU來說可能是一個沖洗或輕微的優勢;如果處理是以整數形式完成的,並且可以映射到SSE2指令,則CPU將粉碎GPU。

GPU擅長使用大量單精度浮點數據並行工作負載。

任何卸載到GPU的工作負載也會導致數據傳輸成本。

+0

是的,我知道指針跟蹤算法具有空間局部性的問題,而且GPU的有較小的緩存。但GPU可以通過硬件多線程來隱藏長時間的內存延遲。就浮點性能而言,GPU是優越的,基於整數的計算在多核上更勝一籌。那麼我們可以說,基於整數計算的指針追蹤算法在GPU上運行速度慢於Multicores的機率? – nurabha 2011-12-16 12:47:15

0

英特爾的一些人做了一些研究,他們在現代多核CPU和GPU上比較了科學計算。也許你覺得很有趣。第5頁的圖1顯示了結果。

Lee等人,「揭穿100X GPU與CPU誤區二:吞吐量計算的CPU和GPU的評價」: http://www.hwsw.hu/kepek/hirek/2010/06/p451-lee.pdf

相關問題