POPPUR爱换

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

搜索
楼主: Elvis
打印 上一主题 下一主题

您认为CUDA技术最终能让我们电脑发展走向GPGPU计算时代吗?[NVIDIA达人挑选赛]

[复制链接]
161#
发表于 2009-7-9 21:54 | 只看该作者
CUDA 做双精度计算已经是1/8 了,如果再做软件解决,微指令集软计算大致1/7,最后可能比CPU 还要慢很多。
其实目前CUDA 的理论峰值性能很大程度是虚的,一个MA 计算是两个OP,通用计算很难用MA 的,这就打了对折了,再考虑到SPMD MIMD 这样的模式,打折就更多了。
举个简单的例子,TSUBAME 增加了170台Tesla 1070,但是双精度Linpack 仅仅不到是10TFlops,折合一台1070 的贡献是58GFlops,相当于什么呢?要低于一个两路4核Xeon 的水平。
回复

使用道具 举报

162#
发表于 2009-7-9 21:57 | 只看该作者
首先我们要肯定NV在推动GPU参与通用计算方面,做出来很大的贡献,而异构计算在大型、密集计算当中应该是大方向,这个也是目前业界公认的。几家大公司,Intel,AMD,NV都向这个方向走。
回到论题,是cuda是否能让我们电脑走向GPGPU。那么这个是什么意思?大概应该是说以后的电脑是否都需要GPGPU的运算能力,而且市场的主流是NV的cuda,当然应该不是现在这种构架的GPU,应该是指不断进步当中的cuda。
要占领市场,第一要点当然是得有这个市场才行。从目前来看,个人PC,绝大部分人(游戏发烧友,工作站除外,比例也不是很大)完全不需要GPGPU这种庞大运算能力。根本没这个市场。我个人看法是,以后PC市场会呈现明显的两极分化,个人电脑往便携,低耗能发展,其利润应该也比现在要低很多,看这几年的发展,其实已经有这个趋势了。而由ZF和大公司建造的大规模计算中心规模越来越大,越来越多。
如果说个人pc没这个市场,那么主要比拼的市场,应该在服务器市场。NV从目前来说,根本无法和Intel和AMD抗衡。可以说,NV目前在服务器市场完全没有任何地位。Intel和AMD目前都自己在推异构计算,服务器市场能给NV机会吗?有待观察……我看不乐观。
综上,我的观点是,个人pc应该走向便携可移动方向,GPGPU主要在大规模计算中心使用,估计NV占不到太多便宜。
如果NV专心搞搞上网本和移动便携设备,估计更有钱途…………
回复

使用道具 举报

163#
发表于 2009-7-10 08:51 | 只看该作者
本帖最后由 贵甲 于 2009-7-10 08:58 编辑
140# arnew  

32位 和 64 位 等等只系硬件的数据表示, 在高级语言上(软件层)可以实现128位甚至更高位的数据类型,譬如mathlab,mathmaticas 等数学软件的编程上。
tyro 发表于 2009-7-9 21:05


mathlab,mathmaticas 我记得也说过要支持cuda 但后来看见个demo 就没有下文了

技术部分可行 但没有人支持
回复

使用道具 举报

164#
发表于 2009-7-10 10:56 | 只看该作者
160# 玉清

是啊, CUDA 适合计算密度很大的编程模型,而且子任务的相关性较低。你说的分支就是相关性当然会影响性能,时线程同步和互斥也会影响。

这个也是GPU和CPU在硬件上的区别,GPU以大多数的晶体管来实现运算单元。而CPU则有较多是逻辑电路用于控制单元和高速缓存。
回复

使用道具 举报

165#
发表于 2009-7-10 10:59 | 只看该作者
161# arnew

现在大位数的运算要用软件实现,如果要硬件实现那么可能在大型机上,这样成本太高,而且通用性一般
回复

使用道具 举报

166#
发表于 2009-7-10 11:35 | 只看该作者
CPU和GPU 不能互代替,两个在不同的方向上发展。不过近年人们对视觉计算,图形性能的要求 较高。

CPU在硬件方面的发展的确遇上了瓶颈,譬如intel的上代旗舰U的和现在I7综合性能相差不到50%(QX9770和i7 965/975),但是nv/AMD 近期GPU,每代的提升都差不多接近100%。CPU的频率较难提升,在系统结构层面上的改进的成效也不太大。这样只能“横向”发展,多核! i7的高端系列更回归了超线程技术。intel视乎也学amd的HT3.0那样可以通过QPI总线组成分布式系统,这也体现CPU也像“横”发展。 这和GPU类似,只不过GPU处理的是更轻量级线程。
回复

使用道具 举报

167#
发表于 2009-7-10 12:49 | 只看该作者
显示芯片的运算单元数量很多,因此对于不能高度并行化的工作,所能带来的帮助就不大。

显示芯片通常不具有分支预测等复杂的流程控制单元,因此对于具有高度分支的程序,效率会比较差。

因此,最适合利用 CUDA 处理的问题,是可以大量并行化的问题,才能有效隐藏内存的 latency,并有效利用显示芯片上的大量执行单元。使用 CUDA 时,同时有上千个 thread 在执行是很正常的。因此,如果不能大量并行化的问题,使用 CUDA 就没办法达到最好的效率了。

我们都知道AMD的FUSION架构,通俗的说就是CPU+GPU的合成架构。目的很简单,简单的说就是在需要执行量化thread的时候的时候让其中的GPU核心部分执行,以加快CPU整体速度。那么,对此,NV和ATI的GPU核心存在什么区别呢?通俗的说,NV的CUDA体系是纯机械化的,无执行先后次序的,无代码繁简区别的,无“思维”的。这个架构是自行对代码判断和编译的,缺少了一个超线程分派处理器设计。因此,在驱动的帮助下,它不能“主动的”对代码作出选择,作出归类,作出优化。所以CUDA体系是不能够实现和任何CPU的架构融合的,原因在于,已存在的或正在设计的任何类别的CPU架构都不能和CUDA体系架构做FUSION融合。

因此,有技术人员分析,其实NV的GEFORCE 200系列只是一个幌子,在市场还没完全需要和适应CPU+GPU的FUSION混合架构的时候,先利用CUDA和新堆积的流处理器来侵略一下眼球。为的是让自己正在秘密研制的新一带核心架构争取时间。而这里说的新一代,将是融合了类似R600的超线程分派处理器设计和改进的标量执行单元的架构。为今后的市场和竞争做好准备。

注:以上论据有很多引自【请勿使用我站资源打广告】的PHEHOO,如有转载或引用请注明原作者。
回复

使用道具 举报

168#
发表于 2009-7-10 12:53 | 只看该作者
由上可见,CUDA的发展方向从根本上就是错误的!它并不能与CPU协同工作,这样一种从根本上已经落后的方案(乌龟),即使起跑再早,随着比赛的发展,被超过是必然且肯定的!要知道,科技的进步没有终点!
回复

使用道具 举报

169#
发表于 2009-7-10 16:43 | 只看该作者
显示芯片的运算单元数量很多,因此对于不能高度并行化的工作,所能带来的帮助就不大。

显示芯片通常不具有分支预测等复杂的流程控制单元,因此对于具有高度分支的程序,效率会比较差。

因此,最适合利用 CUD ...
weihua8206 发表于 2009-7-10 12:49


GPU里面好像是有线程派分处理器的,不过好像没详细地说过,记得PS3的CELL好像是也是有个处理器专门做派分任务的。而一般的操作系统的CPU调度算法是软件实现的(当然某些算法要有一定的硬件支持)。

其实CUDA 不是单单GPU在“动”,而是依靠一起的,不恰当地说其实也是一种CPU+GPU的模型(不过是CUDA做桥梁)。 CPU可以执行串行的代码,而核心部分的并行代码则由GPU执行。编译器把CUDA代码编译成PTX代码(GPU执行)和CPU代码(CPU执行)。

举个例子,例如一个待解决的问题的一个模型为G(f(1),f(2),f(3),f(4),f(5),.....f(n)),且f(i)的相关性不大,因此可以用GPU多线程去实现f(i)子任务,而且G功能则由CPU实现。如果子任务f(i)可以再分割成更轻量级的q(i)(t1,t2,t3,t4...tn),则G.f功能可以由CPU实现,t功能由GPU实现。或者G由CPU实现,f.t功能由GPU并行化实现。这就是CPU+GPU协作的一个体现。
回复

使用道具 举报

170#
发表于 2009-7-10 16:50 | 只看该作者
由上可见,CUDA的发展方向从根本上就是错误的!它并不能与CPU协同工作,这样一种从根本上已经落后的方案(乌龟),即使起跑再早,随着比赛的发展,被超过是必然且肯定的!要知道,科技的进步没有终点!
weihua8206 发表于 2009-7-10 12:53


它并不能与CPU协同工作.


这句话我该如何理解呢?
对方辩友是认为在CUDA程式中CPU 是完全没有作用了?
回复

使用道具 举报

171#
发表于 2009-7-10 17:00 | 只看该作者
GPU运算针对密集型运算有着不错的优势。但是在有些算法并行化上要求建立一定的数学模型,对于编程人员来说问题就编程了 算法的并行化。

以前看过过一个设计方案,是用来解决海上事故而产生的原油泄流问题的。它的思想大约是依靠许多设计简单功能有较多限制的“个体”一起协作,并且通过恰当的模型把他们总体的表现出一个有较高自治性的系统。像蚁群系统那样,单个蚁表现出较低的适应性,但由许多蚁个体组成的整个蚁群却表现出极强的生命力和顽强性。 GPU里面的多个功能较为单一的SPs们可能可以通过某种复杂的建模方法组成一个较强的系统,从而可以实现较强通用性和适应力。(其实我对这些模型也没太多了解,拿来探讨一下)
回复

使用道具 举报

172#
发表于 2009-7-10 20:35 | 只看该作者
由上可见,CUDA的发展方向从根本上就是错误的!它并不能与CPU协同工作,这样一种从根本上已经落后的方案(乌龟),即使起跑再早,随着比赛的发展,被超过是必然且肯定的!要知道,科技的进步没有终点!
weihua8206 发表于 2009-7-10 12:53


这个也不能这么说,目前来看NV也只能这么做,没CPU嘛。
回复

使用道具 举报

Christ2002 该用户已被删除
173#
发表于 2009-7-11 09:01 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

174#
发表于 2009-7-11 09:40 | 只看该作者
CUDA在MS面前显得多么的渺小!而且新的DX11出来CUDA就更加边缘化了!
huketing 发表于 2009-7-11 07:36


请给出理由,谢谢.
回复

使用道具 举报

175#
发表于 2009-7-11 09:52 | 只看该作者
CUDA在MS面前显得多么的渺小!而且新的DX11出来CUDA就更加边缘化了!
huketing 发表于 2009-7-11 07:36


哈,难道CUDA不支持DX吗?
回复

使用道具 举报

176#
发表于 2009-7-11 11:35 | 只看该作者
以后是不是应该走向放弃DX的时代了?
DX已经不能创造6、7、8时代的辉煌了。从10开始他就变味儿了。
Christ2002 发表于 2009-7-11 09:01

对方辩友请注意:DX的易用性和编程接口是远远领先于CUDA的,而且和微软在软件接口上分庭抗礼远不是英伟达能做到的。
回复

使用道具 举报

177#
发表于 2009-7-11 11:41 | 只看该作者
哈,难道CUDA不支持DX吗?
iverlin 发表于 2009-7-11 09:52


难道CUDA支持DX么?请对方辩友举例说明:directX技术中调用了哪些CUDA代码?

另外,对方辩友声称的“PHOTOSHOP CS4支持CUDA技术”,经查证不属实!!PHOTOSHOP CS4官方版本中没有使用任何CUDA代码,英伟达声称的“支持PHOTOSHOP”其实只是他们自己开发了几个用CUDA编写的外挂插件(就是第三方滤镜之类的东西),属于赔本赚吆喝。
回复

使用道具 举报

178#
发表于 2009-7-11 18:58 | 只看该作者
CS4  使用用 OPENGL 做加速的,没用上CUDA。
回复

使用道具 举报

179#
发表于 2009-7-11 22:54 | 只看该作者
CS4  使用用 OPENGL 做加速的,没用上CUDA。
tyro 发表于 2009-7-11 18:58


采用GPGPU 技术映射到OpenGL的?
回复

使用道具 举报

180#
 楼主| 发表于 2009-7-15 14:12 | 只看该作者
看到大家那么热烈的辩论,本辩论暂时再延长一周,大家可以畅所欲言,发表自己见解
回复

使用道具 举报

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

本版积分规则

广告投放或合作|网站地图|处罚通告|

GMT+8, 2024-4-20 03:37

Powered by Discuz! X3.4

© 2001-2017 POPPUR.

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