GPU性能越来越强大,为何直到现在还是不能取代CPU?
2024-09-05 14:38:23
从思路上说,GPU相当于火车,一个车头带几十节车厢,一下子把成千上万吨货全给你拉目的地;CPU相当于汽车,拉货旅游样样能干。因此,如果单纯比运力,一列火车比得过成百上千辆汽车;但如果几百人有几百个目的地,你再让几十节车厢跑几百趟,把他们一个个送达……这显然就不合适了。
GPGPU不过相当于铺设了更多铁路线,使得火车也可以开到过去只有汽车可以开到的地方而已。再怎么优化,火车也是不可能优化成汽车的:成本太高(每节车厢甚至每个座位都自带发动机驾驶室驾驶员,这得是多大的浪费)、效率太低(当只有一人时,其它海量座位/运力只能闲着)。
同样,汽车也没法代替火车:过去都是单座的,后来的MMX/3D NOW/SSE指令集把汽车升级成了8座——现在,如果只需要拉一两个人,就把多余的座位拆了、座位间距拉大;需要拉更多人,又要重新安装座位、缩短座位间距(CPU执行MMX指令集需要切换模式,这个切换比较耗时;切换后类似GPU,可以并行——可怜巴巴的8字节并行都麻烦到这个程度,像GPU那样的海量并行你敢想?)。
同样,汽车也没法代替火车:过去都是单座的,后来的MMX/3D NOW/SSE指令集把汽车升级成了8座——现在,如果只需要拉一两个人,就把多余的座位拆了、座位间距拉大;需要拉更多人,又要重新安装座位、缩短座位间距(CPU执行MMX指令集需要切换模式,这个切换比较耗时;切换后类似GPU,可以并行——可怜巴巴的8字节并行都麻烦到这个程度,像GPU那样的海量并行你敢想?)。
“个性化”和“借批量提高效率”是一对矛盾,不可能两者兼顾。为了方便大家理解,小编再说一个比喻,CPU的核心是大学生,4核就是4个大学生,GPU的核心是小学生,上千个就处理器就是上千个小学生他们一起参加一场考试,试卷是一百万道四则运算和四道高数。两个小时过后,大学生奔溃了,这一百万道四则运算太多了。再看小学生,全都懵了,四则运算都做完了,剩下的数学题里面怎么全是字母?
其实我们可以想一想:CPU之所以叫CPU不是因为好听,而是取决于它设计时所针对的工作类型,GPU也是一样的道理。应用的领域和工作性质的迥然不同就导致各自结构的巨大差异。如果有一天GPU也能干CPU的活甚至可以取代CPU的时候,那个时候他也不该叫GPU了 ......所以不存在GPU取代CPU一说。就像有人问为什么不可以把手机做大取代平板呢?答:因为变大的手机叫“通话平板”(搞笑一下)。GPU性能越来越强大,为何直到现在还是不能取代CPU?以上就是小编个人的看法,对此,您有什么不同的意见吗
最新文章
- Slam(即时定位与地图构建) 知识篇
- [PHP] - 性能加速 - 开启opcache
- Mysql 之旅开始啦
- 简单的SpringMVC的测试项目----跟struts2对比着学习
- ci实现RBAC,详细解释原理和核心代码显示
- 怒刷DP之 HDU 1260
- darwin转发时,摄像机在3G和4G模式下的参数设置
- 大脑提取每一个体素26领域的matlab代码
- readystate, 异步
- vim编辑器的常见使用功能
- 处理 Vue 单页面应用 SEO 的另一种思路
- 201521123069 《Java程序设计》 第7周学习总结
- Aptana下Django1.6以后的项目模板结构改造
- hadoop集群的规划和搭建
- result源码
- Python迭代器笔记
- 实现优先级队列 --heapq模块
- FFTW3学习笔记1:VS2015下配置FFTW3(快速傅里叶变换)库
- docker的私有仓库的搭建
- RK3288 指令查看LCD分辨率
热门文章
- Java 之 ServletContext 对象
- pychrom注册码
- unity shader入门(三)逐像素光照,Blinn-Phong模型
- Linux chown命令详解使用格式和方法
- nginx的stream模块和upstream模块
- ThinkPHP模板之二
- 编程小白入门分享四:Vue的安装及使用快速入门
- 讨论---MySQL数据库中null、''、' '区别
- Python的私有变量与装饰器@property的用法
- Codeforces 1251D Salary Changing