同一張GPU執行多個程式速度會變慢嗎?

時間 2021-05-08 07:08:51

1樓:

GPU不止有視訊記憶體這個資源。視訊記憶體用的很少,但alu/cache用的很多的情況下,跑多個例項效能的確會比較低。

乙個GPU跑五個例項的話可以試試用MPS,不用MPS的話GPU是分時共享的。用了MPS的話所有例項都會在乙個context裡。少了context switching也可以提高效能。

樓主之前單卡跑乙個網路訓練的效能其實可能不是最優的,這種情況下有乙個辦法提高效能,就是用docker+mps。在主機裡起5個docker+mps server,每個docker通過MPS server和其他五個例項共享八張顯示卡。這樣效能可能會好一些。

2樓:Bluebear

一般是會慢的。

只有在每個graphdef都在不同的SM上,記憶體視訊記憶體拷貝不瓶頸,計算也侷限在各自SM內估計不會產生影響,但是幾乎不會出現,除非網路一層很窄,然後人工干預了在gpu請求資源(你去干預深度學習框架)。

實際上一般請求應該會全卡SM都用了,然後每個模型計算的時候把所有SP流處理器都給用了,換到另乙個graphdef就需要切換下計算核,然後5個模型每次計算的時候需要頻繁的上下文切換類似FGMT細粒度多執行緒得了,但是黃卡差不多每次計算的延遲是4cycle,正常計算時流水線化掩蓋了這個延遲,如果切換很頻繁overhead開銷很大,所以影響很大,當然cache沒命中還要去顯訪問的延遲就更恐怖了。在伏特的TITAN V引入了GPR代替PC的設計,還有整數浮點分離等等加強了通算能力,如果做針對性優化應該會有一定提公升(大概,但得有人做)。

當然更簡單的法子是使用nv的顯示卡虛擬化技術管理,然後分幾個VGPU,每個模型在VDI環境下工作,這樣就能完整發揮一張卡的能力,而不至於在context切換中開銷很大了。(虛擬化黃卡貴,另外完全發揮效能還是比單卡跑乙個模型慢,只是分配更均衡外加減少一些開銷)

另外GPU保留一部分視訊記憶體沒用,如果用到11G怕是已經用了記憶體當共享視訊記憶體,記憶體視訊記憶體拷貝通過PCIE挺慢的……

3樓:曲曉峰

你可以看一下顯示卡利用率,如果乙個模型一張卡利用率很低,可以把多模型放到一張卡上跑。

一般來說,只要不需要等 CPU 操作,顯示卡利用率和視訊記憶體佔用率總有乙個會到極限的。在你這,視訊記憶體明顯不是瓶頸,那顯示卡利用率應該都是滿的。這樣多模型在單卡跑,一定會慢的。

可以識別一張影象多個物體的深度學習教程?

王哲 上面的回答都已經很明白啦!題主想做的事目標檢測,這裡面包含了目標定位 那個框 和識別 框裡是啥 所以繼續安裝檢測的路子走下去就好了。 你找到的和你想找的是物體識別的兩個不同的分支。中文有時候比較容易誤導,如果用英文名稱就很容易區分了。輸入一整張影象,然後判斷這張影象是什麼物體 你說的這個是ob...

Dota和lol英雄同一張地圖對抗結果怎樣?

英俊的竄天猴 雖然我玩lol,但是當初陪前男友打了幾把dota一陣一陣的覺得dota的英雄厲害得像bug一樣 前男友最喜歡玩卡爾,真的強得一比,還有dota裡的風暴之靈,滿地圖亂竄,就是電耗子e的max版啊,各種bug英雄bug技能,感覺lol裡的英雄真的打不過 洗貓 非引戰 引了就引了吧,來咬我啊...

睡過同一張床會不會被傳染上蝨子?

胡小葵a 機率很大,尤其是睡的是同乙個方向機率更大 如果你怕自己會染上蝨子的話,建議你去買個這種加密的篦子,不太建議你去買那種塑料篦子,因為那種塑料的容易斷,這種木的會稍微結實一些 買到篦子以後,就開始用這個東西梳頭髮,梳一次你看一下篦子上有沒有蝨子或那種白色的會響的那種白色小尖球 俗稱劑子,那是蝨...