為什麼GPU運算時間的增長不是線性的?

時間 2021-06-01 10:54:25

1樓:tcj

先看是不是,再看為什麼。不是特別理解「在乙個核函式中申請1000個執行緒不變,1-10個執行緒塊」的意思,維持1000個執行緒不變是不是代表執行緒總數不變,那問題就變成相同計算量下,blocksize不同導致的計算時間不同。

另外,SM佔用率不會是100%,但理論佔用率(Theoretical occupancy)可能是100%,這主要取決於每個warp(或執行緒)使用的資源量(share memory、register),使用CUDA Toolkit中的CUDA Occupancy Calculator可以計算出來。

印象裡非線性增加的只有這種情況,在單純計算量增加時應該是線性增加的。

2樓:林欣甜

我做深度學習,有類似的問題。比如batch size從256到512到1024,運算時間大約是1,1.1,2.

2這樣子。我的猜測是和gpu的核心數之類的有關,並行任務的數量小於這個核心數時,可以平行計算,用時幾乎不增加。大於核心數時,可能會「分兩批算」,用時幾乎翻倍,所以是階梯式增長的。

以上是我個人瞎猜。等乙個大佬。

為什麼 CPU 的浮點運算能力比 GPU 差,為什麼不提高 CPU 的浮點運算能力?

以前CPU弱,要是搞個浮點數運算的協處理器,運算速度跑的飛起。當然了,如果真為了計算,CPU一樣可以把ALU搞的很強大,不過沒必要。畢竟術業有專攻嘛,CPU主要是流程控制,而不是計算,然而GPU在處理光線之類的渲染的時候,會做大量的計算工作。 chapman zhang CPU是大學生,乙個大學生一...

打遊戲主要吃GPU核心運算,為什麼顯示卡生產商不通過降低視訊記憶體容量的方式來防止被挖礦?

降容量和視訊記憶體位寬速度什麼的對效能影響也很大的即使不能挖礦玩遊戲也不會好的哪兒玩家也不會買賬的 況且廠家才不是真心限制挖礦,他們巴不得幣價大漲,挖礦熱潮一波接一波,顯示卡賣的風生水起,賣給誰不是賣?就個人玩家那點消費能力怎麼和礦主爸爸比。 f151618 現在為了提高遊戲體驗,顯示器往往使用的是...

為什麼要用GPU來訓練神經網路而不是CPU?

小M同學 GPU在浮點數的運算上要快於CPU。神經網路訓練往往需要處理大量的資料,GPU高效能會節省訓練的時間。而且選擇 GPU 還需要考慮視訊記憶體的大小。推薦選擇視訊記憶體大於 8GB 的 GPU,這一點很重要,因為在執行大型神經網路時,系統預設將網路節點全部載入視訊記憶體,如果視訊記憶體不足,...