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已经较为(古老)便宜了。
CPU与GPU性能的比较报告的更多相关文章
- CPU VS GPU(性能调优 12.1)
CPU VS GPU 关于绘图和动画有两种处理的方式:CPU(中央处理器)和GPU(图形处理器).在现代iOS设备中,都有可以运行不同软件的可编程芯片,但是由于历史原因,我们可以说CPU所做的工作都在 ...
- CPU和GPU性能对比
计算20000次10000点的fft,分别使用CPU和GPU,得 the running time of cpu is : 2.3696s the running time of gpu is : 0 ...
- GPU性能越来越强大,为何直到现在还是不能取代CPU?
从思路上说,GPU相当于火车,一个车头带几十节车厢,一下子把成千上万吨货全给你拉目的地:CPU相当于汽车,拉货旅游样样能干.因此,如果单纯比运力,一列火车比得过成百上千辆汽车:但如果几百人有几百个 ...
- 浅谈CPU和GPU的区别
导读: CPU和GPU之所以大不相同,是由于其设计目标的不同,它们分别针对了两种不同的应用场景.CPU需要很强的通用性来处理各种不同的数据类型,而GPU面对的则是类型高度统一的.相互无依赖的大规模数据 ...
- 主流手持设备GPU性能比较
设备 GPU CPU 每秒像素填充率 每秒三角形生成 内存 iPhone4 PowerVR SGX 535 ARM Cortex-A8 800M 512M iPod touch 4 Power ...
- mongodb3.0 性能測试报告 一
mongodb3.0 性能測试报告 一 mongodb3.0 性能測试报告 二 mongodb3.0 性能測试报告 三 測试环境: 服务器:X86 pcserver 共6台 cpu: 单颗8核 ...
- CPU和GPU的区别
个人认为CPU和GPU各有自己的适应领域.CPU(Central Processing Unit)计算核心较少,通常是双核.四核.八核,但是拥有大量的共享缓存.预测.乱序执行等优化,可以做逻辑非常复杂 ...
- 深度学习硬件:CPU、GPU、FPGA、ASIC
人工智能包括三个要素:算法,计算和数据.人工智能算法目前最主流的是深度学习.计算所对应的硬件平台有:CPU.GPU.FPGA.ASIC.由于移动互联网的到来,用户每天产生大量的数据被入口应用收集:搜索 ...
- [CB]Intel 2018架构日详解:新CPU&新GPU齐公布 牙膏时代有望明年结束
Intel 2018架构日详解:新CPU&新GPU齐公布 牙膏时代有望明年结束 北京时间12月12日晚,Intel在圣克拉拉举办了架构日活动.在五个小时的演讲中,Intel揭开了2021年CP ...
随机推荐
- Git 基本命令行操作
一.本地仓库操作 1.初始化 git init 2.添加版本控制文件 git add README.md3.本地提交 git commit -m “1st commit”4.配置远程 ...
- ;(function(){ //代码})(); 自执行函数开头为什么要加;或者!
我们有时候会在自执行函数中看到这样的代码;(function(){ //我们的代码.. alert('Hello!'); })(); !(function(){ //我们的代码.. alert('He ...
- [tem]最长上升子序列
Longest Increasing Subsequence(LIS) 一个美丽的名字 非常经典的线性结构dp [朴素]:O(n^2) d(i)=max{0,d(j) :j<i&& ...
- 小型资源管理器之动态添加TreeView节点
FrmMain主界面 using System; using System.Collections.Generic; using System.ComponentModel; using System ...
- [CSAcademy]Or Problem
[CSAcademy]Or Problem 题目大意: 一个长度为\(n(n\le2\times10^5)\)的序列\(A(0\le A_i<2^{20})\),将其分为恰好\(m\)个连续段, ...
- node加密
var crypto = require('crypto'); //md5加密 exports.md5 = function (str) { var md5sum = crypto.createHas ...
- error: RPC failed
error: RPC failed error: RPC failed; curl 56 GnuTLS recv error (-54): Error in the pull function. fa ...
- [BZOJ3339]Rmq Problem / mex
Description: 有一个长度为n的数组{a1,a2,-,an}.m次询问,每次询问一个区间内最小没有出现过的自然数. Hint: \(n \le 2*10^5\) Solution: 主席树好 ...
- web界面直连MySql数据库
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding= ...
- java内存配置举例
常见配置举例 堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制:系统的可用虚拟内存限制:系统的可用物理内存限制.32位系统下,一般限制在1.5G~ ...