當前位置: 華文問答 > 數碼

GPU填充視訊記憶體的最快速度和CPU填充記憶體的最快速度比是不是快很多,具體快多少?

2021-10-16數碼

「速度」二字其實就暴露了業余身份。但是業余沒啥,術業有專攻。

如果只是填充幾個字節,論速度很可能是CPU快。

但是如果是填充幾十MB幾GB這種量級,GPU快的可能性很大。

這裏的「快」,指從開始寫出第一個數據,到全部數據寫入目標儲存的時間。

造成這種差異的主要原因在於,通常CPU所使用的DDR,是按照高穩定、低遲延、低頻寬設計的。現代CPU雖然有的時候也用來進行大數據的處理,但是更多時候是用於控制。單命令處理的數據量相對較小,因此不需要很高的頻寬,但是要低延遲。

打個比方的話,就好像家裏客廳到臥室的過道,不寬,但是距離短。

而GPU的套用場景主要是大量數據的相對簡單的處理,而且是高並列處理。所以與GPU配對使用的GDDR,是按照高頻寬、高延遲、相對低穩定性來設計的。

打個比方的話,就好像連線家和學校的馬路。路寬,但是路遠。

所以,如果只是寫少量數據,那麽這個時候延遲起絕對作用,延遲低的勝出,也就是CPU+DDR勝出。

但是如果要寫大量數據,那麽這個時候路寬的可以開大卡車,但是路窄的只能走人。延遲就不再是決定性因素,頻寬變為瓶頸。從而GPU+GDDR勝出。

目前,桌面級別的CPU和記憶體的頻寬,在小幾十GB/s,這個量級。而GPU和視訊記憶體之間的頻寬,在幾百GB/s這個量級。兩者之間差不多有將近10倍的差別。

不過GPU為了支持並列,對於視訊記憶體的分頁以及對齊等等有諸多要求。如寫出數據時不能很好滿足這個要求,效能會飛速降低,以至於只有原本的1/10左右,都是可能的。