从思路上说,GPU相当于火车,一个车头带几十节车厢,一下子把成千上万吨货全给你拉目的地;CPU相当于汽车,拉货旅游样样能干。因此,如果单纯比运力,一列火车比得过成百上千辆汽车;但如果几百人有几百个目的地,你再让几十节车厢跑几百趟,把他们一个个送达……这显然就不合适了。
GPGPU不过相当于铺设了更多铁路线,使得火车也可以开到过去只有汽车可以开到的地方而已。再怎么优化,火车也是不可能优化成汽车的:成本太高(每节车厢甚至每个座位都自带发动机驾驶室驾驶员,这得是多大的浪费)、效率太低(当只有一人时,其它海量座位/运力只能闲着)。
同样,汽车也没法代替火车:过去都是单座的,后来的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?以上就是小编个人的看法,对此,您有什么不同的意见吗

最新文章

  1. Slam(即时定位与地图构建) 知识篇
  2. [PHP] - 性能加速 - 开启opcache
  3. Mysql 之旅开始啦
  4. 简单的SpringMVC的测试项目----跟struts2对比着学习
  5. ci实现RBAC,详细解释原理和核心代码显示
  6. 怒刷DP之 HDU 1260
  7. darwin转发时,摄像机在3G和4G模式下的参数设置
  8. 大脑提取每一个体素26领域的matlab代码
  9. readystate, 异步
  10. vim编辑器的常见使用功能
  11. 处理 Vue 单页面应用 SEO 的另一种思路
  12. 201521123069 《Java程序设计》 第7周学习总结
  13. Aptana下Django1.6以后的项目模板结构改造
  14. hadoop集群的规划和搭建
  15. result源码
  16. Python迭代器笔记
  17. 实现优先级队列 --heapq模块
  18. FFTW3学习笔记1:VS2015下配置FFTW3(快速傅里叶变换)库
  19. docker的私有仓库的搭建
  20. RK3288 指令查看LCD分辨率

热门文章

  1. Java 之 ServletContext 对象
  2. pychrom注册码
  3. unity shader入门(三)逐像素光照,Blinn-Phong模型
  4. Linux chown命令详解使用格式和方法
  5. nginx的stream模块和upstream模块
  6. ThinkPHP模板之二
  7. 编程小白入门分享四:Vue的安装及使用快速入门
  8. 讨论---MySQL数据库中null、''、' '区别
  9. Python的私有变量与装饰器@property的用法
  10. Codeforces 1251D Salary Changing