1. 程式人生 > >CPU與GPU效能的比較報告

CPU與GPU效能的比較報告

執行時間分析

不同的模型在cpu和gpu下的時間差異較大,一般來說gpu會比cpu快5-20倍。我們選用了最常用的inception v3的分類模型,輸入圖片尺寸為:3x299x299。

GPU

在一塊P100GPU(視訊記憶體16276MiB),效能如下:

由上圖可見,隨著程序數目的增大耗時會線性增加。

所以:如果服務中在同個卡上多開程序只是服務連線/下載圖片的併發實現了併發提速(neuron框架中連線建立、下載圖片、演算法處理是併發獨立的,可近似認為互不影響);演算法的吞吐量基本不變。而且從RT角度考慮單程序較好獨佔卡(任務可以佔據Volatile GPU-Util 90%左右的情況下)。

當然,如果RT滿足要求,卡上可以同時部署其他任務。

CPU

Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz 24核伺服器下。TF預設為儘可能的佔用所有的核,真正的neuron服務也是儘可能的佔用所有的核,所以請求量大的時候RT會上升。

24核伺服器下,QPS呈現log趨勢。考慮RT,演算法可以開啟10個程序較優。此時CPU使用率已經逼近2400%。當然如果RT有限制,則採用更小的併發/更多的機器

PS:一個程序下CPU佔用率1600% 2個併發2000% 3個併發2100% 4個併發2200% 5個併發2250% 6個併發已達2280%。

CPU more

從另個角度來看,通過改變程序使用的核數統計RT值。這部分和前面CPU部分很類似。

對於這個分類任務,10核以後效能基本不會提升了(併發就到這水平了)。

如果要保證一定的RT,就要保證每個請求可以拿到足夠多的核

總結

單GPU QPS可以達到55;24核CPU的QPS可以達到24左右。但是GPU的TR要遠低於CPU,不過GPU併發數上來,RT也會線性增加。

按照目前線上一個GPU的成本約等於96個CPU核,CPU價效比還是遠優於GPU的

PS:評測中P100效能較好價格較貴、CPU E5-2620已經較為(古老)便宜了。