有人可以提出一些算法,其中多核處理器的性能優於GPU?我知道混合方法仍然會更快,但我真正想要的是瞭解GPU仍然落後於多核的領域。內核在多核上運行速度很快,但在GPU上運行速度相對較慢
1
A
回答
3
在適宜的順序從最適合最適合:
- 的GPU只能加速SIMD類型的工作負載,所以他們是任務並行操作沒有好(如使-jN)。
- 與CPU相比,GPU沒有太多緩存,它們的原子操作相對較慢;所以它們遠不如使用基於指針的結構(如樹)的CPU。
- 諸如圖像處理或計算機視覺等工作負載處於灰色區域,GPU優勢(紋理映射硬件,更多內核)可能會因CPU優勢(更好的SIMD整數支持,更高的時鐘速率)而被抵消。如果實際的處理是以浮點的方式完成的,那麼對GPU來說可能是一個沖洗或輕微的優勢;如果處理是以整數形式完成的,並且可以映射到SSE2指令,則CPU將粉碎GPU。
GPU擅長使用大量單精度浮點數據並行工作負載。
任何卸載到GPU的工作負載也會導致數據傳輸成本。
0
英特爾的一些人做了一些研究,他們在現代多核CPU和GPU上比較了科學計算。也許你覺得很有趣。第5頁的圖1顯示了結果。
Lee等人,「揭穿100X GPU與CPU誤區二:吞吐量計算的CPU和GPU的評價」: http://www.hwsw.hu/kepek/hirek/2010/06/p451-lee.pdf
相關問題
- 1. 內核在較新和「更好」的Nvidia GPU上運行速度較慢
- 2. OpenCL內核在速度更快的GPU上執行速度更慢
- 3. asp.net devexpress在Firefox上運行速度很慢,但速度很快,例如
- 4. XUnit測試在VS2017中運行速度很快,但在VSTS構建代理上運行速度很慢
- 5. 查詢在MySQL中速度很快,但從Rails運行時速度很慢ActiveRecord
- 6. JMeter運行速度很慢
- 7. TortoiseSVN運行速度很慢
- 8. Linq查詢運行緩慢,但查詢運行速度很快
- 9. CURAND運行速度較慢
- 10. Python MySQL性能:在mysql命令行中運行速度很快,但用cursor.execute運行速度很慢
- 11. 在多個GPU上運行OpenCL內核?
- 12. MySQL查詢在直接運行時速度很快,但在以存儲過程運行時速度很慢
- 13. 爲什麼第一次運行HttpClient速度很慢但速度要快得多?
- 14. 查詢運行速度很快,在UNION下緩慢運行
- 15. 存儲過程運行速度很快,但速度可能很慢
- 16. SQL查詢在大數據集上運行但速度很慢?
- 17. 功能很慢,但查詢運行速度很快
- 18. 如何加快這個代碼的運行速度,但速度很慢?
- 19. 按順序運行時SQL查詢速度慢,但在單獨運行時速度很快
- 20. Selenium Java自動化在某些機器上運行速度快,在某些機器上運行速度慢
- 21. httpclient.Execute在Android上執行速度很慢
- 22. Zend paginator運行速度很慢1.12
- 23. 的executeQuery命令運行速度很慢
- 24. lapply和do.call運行速度很慢?
- 25. 有時Webapp運行速度很慢
- 26. Oracle - 查詢運行速度很慢
- 27. 耙測試運行速度很慢
- 28. 運行速度很慢的VBA代碼
- 29. SharePoint庫查詢運行速度很慢
- 30. jQuery腳本運行速度很慢
是的,我知道指針跟蹤算法具有空間局部性的問題,而且GPU的有較小的緩存。但GPU可以通過硬件多線程來隱藏長時間的內存延遲。就浮點性能而言,GPU是優越的,基於整數的計算在多核上更勝一籌。那麼我們可以說,基於整數計算的指針追蹤算法在GPU上運行速度慢於Multicores的機率? – nurabha 2011-12-16 12:47:15