你覺得呢?什麼會更快,速度更快:在GPU或CPU(多線程)上執行稀疏矩陣(CSR)乘法(使用向量)?GPU或CPU上的稀疏矩陣乘法?
回答
它取決於矩陣的大小和需要執行的迭代次數。這是因爲您需要將矩陣數據從CPU內存複製到GPU內存,並將GPU的結果複製回CPU。如果你要在矩陣上只執行一次迭代,那麼在CPU上執行它總是更好,而不是在GPU上執行。而且,GPU有啓動時間的問題。所以,如果你有更多的迭代要執行,那麼去GPU,否則我的選擇將是CPU。同樣,由於數據複製,矩陣的大小也會影響性能。
我的猜測是GPU的實現不會有太大的收穫,因爲你沒有那種可以實現並行處理的同類數據結構。
嗯我認爲你是對的,但像往常一樣有使用GPU的情況下會贏。並行考慮許多矩陣運算。在CPU上,受限於內核數量,而這些內核的數量通常會少於GPU。 但是,GPU上的雙精度數學性能通常不如浮點運算那麼快。所以這也取決於這一點。 – GorillaPatch 2010-08-10 10:39:34
@GorillaPatch:是的,除了最新的nVidia GPU之外,所有的nVidia GPU都具有相當差或不存在的雙精度性能,即使如此它仍然比單精度慢2倍。要在GPU上獲得巨大勝利,理想情況下需要使用單精度浮點數,並且您的算法需要高度並行化。 – 2010-08-10 13:50:38
我認爲veda擊中了它的頭。我絕不是這方面的專家,但我相信在使GPU工作方面存在開銷,並且如果計算的大小不夠大,GPU處理的成本就會失去開銷。然而,如果你有像角色骨架這樣的有很多矩陣相乘的東西,那麼這將更適合GPU。我目前也在爲我的一個項目研究這些事情。
- 1. 稀疏矩陣 - 矩陣乘法
- 2. 稀疏矩陣乘法的Theano梯度
- 3. Matlab有效的稀疏矩陣乘法
- 4. SciPy的稀疏矩陣乘法
- 5. Java中的稀疏矩陣乘法
- 6. 稀疏矩陣,鏈表的乘法
- 7. 與本徵稀疏矩陣乘法
- 8. 稀疏矩陣乘法結構
- 9. 稀疏矩陣乘法執行時間
- 10. Tensorflow中批量稀疏矩陣乘法
- 11. 矩陣(scipy稀疏) - 矩陣(密集; numpy陣列)乘法效率
- 12. 用稀疏矩陣乘二次形式矩陣的算法
- 13. Open MP:稀疏矩陣的對稱矩陣乘法
- 14. 稀疏矩陣的乘積列元素
- 15. 稀疏矩陣
- 16. 本徵稀疏矩陣乘法似乎計算全矩陣
- 17. 稀疏矩陣乘法涉及倒數矩陣
- 18. Numpy matrix乘積 - 稀疏矩陣
- 19. 相乘兩個非稀疏矩陣
- 20. 使稀疏矩陣快速地相乘
- 21. 稀疏矩陣和矩陣
- 22. 通過稀疏矩陣乘以密集矩形矩陣
- 23. 稀疏矩陣乘法只計算上三角形
- 24. 以稀疏矩陣
- 25. 50Kx50K稀疏矩陣
- 26. 稀疏三元組稀疏矩陣matlab
- 27. 確定稀疏矩陣的稀疏性(Lil矩陣)
- 28. PageRank計算矩陣向量乘積的稀疏矩陣
- 29. 多GPU上的稀疏矩陣矢量產品
- 30. 用極稀疏矩陣乘法的最快方法是什麼?
Bell et al。 「CUDA上的高效稀疏矩陣 - 矢量乘法」具有以下答案:在GPU上計算速度更快。 – Dirk 2013-02-01 14:37:05