為什麼在資料量較小的時候,CPU 計算會快於 GPU?

時間 2021-05-05 22:53:05

1樓:道窮則變

1、假定資料已經載入到主機記憶體,CPU處理資料是沒有延遲的,Gpu則需要將資料從記憶體傳輸到視訊記憶體,這裡是有延遲的。

2、CPU是針對處理複雜行為而優化的,gpu是針對處理簡單行為的大量並行執行而優化的;可以對比的是,CPU相當於一輛大卡車,可以自由裝載貨物,自由規劃道路;gpu相當於256輛三輪摩托,編為8組;每組32輛三輪只能裝載同樣的貨物,按同樣的速度,以相同步調走在相同的道路上。

3、CPU的記憶體系統是低延遲、低頻寬(相對而言);gpu的視訊記憶體系統是高延遲、高頻寬的,延遲通過海量並行處理來掩蓋。以上。

2樓:IseesI

多方面原因,我自己感覺也跟CPU裡面的cache有關。尤其資料量比較小的時候,CPU裡面的Cache幫助很大,而對於GPU,本身是靠大量的並行運算來隱藏訪存的延時,當資料量小的時候,可以並行的運算量不夠,導致整體效率不高(受訪存延時制約)。

3樓:小乖他爹

呼叫GPU本身比呼叫CPU去處理多了一些資料轉移的時間,從CPU到GPU,再從GPU回到CPU。資料量小的時候,GPU本身的優勢沒體現出來,而這些時間成本凸顯了,所以CPU更快。資料量大了之後,GPU節省的時間多了,這些時間成本自然就被抵消了。

另外,CPU處理邏輯運算比GPU有優勢,資料量沒大到一定程度,CPU有優勢也算是正常。

4樓:

舉個比較簡易的例子:

cpu: N個人通過1條可以路;

gpu: N分成n個小組,每個小組的人通過對應的路;

當N比較小的時候,全部走一條路速度已經很快了; 此時,如果用GPU,還需要考慮N個人分組、排列操作,速度就慢下來了。

為什麼 CPU 不能直接對記憶體中的資料進行運算?

木頭龍 通俗一點是麼?這麼說吧,記憶體這東西其實並非是一定需要的。畢竟根本上資料是存放在外存 硬碟 光碟 上的。所以歸根結底,我們是需要對硬碟上的資料進行運算。那麼舉個例子來說明一下CPU要對硬碟上兩個資料的運算 你現在在新疆的大草原上的科研站裡面,然後寫到編號2468的書裡面第52頁紙上。當然,你...

為什麼在2023年的時候消費級的 CPU 和主機板最大只支援 32 GB 記憶體?

小孩吹泡泡 我的筆記本最大支援64G,我也是看到大部分寫的支援到16G,不知道什麼標準。現在用的16G,基本上很少能把使用記憶體使用到10G以上的,只是好奇什麼做的限制 楊一 準確來說,是DDR3一般侷限於32g,但x79 甚至x58這樣的老傢伙 都可以擴充套件到更大的記憶體,ddr3目前市面上普通...

為什麼伊涅斯塔的偉大無法在資料上表現出來?

ALLTOOWELL 世界盃冠軍 歐洲盃冠軍 歐冠冠軍 西甲冠軍。數不清的團隊榮譽 梅羅並肩10年最佳,小白恐怕是長期唯一乙個最有挑戰性的大師。 半年才能改名字 是時候祭出我收藏的圖了 歐冠對我車,隔了半場預判出滕森的橫穿,完成搶斷並助攻西西扳平 你身體素質比我好又怎樣,我一樣可以開天眼 Bilib...