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 ...
随机推荐
- Err.number错误号和可捕获的 Microsoft access 数据库引擎和 DAO错误说明
错误码 信息2420 数字语法错误2421 日期语法错误2422 字符串语法错误2423 ‘.’.‘!’.或 ‘()’的使用无效2 ...
- c++ STL 数据结构底层结构
+ STL 的实现: 1.vector 底层数据结构为数组 ,支持快速随机访问 2.list 底层数据结构为双向链表,支持快速增删 3.deque 底层数据结构为一个中央控制器和多个缓冲区,详细见ST ...
- Cisco 12系列 AP 初始化配置-2-初始化配置
用于SSH登陆这个设备 bridge irb bridge 1 route ip 开启路由功能 interface BVI1 ip address 10.15.106.44 255.255.255. ...
- 潭州课堂25班:Ph201805201 爬虫高级 第十二 课 Scrapy-redis分布 项目实战 (课堂笔记)
建代理池, 1,获取多个网站的免费代理IP, 2,对免费代理进行检测,>>>>>携带IP进行请求, 3,检测到的可用IP进行存储, 4,实现api接口,方便调用, 5,各 ...
- Hibernate的核心接口
Hibernate5个核心接口 所有Hibernate应用中都会访问Hibernate的5个核心接口 Configuration接口:配置Hibernate,根启动Hibernate,创建Sessio ...
- node cluster模块,仿多线程并发调用,
worker.js var cluster = require('cluster')function fibo(n) { return n == 0 ? 0 : n > 1 ? fibo(n - ...
- C++ Primer 与“类”有关的注意事项总结
C++ 与"类"有关的注意事项总结(一) 1. 除了静态 static 数据成员外,数据成员不能在类体中被显式地初始化. 例如 : class First { int memi = ...
- numpy快速入门
numpy快速入门 numpy是python的科学计算的核心库,很多更高层次的库都基于numpy.博主不太喜欢重量级的MATLAB,于是用numpy进行科学计算成为了不二选择. 本文主要参考Scipy ...
- django生产环节部署
在linux下安装mysql yum install mysql-server mysql -u root(安装完后,你的root账户是没有密码的.所以你可以直接使用这条命令,就可以登陆控制台了) 如 ...
- F - 质数检测 V2
https://vjudge.net/contest/218366 Java解 import java.math.BigInteger; import java.util.Scanner; publi ...