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部分很相似。io

對於這個分類任務,10核之後性能基本不會提高了(併發就到這水平了)。下載

若是要保證必定的RT,就要保證每一個請求能夠拿到足夠多的核

總結

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

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

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

相關文章
相關標籤/搜索