例如求矩陣A(8 x 784) x B(784 x 1)=C(8 x 1), 此時C中的元素只有8個,是否用CPU更好?


要看什麼gpu和什麼cpu,伺服器級的cpu可以吊打入門的基本顯卡。同時還有你數據的大小,比如小矩陣運算,cpu肯定快,gpu的話還要把數據從cpu copy到上面去算,copy的時間可能和cpu算得時間一樣的。


矩陣大小不是決定因素,顯卡blas也是大矩陣拆成小矩陣計算的

關鍵是只有這一個串列計算,還是同時有很多個這樣的矩陣並行計算


不一定,小矩陣還是直接上CPU吧。

你這個矩陣乘法 如果無任何優化的話,需要 8 x 784 x 1 次乘加吧。

跟C中的元素個數少沒多大關係吧。

畢竟 PCI-E 匯流排上的延遲和內存拷貝的開銷擺在那裡。

若有錯請指出,謝謝!


是的,GPU 適合矩陣運算


感謝邀請!

對於大數據的處理場景,一般來說,GPU處理更為合適:GPU更適合海量數據的並行處理。


我來回答下吧。

GPU對於矩陣運算,肯定是快於CPU。畢竟 GPU 有專門的晶元設計去做並發計算。

不過如果某些計算量實在太小了,可能調用一個 kernel 的時間都比計算高了,那就沒有太大意義。

CPU,一般來說在深度學習中會把邏輯運算相關的操作放在 CPU 上。因為 CPU 比較擅長做邏輯運算。


推薦閱讀:
相关文章