找回密码
 新注册用户
搜索
楼主: w2xcn

GPU和CPU运算能力比较

  [复制链接]
头像被屏蔽
发表于 2012-11-5 14:15:44 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2012-11-7 08:36:34 | 显示全部楼层
唉。没有大佬们的折腾劲啊。。。从始至现在,只跑WCG一个项目。里面有啥就跑啥。。。最近加了GPU包,才想换显卡算。
回复

使用道具 举报

 楼主| 发表于 2012-11-24 08:34:47 | 显示全部楼层
回复 62# 恐龙蛋


    折腾,不折腾多没意思
回复

使用道具 举报

发表于 2012-11-24 11:19:12 | 显示全部楼层
GPU 单轮浮点计算能力是比 CPU 强,但这个强是有很大局限性的。
GPU是大规模并行计算,单线程能力很弱。
有些任务是很容易分解成并行计算的,比如视频编码,可以同时对多段视频进行编码,每一段视频互不干扰,这种任务就很好并行

CPU是串行计算,单核心能力很强,有些任务如果下一步强烈依赖于上一步的结果,比如像计算:
((((x+5)*3+5)*3+5)*3) 就只能从最里面的括号一个一个的算,你找再多的核心也无法协同计算,只能单线程处理

而大多数操作系统由于需要调度,处理事件驱动等,计算绝大多数是串行的,运行在GPU上就会非常慢,所以需要CPU
回复

使用道具 举报

发表于 2012-11-25 07:24:42 | 显示全部楼层
回复 64# gameboybf2142

这个算式是有一定并行性的。

因为整数运算满足分配率 (a+b)*c = ac + bc,所以,((((x+5)*3+5)*3+5)*3) = 【并行】 ((3x+15)+5)*9+15 = 【串行】 (3x +20)*9 +15 = 【并行】 27x + 180 + 15 = 【串行】 27x + 195

这个例子正好说明,数学上很少有东西是不能并行的。但在其它领域,就不一定了,就如你提到的调度、中断等各种情况。

所以,大体上讲,CPU 适合事务型计算,GPU 适合数值型计算。
回复

使用道具 举报

 楼主| 发表于 2012-11-25 09:37:03 | 显示全部楼层
回复 64# gameboybf2142

你举的例子很好,假设((((x+5)*3+5)*3+5)*3)只能使用单线程计算,CPU能算的GPU一样能算。
而且,目前的大规模运算都是成千上万次重复计算这样的运算,所以GPU就有优势了。

GPU是从CPU里分离出来的,最早的CPU是含数学协处理器的,因为制造工艺限制,不得不分离出来。将来还会出现合并,分离。。。。。。。
回复

使用道具 举报

发表于 2013-2-11 00:22:17 | 显示全部楼层
很想知道SETI看重的是单精度还是双精度的运算能力呢 我只知道Milkyway那个AMD的双精度卡就很占优势
回复

使用道具 举报

发表于 2013-2-13 14:06:59 | 显示全部楼层
CPU党路过。。。
分少得可怜
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 新注册用户

本版积分规则

论坛官方淘宝店开业啦~
欢迎大家多多支持基金会~

Archiver|手机版|小黑屋|中国分布式计算总站 ( 沪ICP备05042587号 )

GMT+8, 2024-4-18 12:51

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表