POPPUR爱换

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

作者: Elvis    时间: 2009-7-4 00:56
标题: 您认为CUDA技术最终能让我们电脑发展走向GPGPU计算时代吗?[NVIDIA达人挑选赛]
本辩论赛为第一届PCINLIFE显卡达人精英辩论赛,其目的和动机是提升PCINLIFE网站显卡玩家的整体技术水平和对产品的认知深度,与此同时发掘更多的顶级显卡高手来为我站会员服务,引导他们挑选适合自己的显卡。本辩论赛将会从中挑选优秀的5名辩手成为第一届PCINLIFE显卡达人,从而在一个季度里免费试用某著名显卡厂商提供的最新款顶级显卡。

考量标准: 语言表达要通顺,有逻辑,另外要有深度,有独特的视觉,其它大家就自然发挥吧。

补充: 什么是NVIDIA CUDA技术?

1、CUDA 引入了多层次内存、线程架构,特别是 shared memory 概念的引入,让线程可以在程序员控制下实现片上共享,显著提高 GPGPU 的性能。
2、CUDA 是一个硬件和软件架构的统称,在硬件上而言,特指提供了将 SIMD 单元 SOA 化使其达到标量化执行、片上 shared memory 的 G80+ 架构,这些概念已经被 OpenCL 和 Compute Shader 全盘接纳。
在软件上而言,则是指可以直接使用 C 语言编程编写 SPMD 程序,程序员无需有图形编程的经验。
3、NVIDIA 支持使用 CUDA C 语言扩展以及 OpenCL、Compute Shader 等 API 编写在 CUDA 硬件上执行的程序。

更多与NVIDIA CUDA技术有关的参考资料:
http://www.nvidia.com/object/cuda_home.html
作者: ft5555    时间: 2009-7-4 01:43
普通人买中高端显卡是打游戏用的  n卡玩家已经承担了the way的成本 没理由为再GPGPU买单
作者: 66666    时间: 2009-7-4 06:41
普通人买中高端显卡是打游戏用的  n卡玩家已经承担了the way的成本 没理由为再GPGPU买单
ft5555 发表于 2009-7-4 01:43



这话说的,现在同价位A和N卡游戏性能差的很远么?

给GPGPU买单从何谈起?
作者: westlee    时间: 2009-7-4 07:25
提示: 作者被禁止或删除 内容自动屏蔽
作者: weihua8206    时间: 2009-7-4 10:50
CUDA是不可能取代CPU的计算功能的:

首先,是架构的不统一:英伟达的CUDA运算体系与X86是互不兼容的,而绝大多数的海量运算都是基于X86架构的。从事科学计算、数据库、底层开发的程序员绝大多数都不熟悉CUDA,而且,为了使用CUDA而使自己的程序不兼容于没有使用英伟达显卡的PC,这是很可笑的事情(除非英伟达CUDA的运算速度几何倍数的强于英特尔和AMD,这可能么?NO!)
其次,是商业壁垒的束缚:英伟达要依赖于IBM的架构而生存,推翻X86架构,并且与INTEL分庭抗礼,对于英伟达来说是不切实际的。那意味着一切都推倒重来,就像龙芯。。。
作者: duwei43    时间: 2009-7-4 11:30
通用计算是发展方向没问题,nvidia的cuda也是这个领域的领先技术,也可以说nvidia推动了通用计算的发展。但是说cuda代表着“未来显卡发展和通用计算的将来”有点言过其实。我认为当前通用计算还处在形成阶段,只能说cuda暂时是领先的,但是未来的发展方向还要看各个厂商的支持和市场的反映。
作者: weihua8206    时间: 2009-7-4 13:43
按照e版的定义,cuda c和cuda架构是不是一体的?讨论其前途是一起讨论还是分开来看?

我一直觉得论坛上很多xd所谓的cuda没竞争力的标准说的是cuda c部分,没有涉及cuda硬件架构部分。
westlee 发表于 2009-7-4 07:25


在一个已经非常成熟的领域中另起炉灶,闭门造车,除非技术上有着无与伦比的优势,否则是不可能成功的。就算有着很大技术优势的项目(比如网络电话),在传统产业巨头(比如移动电信运营商)的压制下,也很难发展起来。

况且,CUDA与X86-64架构比起来并没有遥遥领先的优势,英特尔和AMD有着足够的能力升级其架构以保证不落后于英伟达。由此可见,CUDA这个架构不兼容的运算处理单元只会局限于3D领域,不会有很好的发展前途。
作者: weihua8206    时间: 2009-7-4 14:20
1、CUDA 引入了多层次内存、线程架构,特别是 shared memory 概念的引入,让线程可以在程序员控制下实现片上共享,显著提高 GPGPU 的性能。
2、CUDA 是一个硬件和软件架构的统称,在硬件上而言,特指提供了将 SIMD 单元 SOA 化使其达到标量化执行、片上 shared memory 的 G80+ 架构,这些概念已经被 OpenCL 和 Compute Shader 全盘接纳。
在软件上而言,则是指可以直接使用 C 语言编程编写 SPMD 程序,程序员无需有图形编程的经验。
3、NVIDIA 支持使用 CUDA C 语言扩展以及 OpenCL、Compute Shader 等 API 编写在 CUDA 硬件上执行的程序。

Elvis 发表于 2009-7-4 00:56


1、多线程、内存分片、线程共享等技术早已在传统CPU架构中实现,而多层次内存将使指令集复杂化,更难于调试,程序员也更难上手、运算效率的优化极其困难。在数字运算领域RISC优于CISC、2进制优于10进制,这已经被无数事实证明!而英伟达此时弄出个“多层次内存”来使内存控制器复杂化,属于典型的逆潮流而行,故对其不看好。

2、兼容C语言是“皇帝的新装”,是一种华而不实的宣传:世界上还有不兼容C语言的处理器么?单片机都支持C语言!

关键在于:可以用C语言编程 不等于 用C语言编的程序都能运行!不能改变它不能运行X86指令集的硬伤!原先任何基于X86的程序(包括WINDOWS)都不能被其运行
3、为什么程序员要使用英伟达提供的API编写通用程序??这将会造成程序在任何没有安装英伟达硬件的电脑上都运行出错!对于一个新架构来说,不兼容老架构是绝对没有前途的:君不见即使是先进的i7,也不敢抛弃386时代的X86指令集么?所以,相对来说,我更看好拥有x86使用权的AMD的“一体化CPU ”构想,英伟达的CUDA即使再成功,也只是在遥远的将来有可能和POWER MAC一样成为另类罢了。
作者: NX-1701    时间: 2009-7-4 18:28
GPU应该和显示器整合啊
作者: westlee    时间: 2009-7-4 20:23
提示: 作者被禁止或删除 内容自动屏蔽
作者: iverlin    时间: 2009-7-4 20:38
我认为CUDA技术能引领PC进入GPGPU计算时代,CUDA应用已经进入了很多领域,
比如多媒体编码领域有BADABOOM、TMPGENC,图形编辑领域有PHOTOSHOP CS4,图形渲染领域有GELATO,游戏领域有PHYSX物理加速,等等。。。这些都曾是CPU计算所力不从心的领域,在CUDA的加入后效率得到了质的飞跃。
CUDA支持的范围很全很广,见http://www.nvidia.com/object/cuda_home.html

而INTEL和AMD方面却迟迟不能拿出通用计算助力产品,一直停留在落后的架构,在这段时间里CUDA已经发展壮大,支持度越加广泛,就比如我从事的设计领域,CUDA对效果图渲染和后期图像编辑的助力就很有意义。
我所关注INTEL的LARRABEE声称可以实现光线追踪级的通用渲染,但是雷声大雨点小,而且INTEL自己也曾证实过目前研究中,要渲染 320X240这个级别不带AA的光线追踪,游戏速度也仅仅达到30FPS,可以看到LARRABEE真正到达使用阶段离现在还很遥远。
看到光栅化架构的CRYSIS能实现如此好的效果,让我相信随着光栅化渲染的发展,日后将会非常接近光线追踪的效果。。。并且能达到更好的效能。所以LARRABEE我不是很看好,而CUDA却是实实在在摆在眼前的好东西。
作者: iverlin    时间: 2009-7-4 20:40
本帖最后由 iverlin 于 2009-7-6 01:33 编辑
1、多线程、内存分片、线程共享等技术早已在传统CPU架构中实现,而多层次内存将使指令集复杂化,更难于调试,程序员也更难上手、运算效率的优化极其困难。在数字运算领域RISC优于CISC、2进制优于10进制,这已经被 ...
weihua8206 发表于 2009-7-4 14:20


1,不管是什么机制,CUDA的效能已摆在面前,优秀与否,事实胜于理论。
另外,难以上手不说明什么,PS3比XBOX360编写游戏难的多,还不是一样成功的站在XBOX360同样的高度。再说,一切成熟起来后,难度也就会降低。就拿左数学题来说,做的多了,会做就不难,不会做的人就觉得难。

2,现在一大堆支持CUDA软件,比如PHOTOSHOP CS4, 没N卡的电脑就不能运行了吗?比如支持PHYSX的游戏,没N卡就出错了吗?显然这个论点不成立,CUDA只是助力性的,而不是替代性的存在。

3.MAC不能喝CUDA混为一谈,属于偷换概念,CUDA是软体,MAC是硬体,CUDA可以支持A卡,而且不脱离CPU,但能做CPU能做的事,而且更高效,本质上属于加速型技术,适用性广。如果AMD愿意接受CUDA,那CUDA就会成为绝对主流。
    当然,你说AMD不肯,别忘记现在不是谈市场,而是CUDA技术本身,CUDA本身是具有这个能力,引领GPGPU时代。如果要谈市场,AMD自然比不过NV,而INTEL的LARRABEE市场定位并不是PC,所谓CUDA市场优势很明显。
作者: 腰花    时间: 2009-7-4 20:55
我认为CUDA技术能引领PC进入GPGPU计算时代,CUDA应用已经进入了很多领域,
比如多媒体编码领域有BADABOOM、TMPGENC,图形编辑领域有PHOTOSHOP CS4,图形渲染领域有GELATO,游戏领域有PHYSX物理加速,等等。。。这些都 ...
iverlin 发表于 2009-7-4 20:38


恩,说得非常好;
既然你支持CUDA能走向GPGPU时代;
那请你详细辩证如何让CUDA替代INTEL+AMD的运算技术?
作者: 312459588    时间: 2009-7-4 20:58
从发展的眼光看,我支持反方,不过从现实的实用价值来说,我支持正方.
作者: iverlin    时间: 2009-7-4 21:25
本帖最后由 iverlin 于 2009-7-4 22:12 编辑
恩,说得非常好;
既然你支持CUDA能走向GPGPU时代;
那请你详细辩证如何让CUDA替代INTEL+AMD的运算技术?
腰花 发表于 2009-7-4 20:55


首先,要清楚CUDA是加速性技术,是在CPU力不从心的领域加以助力。
比如,为CPU独立难支而且效果欠佳的游戏物理效果上,提供更好的效能和效果。又比如,在PHOTOSHOP处理大幅图片时,CPU要花很长的时间,而支持CUDA的显卡能在很短的时间内完成。

而INTEL的LARRABEE是CPU+GPU的集合体,好比是基于X86架构的显卡,虽然能实现X86完整的通用计算,但是八字还没有一撇,效能低下。愿望是美好的,但是现实是残酷的,INTEL想一家独大,一颗LARRABEE想取消显卡的存在,垄断CPU和GPU市场,其实不切实际。

而NV的CUDA是显卡加速通用计算,并不是吞噬CPU的存在,开放性强,适用性广。

所以,CUDA不取代INTEL和AMD的CPU,而是让计算能力更上一层楼。而INTEL和AMD的GPGPU技术还远远没有成熟,在技术架构方面,也不具有压倒性的优势。



而且从市场定位上来说,“Larrabee从定义之初,就一直瞄着PC架构的大变革:CPU将不再作为全功能的处理器,而逐渐偏重于商用和事务处理,要求高计算能力的浮点计算工作则由Larrabee通用处理器负责。对于普通家用和商用的PC而言,Larrabee并非是必需品,但在图形工作站、超级计算机等要求强劲效能的设备中,Larrabee将逐渐成为必需品。”

从另外一个角度来看,CPU+GPU的LARRABEE,功耗巨大,按照现在的制程发展速度,很不乐观。而且由于强制整合了GPU,成本高决定价格高,不是所有消费者都需要如此强大的处理器,所以决定了LARRABEE不会走向大众化,因此也不会由它产生一个GPGPU时代。
作者: hackerzd    时间: 2009-7-4 21:36
提示: 作者被禁止或删除 内容自动屏蔽
作者: tomsmith123    时间: 2009-7-5 00:16
目前的情况看,CUDA 在GPGPU 领域是暂时领先的,但是问题是,GPGPU 是否需要这样的领先,特别是CUDA 的发展方向是否正确。从nVidia 的规划看,CUDA 在HPC 领域推广最不惜血本,对于某些用户,白送一套理论峰值128T 的S1070,如此的大手笔,今年实在罕见,不过从HPC 这个领域看,很不看好。
CUDA 面临几个方面的问题:
首先是算法适应性,大部分HPC 算法,数据吞吐量大,对于CUDA 架构来说,当数据大量通过PCIE 传送,整体效能会非常低,这不仅仅是CUDA 的问题,任何GPGPU 的结构,都无法解决;
其次是计算精度,多数的HPC 算法,要求双精度,甚至四倍精度,而CUDA 仅仅提供单精度非标浮点,在若干次迭代后,结果误差累计会比较大,无法满足计算要求。在我们做的一些理论化学计算中,CUDA 的误差高达7%极限情况达到15%,远远超过0.3%的误差许可。
第三是移植复杂度,目前的CUDA 程序,以一个3000行的MPI 程序为例,移植到CUDA 上,需要2个熟练的CUDA 程序员,三个月时间,而针对不同的CUDA 设备,优化工作还需要从做,这对于CUDA 软件的开发和维护成本是不可想象的。即使在国内,维护一套CUDA 软件,也是多数单位无法承担的。
Intel 在年底会发布CT 的beta 版,我们已经拿到并测试,同时通过Intel 方面,拿到了一些Larrabee 在我们用到算法的实测数据,基本结论如下:
1. CT 的开发维护复杂度,大致是CUDA 的1/5 甚至更小,后期升级系统维护的成本,基本上是0。比较显著的例子是CT 一段15行的程序,CUDA 大致需要90行来完成。
2. Larrabee 的性能效率最高可以到57%,平均42%,CUDA 则最高45%,平均19%,二者完全不是一个量级的产品;
3. Larrabee 的单精度累计误差较CUDA 低一些,最高3%,极端情况下可能到5%。
就上述的数据,我们和ARSC 的朋友交流,他们也确认了类似的结论,我们共同对明年Larrabee 上市表示了期待,他们有希望在明年年初拿到测试板,比预计晚了四个月。
除了HPC 外,CUDA 在桌面个人程序上也有一定进展,包括CODEC,这方面由于nVidia 的持续投入,已经有很明显的效益,如我之前所说,CUDA 软件的维护升级可能会消耗一些人力,很难说nVidia 是否会持续投入下去,软件开发商是否有意愿维护这部分代码。
CUDA-PHYSX 是nVidia 自己的产品,理论上不会受到影响。
目前,我们还在维护用到的CUDA 相关代码,但是已经基本暂停进一步的开发,主要精力转移到CT 上,如果Intel 愿意,CT 的支持面会非常广泛,这对于从事计算密集型研究的人来说,都是好事。
作者: weihua8206    时间: 2009-7-5 00:44
首先,要清楚CUDA是加速性技术,是在CPU力不从心的领域加以助力。
比如,为CPU独立难支而且效果欠佳的游戏物理效果上,提供更好的效能和效果。又比如,在PHOTOSHOP处理大幅图片时,CPU要花很长的时间,而支持CU ...
iverlin 发表于 2009-7-4 21:25


对方辩友请注意:辩论的主题是“CUDA能否引领GPGPU运算时代”,而不是“CUDA是否比LARRABEE优秀”!!

举个例子:“你百米跑比我跑得快,所以你是百米跑世界冠军”,这句话成立么?笑话,比我跑得快的人地球上有10亿以上,比我跑得快就冠军,那全世界的金子都用来铸金牌算了。

同样的:LARRABEE有着严重缺陷,并不证明CUDA就能引领未来,英特尔私心很重,想独占市场,但其缺乏硬件浮点运算的技术。LARRABEE事实上是在用软件强行捆绑自己的硬件。…………跑题了


对方辩友论证了LARRABEE不行,而世界上并非只有LARRABEE和CUDA两种GPGPU结构体系! 应该说:CUDA不行,LARRABEE也不行!!
作者: weihua8206    时间: 2009-7-5 01:37
本帖最后由 weihua8206 于 2009-7-5 16:01 编辑
1,不管是什么机制,CUDA的效能已摆在面前,优秀与否,事实胜于理论。
另外,难以上手不说明什么,PS3比XBOX360编写游戏难的多,还不是一样成功的站在XBOX360同样的高度。再说,一切成熟起来后,难度也就会降低。就拿左数学题来说,做的多了,会做就不难,不会做的人就觉得难。

2,现在一大堆支持CUDA软件,比如PHOTOSHOP CS4, 没N卡的电脑就不能运行了吗?比如支持PHYSX的游戏,没N卡就出错了吗?显然这个论点不成立,CUDA只是助力性的,而不是替代性的存在。

3.MAC不能喝CUDA混为一谈,属于偷换概念,CUDA是软体,MAC是硬体,CUDA可以支持A卡,而且不脱离CPU,但能做CPU能做的事,而且更高效,本质上属于加速型技术,适用性广。如果AMD愿意接受CUDA,那CUDA就会成为绝对主流。
    当然,你说AMD不肯,别忘记现在不是谈市场,而是CUDA技术本身,CUDA本身是具有这个能力,引领GPGPU时代。
iverlin 发表于 2009-7-4 20:40


对方辩友在理论方面十分专业,在下佩服,但是有以下事实是对方不能忽视的:

1、首先,CUDA的软件体系走在错误的发展轨道上:基于CUDA的软件编写困难、维护复杂、指令集晦涩。作为一种开放的加速技术接口,既然英伟达不在自己的GPU硬件上捆绑CUDA,开发商就完全有理由抛弃这种接口,转而使用更简便的指令集来实现GPGPU。

2、借用对方辩友的例子:支持PHYSX的游戏,没N卡就出错了吗?是的,假如一个游戏只使用PHYSX,而放弃对传统的3D架构支持,那么没有N卡必然运行出错!看过PHYSX的宣传DEMO吗?在A卡平台上运行时是什么样子?画面破碎、物体移动规律全都不对,重力缺失,帧数惨不忍睹!如果这还不算运行错误,我想不出什么才能算错误了!
英伟达用硬件绑定了PHYSX,PHYSX不能被AMD的GPU所支援,这是PHYSX存活的一大优势。而CUDA不具有这种优势,我们完全可以用更友善的指令集来实现GPGPU,从而淘汰CUDA。那么,请问对方辩友,一个编写得不很成功的软体指令集何以引领GPGPU的未来呢?

3、对方辩友避而不谈市场,说CUDA单从技术上有能力引领GPGPU时代。这是形而上学的片面观点,是在用静止、孤立的观点来看问题:没有市场的技术是引领不了任何时代的,它只能走向消亡!当年的RAMBUS总线规格要比DDR266先进很多,按您的观点,"RAMBUS技术本身是可以引领高速内存时代"咯?事实如何呢?现在DDR已经发展到第5代,而RAMBUS早已被世人遗忘!如果当初英特尔还死抱着RAMBUS,现在他们将和RAMBUS一起被PC市场遗忘!没有市场、何谈时代!RAMBUS引领过什么时代么?没有!同样的,CUDA也同样不会有未来!况且,CUDA并不先进,从软件架构上来讲,CUDA的设计思想是落后的:
(1)CUDA目前只有在linux下提供了64bit支持,windows还是32bit,而且只支持单精度
(2)CUDA的开发界面很不友好,廉价高速计算方面,一般大家公认为开发难度的难易顺序是CUDA、SPU CLE然后是Ct。
由此可见,CT、CLE等指令集均优于CUDA,CUDA即使单从技术上讲也不能引领什么潮流!

(管理员害苦我了,这么多字差点白打了 )
作者: weihua8206    时间: 2009-7-5 01:59
汗,nv的显卡在cuda运算的时候根本就不需要运行x86指令,显卡是通过驱动把x86指令编译,解释成显卡可以直接执行的二进制代码运行的,难道现在的游戏,是因为显卡可以执行x86指令才可以运行的吗?

如果程序本身 ...
westlee 发表于 2009-7-4 20:23



CUDA的开发界面很不友好,廉价高速计算方面,一般大家公认为开发难度的难易顺序是CUDA、SPU CLE然后是Ct。

CT、CLE等指令集均优于CUDA,那么,既没有野心吞并X86,又不捆绑英伟达的GPU硬件来强行推广,请对方辩友告诉我,这样一种相对落后的软件架构如何才能不被淘汰?
作者: 66666    时间: 2009-7-5 06:19
呵呵,CUDA要是很难的话那OPEN CL更不要玩了,OPEN CL每换个显卡都要换底层算法

目前NV的目的首先是把自己的CUDA融入到MS的CS和OPEN CL中,争取更大的标准话语权,NV不是intel他还是首先考虑游戏性能和功耗,然后才是通用计算性能,LARRABEE和Gforce根本上不是一个概念下的产品,就好像WII和XB360一样,没法直接比较
作者: ajdathlon    时间: 2009-7-5 07:46
本帖最后由 ajdathlon 于 2009-7-5 07:47 编辑

历史证明,理论再好,科技含量再高,到最后实践效果差,一样白搭,

一切还是要到最后看实际效果,搞这些云里雾里的没什么意思
作者: tomsmith123    时间: 2009-7-5 08:18
CUDA 是一种从硬件体系结构,到软件编程结构的概念。
体系结构理论上是软件和硬件的结合,对于many core 来说,很重要的是可编程性问题,CUDA 的软件支持,解决了对CUDA 架构硬件的可编程性问题,但是暂时CUDA 的编程优化的难度还非常高,一般要求有较多经验的程序员做。
CUDA CBE CT 都不是,或者不仅仅是指令系统。
CUDA 也谈不上落后,不过要改善其可编程性,可能要对软件支撑环境做比较大的改变,并有新的方法来解决其优化问题,很重要的问题是,硬件架构需要有什么样的变化,是否符合nVidia 的战略规划,是否依旧能够在GPU 上保持较高的效率。
Larrabee 做GPU 是副业,而GPU 做GPGPU 也是副业,二者的目的不同,Larrabee 做GPU 是摊薄开发成本,提高市场的生存能力,GPU 做GPGPU 是为了拓展市场,这两方面在GPGPU 市场必然会有竞争,我想和GPU 市场竞争的态势类似,更专业的,会有一定优势。
从体系结构的角度,越专越强,但是从商业的角度,越博越廉,当many core  成为一种潮流,GPGPU 可能逐步走向衰落。
作者: weihua8206    时间: 2009-7-5 08:32
呵呵,CUDA要是很难的话那OPEN CL更不要玩了,OPEN CL每换个显卡都要换底层算法

目前NV的目的首先是把自己的CUDA融入到MS的CS和OPEN CL中,争取更大的标准话语权,NV不是intel他还是首先考虑游戏性能和功耗,然后 ...
66666 发表于 2009-7-5 06:19


呵呵,你又不是黄仁勋,你何以肯定英伟达没有吞并X86的野心?

英伟达的企业文化是极富侵略性的,如果AMD和英特尔接纳英伟达的标准,x86的未来将增加很多不确定性!

竞争对手也不是傻子,不会坐以待毙:英特尔狙击英伟达收购VIA的计划,威胁全面终止对英伟达的授权就是一例。AMD和INTEL也必然不会接纳CUDA,通过开发其它指令集与CUDA对抗是必然的选择。而对于指令集的开发水平,我相信,AMD、INTEL、IBM等厂商的实力目前还不是英伟达可以比得上的。
作者: zajara    时间: 2009-7-5 08:45
CUDA成功与否并不取决于这个技术本身,而是取决于NV的实力以及推广的决心。
所谓的决心我指的是,准备把CUDA当成摇钱树还是要真正推广这个技术
作者: 66666    时间: 2009-7-5 08:45
其实说白了就是intel用CPU的理念来做GPU,而NV则是想用GPU硬件来做些原来只有CPU完成的工作

这并不矛盾,连intel自己也看出来了完全用many core 来做所有的工作并不经济,效率和功耗比也非常差,连intel在开发扣肉之前也考虑过非对称多核处理器,让不用的硬件处理各自擅长计算是未来的大方向,反而X86的多核化之路在intel开发LARRABEE之后,我看是快要到尽头了
作者: weihua8206    时间: 2009-7-5 09:27
英特尔想用自己的集显+CPU开发的非对称内核对抗CPU+GPU是不切实际的,性价比差,功耗高,运算能力不足是其软肋! INTEL做的最好的GPU性能能有多少?相信大家心里都有数。

现在我们讨论的是体系结构的优劣:
从GPU的角度,毫无疑问我们应该选用AMD和NVIDIA的GPU,其运算能力是英特尔远远不能比的。所以,如果英特尔要捆绑自己的GPGPU核心来强推LARRABEE,我们只有对他说:NO!!

从配套的开发界面来说:CUDA确实算不上是一个很好的选择,目前的领先是暂时的。由于体系过于冗杂,界面易用度比起CT等界面来简直就是外星界面(地球人都不明白),其不能代表GPGPU的发展方向。就好像万米赛跑中的乌龟:虽然他暂时领先了1千米,但只要跑得快的动物奋起直追,最终垫底的仍将是乌龟!

另外,从科学计算的发展趋势来说:GPGPU并不是未来的发展主流,“专用浮点处理器”才是最合理的方案。从纯技术角度来说,GPGPU是一种争夺市场的手段和产物,大家都想在通用领域压迫对手,让自己取得更大的话语权。

就好像一个装修队,每个师傅都想把其他师傅赶走,木工电工水暖工都自己来,别人打下手递个扳手改锥什么的就得了,这样挣的钱95%就都是他的了。可是对于业主来说,这样的“GP装修工”装修出来的房子会是什么样子呢?耗时长、质量差、家居开裂、下水管天天堵,电表有事没事就掉闸!!
作者: cullam    时间: 2009-7-5 11:04
个人观点,RT,世界不会没有竞争,当N发展自己CUDA时,I与A不会轻易让N独揽大权,终会利用自己的技术以及各方面的条件支持与CUDA相抗衡,AMD也表明不会接受N的CUDA技术
作者: 红包    时间: 2009-7-5 11:40
我相信Intel既然CPU做的超级强大 GPU 也一定有实力做的强大
作者: iverlin    时间: 2009-7-5 13:37
对方辩友在理论方面十分专业,在下佩服,但是有以下事实是对方不能忽视的:

1、首先,CUDA的软件体系走在错误的发展轨道上:基于CUDA的软件编写困难、维护复杂、指令集晦涩。作为一种开放的加速技术接口,既然 ...
weihua8206 发表于 2009-7-5 01:37

我又要重复一次,支持PHYSX的软件 比如PS CS4,TMPENC,游戏如UT3,GRAW2等等太多了,根本就没在其他显卡上出错这回事。

【请注意文明讨论——管理员注】
作者: iverlin    时间: 2009-7-5 13:42
还有对方辩友的观点总是拿CUDA架构复杂编程难来做借口,来看看CUDA对游戏的支持度再说吧:

2 Days to Vegas Steel Monkeys PC
Adrenalin 2: Rush Hour Gaijin Entertainment PC
Age of Empires III Distineer Studios PC, Mac
Age of Empires III: The WarChiefs Distineer Studios Mac
Alpha Prime Black Element Software PC
Auto Assault Net Devil PC
Backbreaker Natural Motion TBA
B.A.S.E. Jumping Digital Dimension Development PC
Bet on Soldier: Blackout Saigon Kylotonn Entertainment PC
Bet on Soldier: Blood of Sahara Kylotonn Entertainment PC
Bet on Soldier: Blood Sport Kylotonn Entertainment PC
Beowulf Ubisoft PS3, X360
Bladestorm: The Hundred Years' War Koei PS3, X360
Captain Blood Akella PC, X360
Cellfactor: Combat Training Artifical Studios, Immersion Games PC
Cellfactor: Revolution Artifical Studios, Immersion Games PC
City of Villains Cryptic Studios PC
Crazy Machines II FAKT Software PC
Cryostasis Action Forms PC
Dark Physics The Game Creators PC
Desert Diner Tarsier Studios PC
Dragonshard Atari PC
Dusk 12 Orion PC
Empire Above All IceHill PC
Empire Earth III Mad Dog Software PC
Entropia Universe MindArk PC
Fallen Earth Icarus Studios PC
Fury Auran Games PC
Gears Of War Epic Games PC, X360
Gluk'Oza: Action GFI Russia PC
GooBall Ambrosia software Mac
Gothic 3 Piranha Bytes PC
Gunship Apocalypse FAKT Software PC
Heavy Rain Quantic Dream PC
Hero's Jorney Simutronics PC
Hour of Victory nFusion Interactive X360
Hunt, The Orion PC
Huxley Webzen, Inc PC, X360
Infernal Metropolis Software PC
Inhabited island: Prisoner of Power Orion PC
Joint Task Force Most Wanted Entertainment PC
KumaWAR Kuma Reality Games PC
Magic ball 3 Alawar Entertaiment PC
Mass Effect BioWare PC, X360
Medal of Honor: Airborne EA Los Angeles PC, X360
Metro 2033 4A Games PC
Mobile Suit Gundam: Crossfire BEC PS3
Monster Madness: Battle for Suburbia Artificial Studios PC, X360
Monster Truck Maniax Legendo Entertainment PC
Myst Online: URU Live Cyan Worlds PC
Open Fire BlueTorch Studios PC
Paragraph 78 Gaijin Entertainment PC
Pirates of the Burning Sea Flying Lab Software PC
PT Boats: Knights of the Sea Akella PC
Rail Simulator Kuju Entertainment Ltd PC
Red Steel Ubisoft Paris Wii
Rise Of Nations: Rise Of Legends Big Huge Games PC
Roboblitz Naked Sky Entertainment PC, X360
Sacred 2 ASCARON Entertainment PC
Sherlock Holmes: The Awakened Frogwares Game Development Studio PC
Showdown: Scorpion B-COOL Interactive PC
Silverfall Monte Cristo PC
Sovereign Symphony Ceidot Game Studios PC
Sonic and the Secret Rings SEGA Wii
Speedball 2 Kylotonn Entertainment PC
Stalin Subway, The Orion PC
Stoked Rider: Alaska Alien Bongfish Interactive Entertainment PC
Switchball Atomic Elbow PC
Tension Ice-pick Lodge PC
Tom Clancy's Ghost Recon Advanced Warfighter GRIN PC, X360
Tom Clancy's Ghost Recon Advanced Warfighter 2 GRIN, Ubisoft Paris PC, X360
Tom Clancy's Rainbow Six Vegas Ubisoft Montreal PC, PS3, X360
Tom Clancy's Splinter Cell: Double Agent (multiplayer) Ubisoft Shanghai PC, X360
Tortuga: Two Treasures Ascaron Entertainment PC
Two Worlds Reality Pump PC
Ultra Tubes Eipix PC
Unreal Tournament 3 Epic Games PC, PS3, X360
Unreal Tournament 3: Extreme Physics Mod Epic Games PC
Warfare GFI Russia PC
Warmonger: Operation Downtown Destruction Net Devil PC
W.E.L.L. Online Sibilant Interactive PC
Winterheart's Guild Zelian Games PC, X360
WorldShift Black Sea Studios PC



这仅仅是其中一部分游戏,如果真的那么难,会有那么多游戏商开发出那么多支持CUDA游戏吗?PS3也比XBOX360难,但是PS3的游戏还不是一样的繁多。说道底,难,是相对的,不是绝对的。

对方辩友堆砌一大堆文字都没有点到要点。
作者: iverlin    时间: 2009-7-5 13:49
本帖最后由 iverlin 于 2009-7-5 13:55 编辑

CUDA已经发展得很快了,占尽了先机,再说INTEL在猴年马月推出的LLB在长期内也只能应用在超级计算机和服务器工作站领域,根本不能引领一个时代。。。。
至于AMD。。。还是算了吧。。。现在能拿出什么成果了?AMD的市场份额向来都不如NV,推广能力远远不如财雄势大并且占尽先机的NV比。。。。等到两大CPU巨头的GPGPU都出台的时候,到时CUDA已经非常非常的成熟了

既然INTEL做不到引领一个时代,AMD也做不到的话,CUDA舍我其谁?
作者: weihua8206    时间: 2009-7-5 14:34
本帖最后由 weihua8206 于 2009-7-5 15:44 编辑
您再次打了自己嘴巴,我又要重复一次,支持PHYSX的软件 比如PS CS4,TMPENC,游戏如UT3,GRAW2等等太多了,根本就没在其他显卡上出错这回事。
iverlin 发表于 2009-7-5 13:37


请对方辩友不要混淆视听,谢谢。没出错是因为那些游戏厂商在程序中做了判断,发现N卡在电脑中的时候才调用那些PHYSX代码!

作为一个程序员,您应该知道:如果不加判断的强行调用PHYSX(比如英伟达的DEMO)在其他显卡上就必然会出错。

作者: Edison    时间: 2009-7-5 14:38
请大家不要使用大码、加粗、加色字体,以保持讨论主题的简洁,否则都是一堆杂色、超大号的帖子。

不打扰了,大家继续。
作者: weihua8206    时间: 2009-7-5 14:42
本帖最后由 weihua8206 于 2009-7-5 15:45 编辑
还有对方辩友的观点总是拿CUDA架构复杂编程难来做借口,来看看CUDA对游戏的支持度再说吧:

2 Days to Vegas Steel Monkeys PC
Adrenalin 2: Rush Hour Gaijin Entertainment PC
Age of Empires III Distineer ...
iverlin 发表于 2009-7-5 13:42


世界上有多少游戏?您列举的这寥寥无几的游戏能说明什么问题呢?而且这其中有多少游戏是完全依靠英伟达的赞助开发出来的(“你用我的代码,我给你钱,卖不出去的损失我承担”)?阁下总在强调让程序员去克服困难,问题是,明明有更简单的途径,您凭什么让我多花工夫费心费力的去拿个复杂的工具来用呢?

就算英伟达能砸钱去雇佣程序员使用他们的代码,那么,IBM不会吗?英特尔不会吗?相对来说,谁更有钱?况且CUDA的培训成本还远远高于CT!!
作者: weihua8206    时间: 2009-7-5 14:52
CUDA已经发展得很快了,占尽了先机,再说INTEL在猴年马月推出的LLB在长期内也只能应用在超级计算机和服务器工作站领域,根本不能引领一个时代。。。。
至于AMD。。。还是算了吧。。。现在能拿出什么成果了?AMD的市 ...
iverlin 发表于 2009-7-5 13:49


这是一场马拉松接力,英伟达如果用乌龟一跑到低,最后输的肯定是英伟达!!别忘了,当年英伟达出道的时候,S3还是巨无霸呢!自以为是,觉得技术开发得早了就沾沾自喜,说什么引领时代。最终的结果只能是沦为笑柄,被时代所淘汰

希望英伟达正视使用者的意见,不要把自己当成上帝!CUDA的不好用是大家公认的,为什么还要一味的强推?早点开发一套更易用的方案取代CUDA才是正确的出路!
作者: weihua8206    时间: 2009-7-5 14:54
本帖最后由 weihua8206 于 2009-7-5 15:54 编辑

。。。。。。请问管理员:多大的字体是标准字体?希望能给个规范格式,以便大家共同遵守。

另外,请管理员核对一下,我19楼的帖子是不是在您修改字体的时候把内容误删了?原本我列举和很多事例对反方逐条进行批驳,可是现在怎么和20楼内容一样了呀?
作者: iverlin    时间: 2009-7-5 15:03
朋友你别太激动,各抒己见罢了~你的大字体和叹号让我很大压力呀~

既然你认为

“早点开发一套更易用的方案取代CUDA才是正确的出路!”

谁来开发?INTEL正在着手只能面对服务器和工作站的LLB,AMD还拿不出什么实际成果,CUDA发展越来越成熟,谁来开发一套更易用的方案?

说过了,难易,只是相对的,不是绝对的。
作者: Edison    时间: 2009-7-5 15:07
。。。。。。请问管理员:多大的字体是标准字体?希望能给个规范格式,以便大家共同遵守。
weihua8206 发表于 2009-7-5 14:54


就是 BBS 默认的设置好了。
作者: weihua8206    时间: 2009-7-5 15:40
朋友你别太激动,各抒己见罢了~你的大字体和叹号让我很大压力呀~

既然你认为

“早点开发一套更易用的方案取代CUDA才是正确的出路!”

谁来开发?INTEL正在着手只能面对服务器和工作站的LLB,AMD还拿不出什么 ...
iverlin 发表于 2009-7-5 15:03


谁来开发、怎样开发GPGPU技术并不是咱们这次辩论的重点。咱们在此讨论的是“CUDA是否能让电脑走向GPGPU计算时代”。

当苹果一家独大的时候,IBM的PC架构还只是一个雏形。所以,现在只有英伟达推出了GPGPU的解决方案,并不意味着他必然能引领一个时代:

(1)CUDA目前只提供单精度浮点运算,这对于天体物理,量子物理等需要海量高精度运算的场合,其误差会非常离谱。
(2)当CUDA通过PCIE总线传输海量数据时,其效率之低是令人难以接受的!
(3)更适用于科学运算的指令集其实已经存在:相信熟悉matlab的程序员都已经对CT、CLE等耳熟能详。如果英特尔未来把CT进行扩展,使其支持GPU硬件调用,CUDA受到的冲击将会非常大。作为一个程序员,当你知道CT的可移植性、易用性、编程难度都远远低于CUDA时,你还会使用CUDA么?

PS:INTEL为了维护CPU在运算领域的权威地位,不会轻易认可英伟达的GPU运算构想。面对行业巨头的全力抵制,英伟达任重道远。若想开创GPGPU运算时代,尽快开发出一套易用的软件接口(像CT那样易用、广受用户好评的)无疑是当务之急。已经领先并不够,关键在于如何站稳脚跟,不被其他人迅速超越。
作者: tomsmith123    时间: 2009-7-5 16:11
拿PHYSX 来说明CUDA的可编程性没有多少意义,多数支持PHYSX 的游戏,根本不牵扯CUDA 的编程,仅仅利用PHYSX CUDA 提供的API 做计算而已,未来还会有OPENCL CS 可以用来调用,从高层逻辑隐藏CUDA 的复杂性是可能的,但是GPGPU 的目标恐怕不是仅仅提供一个调用接口,否则就不用叫GPGPU了,BROOK已经做得相当好了。
CUDA 通过从硬件结构到软件架构一整套解决方案,提供了可以控制的,一定效能基础的,相对较好的可编程性,至于这个解决方案,能否使GPGPU 成为计算的主流,目前我感觉基本上没什么希望。
Larrabee 和CT 的出现,可能会成为GPGPU 的主流,唯一的问题是,那时候的GPGPU 可能就不是GPGPU 了,而是Many Core 计算时代。
HPC 领域,Many Core 和异构计算无可置疑是未来几年的主流方向,民用服务器和桌面领域,会晚一些,迟早的问题。
作者: tomsmith123    时间: 2009-7-5 16:26
38# iverlin
Larrabee 也不仅仅是一个处理器,也并非仅仅针对服务器领域,从目前的消息看,至少比G300 进度要乐观很多。经过两次流片,现在的主要问题还是软件驱动,CT on Larrabee 目前也处于测试阶段。
我来解释一下CT 是什么,CT 首先是一种C 语言的并发程序设计标准,是一种C语言扩展,实现上,是一套源代码,一套编译器,运行时自动在不同的处理器平台并行化,换句话说,今天写的程序,今天编译,对于Intel 未来的Many Core 或者Multi Core 都可以直接运行,运行的效率,由Intel 开发的RT 支持决定,这和CUDA 相比,实在是天上地下的差别,对于做计算应用的开发人员来说,如何选择是很容易的。
目前科学计算软件,大一点的,代码量超过百万行,用CUDA 改写再调优,恐怕这个工作本身就会消耗数以千计的人年,未来硬件架构的变化,未来计算规模的变化,都可能影响这几千人年的工作,这是任何软件公司都无法承受的,对于这样的项目,CT 很明显是更好的选择,也许是目前能够看到最好的选择,所以保持观望的人非常多。中科院在IPE 采购了800+TFlops 的Tesla 后,又设立基金鼓励使用IPE Telsa 并购买GPU 系统,申请者寥寥,多数开发者试水后,基本是保留态度。
作者: iverlin    时间: 2009-7-5 21:00
本帖最后由 iverlin 于 2009-7-5 21:37 编辑

LS可谓扭曲事实,居然说LARRABEE并非针对服务器领域,难道针对PC个人用户?谁有这个能力来消受?还比G300进度乐观很多呢。。。INTEL自己都绝对不敢说这个,先查清楚LARRABEE目前的效能再说吧。

这张图是我用3D软件,用Q6600 OC3.6G,历时10分钟渲染出来的,这是基本的光线追踪效果,
LARRABEE要实现这个级别的光线追踪效果的游戏达到每秒30帧的话,通过架构改革,硬件和软件架构的效能需要等效于Q6600 3.6G的
10X60X30=18000倍!

虽然不能这样对比,但是足以见得,即使架构怎么优秀,只要是基于X86实现光线追踪,也是一个很恐怖的性能要求,所以我才说LARRABEE不是大众化的产品,因为这个技术难度决定了LARRABEE之于普通消费者是个遥远的东西,不管是从时间上,还是金钱上
[attach]1081018[/attach]

以下这个是LARRABEE目前能达到的光线追踪效果,分辨率是450X320
建议点击看“大图”

[attach]1081017[/attach]
作者: tomsmith123    时间: 2009-7-5 21:51
43# iverlin
不仅仅针对服务器领域,请完整理解我的话。
Larrabee 面向的是包括游戏显卡在内的众多领域,至于价格,基本上是主流GPU 的水平,不过有可能会在驱动或者显卡硬件做一点手脚,做显卡用,不能完全发挥性能。
Larrabee 已经经过了两次流片,硬件设计包括后端,基本凝固,进度上,G300 离这个目标还很遥远。
我们现在的比较是Larrabe 24c 800M 和i7 965 做对比,单精度amber 变换 上可以做到10倍左右加速比,和S1070 做得差不多,而精度要强一些。
要知道,CT on Larrabee 我们只用了一个星期就完成了代码移植,而CUDA 我们做了近3个月,二者差距多大,不言而喻。
以CUDA 来说,CUDA 能够做到的,Larrabee CT 可以做得更快更好,开发难度更低,而Larrabee 在GPGPU 领域做不了的,CUDA 一定也做不了,CUDA 做不了的一些算法,Larrabee CT 仍然可以做得很好,我想这就是二者目前的基本比较了。
另外,我好象没有看到任何你用CUDA 做的例子,能脱离空想说点实在的吗?
作者: tomsmith123    时间: 2009-7-5 21:55
44# tomsmith123
另外,Larrabee 不是救世主,聚合计算能力1G 的Larrabee 24C 也只有1.5T 单精度,这和大约120G 的I7 来说,至少不是天上地下的差别。
作者: alex1986    时间: 2009-7-5 22:15
这个很有技术含量。。。。
作者: iverlin    时间: 2009-7-5 22:15
本帖最后由 iverlin 于 2009-7-5 22:18 编辑
43# iverlin  
不仅仅针对服务器领域,请完整理解我的话。
Larrabee 面向的是包括游戏显卡在内的众多领域,至于价格,基本上是主流GPU 的水平,不过有可能会在驱动或者显卡硬件做一点手脚,做显卡用,不能完全发挥 ...
tomsmith123 发表于 2009-7-5 21:51


我也说了不仅仅是服务器,我说过针对的是“服务器和工作站”,而不是PC,不是PERSONAL COMPUTER,既然不是PC就不会引领一个时代。

流片?龙芯也出N次流片了,能说明什么?不能用的东西能说明什么?G300估计今年内就能上市了,LARRABEE能吗?估计G500出来LARRABEE还是没有上市!
作者: tomsmith123    时间: 2009-7-5 22:33
47# iverlin
龙芯3 今年6月第一次流片完成,你的龙芯流过几次片从何说起?
如果G500 出来,Larrabee 没有上市,我输你1万人民币,否则你输我1000人民币,你觉得如何?
说话尽量负责一点,不要信口开河。
作者: 玉清    时间: 2009-7-5 22:37
毫无疑问 CUDA或者GPGPU是带给业界的一次计算的革命.
非常出色的并行计算能力,这是带给我们最明显的特点.

当然,请不要混淆概念,目前的GPU架构来说是不可能取代CPU的.
CUDA或者GPGPU来说不是全部.

并不是任何情况都适合GPGPU或者CUDA,在串行非常多的情况下,是不适合用CUDA来做的.
CUDA只能适合高度并行的地方,并且对数据精度要求不高的地方.
目前CUDA的环境来说,只有GT200芯片才能支持double数据类型,其他所有芯片G9X和G8X系列都不支持double数据类型,仍然在32 位,这对一些高精度的数据类型来说是一个很难办的事情,而且GT200芯片对于double的运算性能非常差(64bit运算单元在每个SM中只有一个, 因此运算速度只有32bit数据的八分之一到十二分之一左右.),不过NVIDIA已经在GT300中大幅加强了双精度的计算性能.

CUDA的另外一个限制是:对于分支预测太多的地方,是非常不适合用CUDA计算的,因为NVIDIA的SM没有预测执行机制(分支预测单元(Branch Predicator))。这是与CPU一个重大区别的地方。GPU的任务是处理不需要预测的任务,因此也就可以省掉预测相关的电路,降低功耗。在需要分支时,只有当warp中所有的thread都计算出各自的分支的地址,并且完成取指以后,warp才能继续往下执行。一个warp内的线程是由同一个SM执行的,而一个SM只有一组取指、译码单元。如果一个warp中需要进行分支(即warp内的线程执行的指令指针指向不同的位置),性能将急剧的降低。

另外一个和CPU重要不同是的向量中的元素相互之间可以自由的相互通信,因为它们存在于相同的地址空间;而CUDA中的warp中的每个线程的寄存器都是私有的,它们只能通过shared memory或者缓慢的global memory来进行通信。

设计CUDA的程式,还需要尽量避免host和device过多的数据通信,因为PCI-E通道的带宽还是小了一些(即使是PCI-E 2.0 X16),数据传输的时候需要尽量设计 内存对齐 以求获得最大的存储器性能.

CUDA的device端的程式调试起来是比较困难和痛苦的,因为不能像以往的程式那样设置断点或者很清楚的侦测到数据异常,调试的话只能用EMU(模拟)模式运行,但是模拟模式运行的话速度又慢而且还不一定准,所以这是痛苦的事情,还好据说CUDA 2.2中已经加入了GPU硬件模式的debugger,不过还没有用过这个东西,还不清楚这个是否会带来一些好的改变。

CUDA 2.2的发布带来了一些可喜的进步,比如Zero-copy功能,可以让程序直接访问系统内存(host,非device),这样有效的降低了host与device之间的数据传输量,当然,这个也仅仅支持GT200芯片。

CUDA的一个重要的进步在于,改变了传统的GPGPU的模式,传统的GPGPU模式需要把指令一个一个的映射成为DirectX指令,这无疑大大的增加了编程的难度,但是CUDA不再需要这样做,这样大大降低了入门的难度。
再来说说OpenCL,目前OpenCL尽管已经发布了1.0的规范,但是却并没有流传开来其OpenCL的编译器(据说已经出现了OpenCL编译器),其底层度和CUDA的Driver API相当,当然,偶现在还不太熟悉OpenCL,所以暂时不发表什么言论。


尽管有诸多限制,但是CUDA现在来看依然是非常喜人的,极其强大的运算性能和并行能力,在一些地方有着一两个指数级的加速比,这是非常惊人的,在我自己做的部分程式中,平均能够带来60倍左右的加速比(当然,偶现在写的都是些比较简单的程式),这是非常惊人的加速比。

综上所述,在PC上面CUDA可以使显示卡变成一颗高性能的协处理器(coprocessor),这是一个大好的资源。

P.S.CUDA入门并不难,具有C语言基础和一些计算机常识即可.
作者: iverlin    时间: 2009-7-5 22:43
本帖最后由 iverlin 于 2009-7-5 22:48 编辑

龙芯2F之前的2E不是流片过了么
你说LARRABEE比G300还乐观,如果G300上市了LARRABEE还没上市的话,你输我100好吗?相反我输你10000!

请说话负责点。
作者: tomsmith123    时间: 2009-7-5 22:47
50# iverlin
龙芯2F 已经上市了,所谓龙梦就是用的龙芯2F,目前流片的是四核的龙芯3,计算所原计划6月下旬给我们一批样片,因故推迟了。
作者: iverlin    时间: 2009-7-5 22:52
毫无疑问 CUDA或者GPGPU是带给业界的一次计算的革命.
非常出色的并行计算能力,这是带给我们最明显的特点.

当然,请不要混淆概念,目前的GPU架构来说是不可能取代CPU的.
CUDA或者GPGPU来说不是全部.

并不是任 ...
玉清 发表于 2009-7-5 22:37


很好的回应了对方CUDA编程难的论点
作者: tomsmith123    时间: 2009-7-5 23:02
52# iverlin
这篇应该是CSDN 上介绍CUDA 的入门贴。
用CUDA 写程序本来不难,但是写好就太不容易了。
作者: 玉清    时间: 2009-7-5 23:05
52# iverlin  
这篇应该是CSDN 上介绍CUDA 的入门贴。
用CUDA 写程序本来不难,但是写好就太不容易了。
tomsmith123 发表于 2009-7-5 23:02



这位说话请您先调查清楚,这是我的原创,其中参考了 NVIDIA's GT200--- Inside a Parallel Processor一文。

这是我首发在GZ,假如您说这是在CSDN上面的帖子,请您先给出确凿证据,谢谢!

作者: tomsmith123    时间: 2009-7-5 23:08
54# 玉清
抱歉,这样的帖子看得比较多。
不过我实在看不出哪里是新意。
作者: 玉清    时间: 2009-7-5 23:09
54# 玉清  
抱歉,这样的帖子看得比较多。
不过我实在看不出哪里是新意。
tomsmith123 发表于 2009-7-5 23:08


看不出新意不代表就是抄袭,谢谢.
作者: tomsmith123    时间: 2009-7-5 23:14
56# 玉清
至于你提到的60倍加速比,参照系统是什么?使用的平台是什么,能大致说一下吗?
作者: 玉清    时间: 2009-7-5 23:16
56# 玉清  
至于你提到的60倍加速比,参照系统是什么?使用的平台是什么,能大致说一下吗?
tomsmith123 发表于 2009-7-5 23:14


参照是我自己写的程式:
由于是初学,所以写都比较简单,做过个简单的Prime验证,加速比是达到了100倍.
当时的平台是9600GT+运行在3Ghz的Athon 64 X2.

要截图的话我再跑一遍测试给你看.

不过现在换U了.
作者: tomsmith123    时间: 2009-7-5 23:22
58# 玉清
哦,我想数字恐怕有不少问题。
理论上,2G 的X2 大致有10-18GFlops 的性能,96GT 大致是200-220GFlops 单精度的性能,也就是说,理论上二者差距也仅仅是不到20倍,当然,如果你在X86 上性能不高,GPU 上发挥到极限,也不能排除有这样的结果。
目前单精度看,最好的GPU 是最好的CPU 的10倍左右,而实现GPU 高效率,难度远远高于CPU。
作者: 玉清    时间: 2009-7-5 23:32
58# 玉清  
哦,我想数字恐怕有不少问题。
理论上,2G 的X2 大致有10-18GFlops 的性能,96GT 大致是200-220GFlops 单精度的性能,也就是说,理论上二者差距也仅仅是不到20倍,当然,如果你在X86 上性能不高,GP ...
tomsmith123 发表于 2009-7-5 23:22


不好意思,请不要妄下结论.
加速比达到20倍以上的CUDA程式 我周围很多牛人都有很多.
具体可以参考CSDN的CUDA版块校园程式设计大赛那里有部分.

还有,请不要直接以数字直接做结论,不能这么简简单单的考虑就说不可能达到100倍的加速比.
host端的代码偶写的是串行的,并没有Mutil-Thread,而device端到底并行还是串行你应该知道是什么情况.

假如您有需要,我可以把code和运行的截图贴出来,欢迎您来指点.
作者: tomsmith123    时间: 2009-7-5 23:46
60# 玉清
加速比达到多少,看参考系统是什么。
研究CUDA 研究得最深的UIUC,Hwu Wenmei 和我们交流的时候,他是这么说的,目前CUDA 更多是寻求建立某种事实标准,在性能和加速比上,不能过多苛求。CUDA 是解决了编程的问题,至于解决到什么程度,看未来的发展。

单核CPU 在SSE 的情况下,是很容易达到7,8GFlops 的实际性能的,而GPU 而言,1TFlops的理论性能,实际算法中,达到50% 可以成为完美。
坦白说,如果96GT 能够达到3G X2 的60倍加速比,我想计时出故障的可能性非常大。
作者: 玉清    时间: 2009-7-5 23:51
60# 玉清  
加速比达到多少,看参考系统是什么。
研究CUDA 研究得最深的UIUC,Hwu Wenmei 和我们交流的时候,他是这么说的,目前CUDA 更多是寻求建立某种事实标准,在性能和加速比上,不能过多苛求。CUDA 是解决了 ...
tomsmith123 发表于 2009-7-5 23:46


多谢指点,偶还需要多多学习,非常感谢.
作者: tomsmith123    时间: 2009-7-5 23:59
62# 玉清
国内其实CUDA 的研究和开发,完全没有展开,浪潮OEM Tesla,请的顾问是赵开勇,至于CSDN 的竞赛,抄袭,调用现成库,虚报加速比,也不能说太多。
作者: iverlin    时间: 2009-7-6 01:26
本帖最后由 iverlin 于 2009-7-6 01:30 编辑

我总结我的观点思路:无可否认,LARRABEE的成熟度以及定位无法引领一个时代,在AMD拿不出什么成果的现状下,CUDA的顺势发展最终让PC走向GPGPU计算时代。
作者: 玉清    时间: 2009-7-6 08:00
现在 中科院也已经非常重视CUDA,在采购中也已经采购了很多台Tesla.

曙光GHPC1000和曙光天阔A620r-T已经目前大陆最快的曙光 超级计算机,都使用了GPU作为运算主题.
作者: 僵尸情人    时间: 2009-7-6 10:25
厂商别搞这么多花俏的东西了,就好像一个3d立体眼镜,搞了20年都没搞出像样的东西。

商品和产品不是一个概念,你最好自己把这东西用好了,觉得能用了,再拿出来。

我不关心什么cuda什么gpgpu,我只知道时常需要什么!

需要低功耗 低发热量 高集成度 高性能的芯片

你在发展新技术和推广新概念的过程当中 消费者才不关心你这种所谓的过程 你跟那些伪发烧友扯
什么cuda 浪费时间 你走出门看看那个消费者关心你的什么cuda 他们只关心你的卡 够不够快 热量大不大 功耗高不高 需要用什么电源 能玩什么游戏 如果你说装了你的芯片 可以不用买cpu 可以
装win7 跟intel一个样 这样的宣传才是有意义的  

实用性和性价比统一的商品和标准 才是市场关心的问题 回头去看你的商品和标准吧 别玩概念
作者: 僵尸情人    时间: 2009-7-6 10:28
说到PHYSX 我就觉得好笑 相同价位 你的卡比人家慢 你这个技术有什么用 对市场没起到任何意义
作者: iverlin    时间: 2009-7-6 10:51
说到PHYSX 我就觉得好笑 相同价位 你的卡比人家慢 你这个技术有什么用 对市场没起到任何意义
僵尸情人 发表于 2009-7-6 10:28

你不觉得显卡是用来玩游戏的吗?你不觉得游戏现在画面上去了,就是物理效果很假吗?现在游戏最需要的就是物理效果,不然游戏的素质永远上不去。
作者: 僵尸情人    时间: 2009-7-6 11:32
3d显卡的初衷就是玩游戏 但是一个芯片供应商和标准制定商你不能把自己局限在供应3d游戏芯片的这个框架里面 所以发展一种全功能的芯片才是nvdia的目标 intel amd 都已经走在了前面 所以nvdia要生存 一定要有cpu 或者是拥有cpu功能的产品 gpgpu和 cuda就是这样产生的 想要3足鼎立 nvida自己很清楚 生产单一功能的3D显示芯片 已经不是出路 什么全球领先视觉技术供应商 那都是幌子 自从有了3A平台 NVDIA的芯片组越来越难卖 而一时半时又无法推出有竞争力的CPU产品  所以就用CUDA 这种概念来告诉市场 我的GPU能加快的CPU的功能 可以起到半个CPU的作用 这就是剖析市场的本质
作者: 僵尸情人    时间: 2009-7-6 11:41
很多时候NVDIA的技术都是废的 SLI PHYSX CUDA

消费者永远是这样 用一个东西能做到的事情 不喜欢用两个东西去做

所以SLI永远都是摆来看的 看高清也还是用软解压 要提升运算速度还是会很直观的升级CPU

没人关心你用的什么技术 因为你使用的技术没有能很便利地体现在我同等价格支出的范围内

真正成熟的技术不需做市场宣传 你做出来 市场自然会体验到这个技术的好处 市场才是标准
作者: iverlin    时间: 2009-7-6 11:50
LS很明显小看了或者没有了解GPU进行通用计算的效率比CPU高多少
作者: iverlin    时间: 2009-7-6 11:55
本帖最后由 iverlin 于 2009-7-6 12:08 编辑

如果仅仅是起到半个CPU的作用 那这个技术是没大的意义
就拿我所在的设计行业来说,平面设计行业经常使用PHOTOSHOP,CUDA能够极大的加速PHOTOSHOP的执行速度,所以CUDA就是平面设计师的利器;经常要进行视频编辑的多媒体行业,CUDA的对解编码的硬加速也能起到非常高的效用。比如建筑设计行业需要渲染效果图,如果GPU能提供数倍于CPU的渲染效能,就相当于节省了时间提高了工作效率。对于行业用户来说,效率就是金钱。

GPGPU之所以兴起,就是因为CPU的对某些领域力不从心,以及CPU的通用计算算法不够高效,如果CPU足够强了,GPGPU就不会产生了。显卡能为你做更多CPU做不好的事,何乐而不为。
作者: tomsmith123    时间: 2009-7-6 11:55
65# 玉清
中科院主要是李静海在推,IPE 目前的机器用得就很不好,基本没有应用在跑,路甬祥用院长基金鼓励CUDA 的开发,情况也不好,李静海向科技部汇报是很美好的,但是实际情况,葛巍最有发言权。
作者: tomsmith123    时间: 2009-7-6 12:00
71# iverlin
就实际性能和理论分值的比例来谈效率,很明显是GPU 要低。
GPU 的特点是从晶体管效能,功耗效能,die size 效率,要高于CPU。
CPU 的单线程性能远高于GPU,GPU 是理论聚合性能高。
作者: weihua8206    时间: 2009-7-6 12:34
本帖最后由 weihua8206 于 2009-7-7 00:19 编辑
毫无疑问 CUDA或者GPGPU是带给业界的一次计算的革命.
非常出色的并行计算能力,这是带给我们最明显的特点.

当然,请不要混淆概念,目前的GPU架构来说是不可能取代CPU的.
CUDA或者GPGPU来说不是全部.

并不是任 ...
玉清 发表于 2009-7-5 22:37


对方辩友请注意,入门不难与实际应用是完全不同的概念:汇编语言入门比VB还简单呢,你怎么不用汇编直接写程序呢??数学入门也很容易(2岁小孩都知道1+1=2),可没见数学家遍地都是吧?

代码晦涩复杂、程序难以移植及维护才是CUDA的致命伤!!对方辩友避而不谈这个问题,极力把话题转移到“CUDA能编出程序来,而且运算要快一些”这个论点上。那告诉对方辩友:直接用硬件汇编指令编出来的程序是最高效的,而且也能编出**oworld来。对方辩友是不是认为编写WINDOWS也是理所当然的应该用汇编了呢?

不正视CUDA的弊端,空谈其“能用”、“速度快”是没有意义的!
作者: ff0759    时间: 2009-7-6 13:22
如果仅仅是起到半个CPU的作用 那这个技术是没大的意义
就拿我所在的设计行业来说,平面设计行业经常使用PHOTOSHOP,CUDA能够极大的加速PHOTOSHOP的执行速度,所以CUDA就是平面设计师的利器;经常要进行视频编辑的多 ...
iverlin 发表于 2009-7-6 11:55


专业显卡够了,不明白拿PHOTOSHOP说事有什么意义,使用G卡的准专业级工作站也能很好地打开大图片,平面设计工作主要在于色彩还原,而不是打开一张图片要多少时间,如果没有300G的内存,打开一张300G的图片,不知道CUDA能够加速多少?
作者: iverlin    时间: 2009-7-6 13:26
本帖最后由 iverlin 于 2009-7-6 18:01 编辑
71# iverlin
就实际性能和理论分值的比例来谈效率,很明显是GPU 要低。
GPU 的特点是从晶体管效能,功耗效能,die size 效率,要高于CPU。
CPU 的单线程性能远高于GPU,GPU 是理论聚合性能高。
tomsmith123 发表于 2009-7-6 12:00


说到底还是GPU性能高,现在这个时代还比单线程执行效率?密集计算几乎都是多线程。
你这样比正如“我和你单挑我厉害,但是你一百个群殴我,还是我厉害”的歪理
作者: tomsmith123    时间: 2009-7-6 14:01
77# iverlin
CUDA 目前可以用在大约30%的计算上,其中性能比相同价格CPU系统 强的情况,只占30%的40%,大幅度超过相同价格CPU 系统的,大约是30%中的20%,也就是说,以CUDA 为例,对于约6% 的计算负载,有比较显著的加速效果,代价则是开发复杂度的提升,开发成本的上升,后期代码维护的复杂度高。
基于以上原因,大规模向CUDA 移植的商业计算软件,比如FLUENT,NASTRAN,基本还没有,少数软件的局部模块试水,并不能改变应用的全局状况。
作者: iverlin    时间: 2009-7-6 14:11
专业显卡够了,不明白拿PHOTOSHOP说事有什么意义,使用G卡的准专业级工作站也能很好地打开大图片,平面设计工作主要在于色彩还原,而不是打开一张图片要多少时间,如果没有300G的内存,打开一张300G的图片,不知 ...
ff0759 发表于 2009-7-6 13:22


CUDA对于PS的效用在于大图片的图像缩放、移动、翻转、滤镜处理、图层样式等等实际操作,能获得比单纯CPU软加速快得多的效率。CPU处理A2大小的无损图片就已经力不从心了。请不要拿打开图片说事,300G内存 300G图片是无稽之谈,扯不上关系。
作者: iverlin    时间: 2009-7-6 14:19
本帖最后由 iverlin 于 2009-7-6 14:26 编辑
77# iverlin  
CUDA 目前可以用在大约30%的计算上,其中性能比相同价格CPU系统 强的情况,只占30%的40%,大幅度超过相同价格CPU 系统的,大约是30%中的20%,也就是说,以CUDA 为例,对于约6% 的计算负载,有 ...
tomsmith123 发表于 2009-7-6 14:01


您一直在谈CUDA的复杂性,缺无视了CUDA相对传统意义上的GPGPU的优势:
随机访问字节内存,
较低的学习门槛,
没图形API额外开销,
共享内存和线程同步等。
任何软硬件架构都有自身的优势和不足,关键是时代如何选择,在现在这个时势下,NV的CUDA占尽了优势。不少支持CUDA的软件都已投出应用,发展展现出良好的势头,而INTEL的LARRABEE还在襁褓中,而且已一再强调,LARRABEE不是面对PC市场,而是针对超级计算机、服务器、工作站领域,因此无法引领一个PC时代。AMD还没能拿出什么成果,在这个特殊的时代格局下,CUDA引领PC走向GPGPU应用时代是理所当然的。

CUDA已经开始进入高校成为专业课程,可见是大势所趋。
作者: tomsmith123    时间: 2009-7-6 14:42
80# iverlin
Larrabee 如果不面向桌面和个人计算,就不会做GPU了,直接就是个many core 产品,现在就可以上市了。作为主流显卡定位的GPU产品,你感觉它离普通消费者还有多少距离?
CUDA 进入大学已经是很早之前的事情了,UIUC 今年已经第三年开GPGPU 的课程,有些学校开了CUDA 已经停开了,国内来说,都是跟着走,现在用还没用起来,推广就更不必说了。
我强调的始终是实用性,脱离实用性,盲目做CUDA 的移植,问题会非常多。
07年开始,华尔街就有不少公司巨资研究CUDA 的实用性,期望通过CUDA 来提高风险模拟的效率,有一家投行和nVidia 合作,投入1000万美金,在08年一无所获,最终尴尬收场,当时的结论是CUDA 在这个方向的效能优势不明显,而开发周期太长,不实用。
忽视开发的复杂度,忽视CUDA 算法适应性的问题,忽视CUDA 计算精度的缺陷,盲目投入CUDA 的开发,最终只能买个教训。年轻学生头脑发热问题不大,决策者头脑发热,就只能自食其果了。
作者: zxb8537    时间: 2009-7-6 15:21
cuda至少让我在视频应用方面体会到了速度,不过现阶段应用软件还是太少,希望nv再接再厉,联合软件厂商推出实用的日常工作办公娱乐能用的支持cuda加速的软件来,让gpu的强大性能不单单在游戏上体现,看好cuda的未来
作者: iverlin    时间: 2009-7-6 15:42
80# iverlin  
Larrabee 如果不面向桌面和个人计算,就不会做GPU了,直接就是个many core 产品,现在就可以上市了。作为主流显卡定位的GPU产品,你感觉它离普通消费者还有多少距离?
CUDA 进入大学已经是很早之前 ...
tomsmith123 发表于 2009-7-6 14:42

目前LARRABEE正是针对服务器和工作站的,这个市场的高利润INTEL垂涎已久。或者多年后可以从科学研究及商用转化为民用,但是当时CUDA的发展和成熟度已经不可同日而语了,INTEL要重返GPU市场却注定总是慢人一步。
作者: tomsmith123    时间: 2009-7-6 16:02
83# iverlin
给你复制一点WIKI,你看看Larrabee 到底是什么。主流一块显卡的价格,昂贵吗?
LarrabeeIntel正在研发中的显卡,预计会在2008年第三季推出样本,而会在2009年正式发布。与现时的显卡不同,它是建基于x86架构,内有多个称为IA的核心,数量亦可以随意增加或减少(12-32个),官方报称浮点性能可达到TeraFLOPS级别。此外,还有矢量处理单元,用作支持SIMD。它与中央处理器相似,有一个缓存架构。核心亦支援一套新的矢量指令集,用作矢量内存、整数和浮点计算。[1]Larrabee可以同时支援DirectXOpenGL。由于是通用核心,亦可以支援物理加速。[2]2008年8月,Intel称核心数量是8的倍数,总数最少是8个,最多32个。图形API方面,它支援主流的DirectXOpenGL,Intel亦会推出自家的标准。目的是充分发挥多X86核心的性能。浮点运算方面,支援IEEE标准的单双精度。显示内存接口与ATIRadeon R600相似,探用环形总线,每个方向是512-bit。[3]各X86核心亦使用此总线互相通讯。针对影像方面,Larrabee核心内有专门的VPU元件。[4]

Larrabee 从设计最初,就明确了作为GPU 产品摊薄成本的战略,这注定了它不是奢侈品,如果这个形势都认不清,谈CUDA 或者GPGPU,是不是有点不合适?
作者: 玉清    时间: 2009-7-6 16:31
对方辩友请注意,入门不难与实际应用是完全不同的概念:汇编语言入门比VB还简单呢,你怎么不用汇编直接写程序呢??数学入门也很容易(2岁小孩都知道1+1=2),可没见数学家遍地都是吧?

代码冗余很大、程序难 ...
weihua8206 发表于 2009-7-6 12:34


“代码冗余很大、程序难以移植及维护”
不知道这位先生如何得出 这个结论的?
"汇编语言入门比VB还简单呢"同样请问 这个结论如何得出来的?
顺便说一些常识性问题的:CUDA里面同样具有PTX汇编.
Windows程式设计里面同样也有汇编.

当然,我们讨论的是““代码冗余很大、程序难以移植及维护”,这个请问您是如何得出来的结论?

无论是CPU的多核还是CUDA,并不是所有程式都能适合多核的环境,串行是一定存在的,这个是目前无法避免的问题.

关于编写高性能的程式要不要直接使用汇编的问题,这个要结合具体情况讨论,而不是 编写高性能程式就如同您所说的那样
”认为编写WINDOWS也是理所当然的应该用汇编了“.
作者: iverlin    时间: 2009-7-6 16:35
看看LARRABEE的研发投入成本,集成的核心数量以及晶体管的数量级,一块主流显卡的价格?INTEL告诉你的吗?
作者: arnew    时间: 2009-7-6 18:04
看看LARRABEE的研发投入成本,集成的核心数量以及晶体管的数量级,一块主流显卡的价格?INTEL告诉你的吗?
iverlin 发表于 2009-7-6 16:35


难道Intel告诉你,lrb只是应用在服务器和集群的高端产品?
作者: arnew    时间: 2009-7-6 18:28
从我们要讨论的问题看,是cuda技术能否让我们的电脑走向GPGPU计算时代。
那么这里很重要的一点是,我们的电脑怎么界定?我们的电脑日常做的最多的事情是什么?
我们的电脑是否需要这么庞大,上若干T的计算量?
事实上,世界上绝大部分的电脑做的事情是处理文档和上网,很难说需要这么庞大的计算量。
如果厂家不能找到一个新的增长点,让用户需要庞大的计算量,那么很难推动cuda在普通用户的应用。起码在可以看到的若干年内不会有,与其讨论cuda能否让电脑走向GPGPU,不如讨论如何让一个普通人需要那么庞大的,若干T的计算量,现在个人PC需要最庞大计算量的,恐怕就是3D游戏了,而这些人在整个世界的PC市场,恐怕占得比例不大,而且这也不关cuda的事情了。Intel显卡做的差,但是占有率却是最高的,不是因为它性能好,而是因为很多用户够用了。
异构计算是发展的大方向,但是需要大计算量的不会是个人用户,正常来说,是ZF,大公司,科研机构等的服务器市场。在这个环境,NV由于自己没有完整的解决方案,cpu,主板芯片等,要切入这个市场相当不容易。
我认为,cuda目前来说,开发确实难,从入门角度说,写一个能跑起来的程序并不难,难得是对程序合理的优化,难的是你把显卡的计算能力发挥出来。而这对一个商业公司来说,是需要代价的。需要提到的是,上面有人提到加速比,在我这里,如果cpu的代码也进行优化,要达到60X的加速是很困难的,如果差这么多,应该考虑一下cpu代码效率是不是太低了。
而且,大家都说cuda发展快,升级快,这是好事吗?不,从开发者的角度说,这是很糟糕的事情,因为这意味着你前面做的代码,有可能需要推翻重来才能达到好的效果……试想一下,你和客户说:你需要买新的显卡才能运行新的程序,而这显卡是半年前才买的……这些东西,对一个想推商业产品的公司都是一个必须要认真考虑的事情。X86构架这么多年来,还是比较稳定的,对一个商业公司而言,就可以带来比较低的开发成本。
手上也在做cuda的东西,但是迟迟没有投入真正的使用,原因确实是多方面的。
NV在通用计算上要走的路还很长,而且并不好走。如果因为通用计算而影响了显卡市场的发展,得失之间很难说好还是不好…………
作者: tomsmith123    时间: 2009-7-6 18:36
86# iverlin
Larrabee 的显卡产品,特别是游戏显卡的价格,就是一块主流显卡的价格。
对于Intel 来说,Larrabee 就是第一个many core 的产品,通过显卡市场实现摊薄规模化,是否可以回收投资,并不是大的问题。
Larrabee 的主要研究基础就是80核,80核这样的项目又有什么回报呢?
作者: weihua8206    时间: 2009-7-6 19:01
CUDA对于PS的效用在于大图片的图像缩放、移动、翻转、滤镜处理、图层样式等等实际操作,能获得比单纯CPU软加速快得多的效率。CPU处理A2大小的无损图片就已经力不从心了。请不要拿打开图片说事,300G内存 300G图片 ...
iverlin 发表于 2009-7-6 14:11


对方辩友一而再、再而三的举PHOTOSHOP的例子,拿LIGHTSCAPE的渲染来说事!

试问对方辩友,这些是通用软件么??这些图形应用本来就是应该用专业显卡,CUDA在这些软件上的应用丝毫不能说明其在科学运算方面是可用的!!只能说明作为专业显卡搭载CUDA是有所助益的!!

对方辩友作为图形设计人员的局限使其看不到在通用领域的程序员对CUDA的普遍不认同!!请对方辩友咨询下身边使用MATLAB、MAX-PLUS等通用软件的程序员,虚心听听大家对CUDA的看法,对方就会发现:在图形应用领域之外,至少目前,CUDA是远远落后于CT的,几乎没有程序员愿意使用它。
作者: weihua8206    时间: 2009-7-6 19:34
“代码冗余很大、程序难以移植及维护”
不知道这位先生如何得出 这个结论的?
"汇编语言入门比VB还简单呢"同样请问 这个结论如何得出来的?
顺便说一些常识性问题的:CUDA里面同样具有PTX汇编.
Windows程式设 ...
玉清 发表于 2009-7-6 16:31


对方辩友显然没有过作为汇编程序员实际开发的经验。

扫盲:汇编语言是低级语言,一切高级语言都是基于低级语言的,在编译的时候都会按一定的规则转换成汇编语言。再由底层编译器译为机器码来执行。汇编语言可以直接对应机器码,由它转换为机器语言几乎是没有效能损耗的,但高级语言为了有利于结构化设计,其编译的代码必然会有冗余!

在简单指令集中,汇编语言代码种类很少,所以极易入门,但用其编写程序时却需要绞尽脑汁、一万行代码才能实现C语言中几百条代码的功能(当然了,这几百条代码用编译器编译出的代码可能两万行都不止,所以说汇编语言直接编程是执行效率最高的),而且移植难度极高,如果把一段X86的汇编代码移植到POWERMAC,几乎全部代码都需要重写,这是令人抓狂的!!

而CUDA提供给用户的界面,就像汇编语言一样晦涩:用户需要编写海量的代码来实现其它界面少量代码就能实现的功能。诚然、这些代码运行起来或许是高效的、快速的。但你是否考虑到程序员繁重的劳动了呢?这样即使一种盲目的自信,也是对程序员劳动的不尊重。

举几个例子说明:
1、一个MM中暑晕倒了,你是马上给她喝自来水,还是去给她泡功夫茶呢?功夫茶很好,一杯茶顶20杯自来水解渴,还提神、醒脑、养身。。。。但是等你泡完,中暑的MM已经渴死了!你极力推崇功夫茶,自己应该天天泡功夫茶喝,从来不喝水才对,为什么你不这样呢?“因为泡茶太费时间了,我还要工作、生活节奏很快……”

2、马上要上班了,你还没吃早点,给你两个选择:吃汉堡或者吃螃蟹,你怎么办?“螃蟹比汉堡好多了,但我只能吃汉堡。因为吃螃蟹太费时间了,等我吃完,上班时间早过了,老板会骂死我的。我生活节奏很快,不能这么耽误时间……”

对了,程序员们生活节奏也很快,能用几十行代码,一上午昨完的工作,你偏要推荐CUDA,让他工作一星期才能完成,他能支持你吗?能不反对CUDA么?
作者: iverlin    时间: 2009-7-6 20:29
对方辩友一而再、再而三的举PHOTOSHOP的例子,拿LIGHTSCAPE的渲染来说事!

试问对方辩友,这些是通用软件么??这些图形应用本来就是应该用专业显卡,CUDA在这些软件上的应用丝毫不能说明其在科学运算方面是可 ...
weihua8206 发表于 2009-7-6 19:01


看来您完全理解错误了,这些制图软件处理图像本来就是CPU做的事,显卡只是负责显示,比如专业显卡只能提高显示效果,在3D类软件上实现实时抗锯齿和物效等效果,
而不负责处理、渲染成像。但CUDA的介入让显卡能够帮助甚至代替CPU进行处理及渲染图像,这不正是GPGPU的范畴么?而且这些是我的举例而不是局限于这个领域,请不要偷换概念。
作者: 僵尸情人    时间: 2009-7-6 21:12
越扯越远 全世界有几台电脑天天搞PHOTOSHOP 如果有没有游戏产业支撑 显卡市场早就完蛋了

CUDA GPGPU 吹得再好 什么时候我不用装CPU 就可以了
作者: iverlin    时间: 2009-7-6 22:06
越扯越远 全世界有几台电脑天天搞PHOTOSHOP 如果有没有游戏产业支撑 显卡市场早就完蛋了

CUDA GPGPU 吹得再好 什么时候我不用装CPU 就可以了
僵尸情人 发表于 2009-7-6 21:12

LS的朋友真爱钻牛角尖,关于游戏方面我已经回应你了,其他作图软件都是举例,都是回应你和别人的疑问,请回看我的帖子
那你不问下反方的朋友全世界有几台电脑天天搞编程啊?哈
作者: 玉清    时间: 2009-7-6 22:18
而CUDA提供给用户的界面,就像汇编语言一样晦涩:用户需要编写海量的代码来实现其它界面少量代码就能实现的功能。诚然、这些代码运行起来或许是高效的、快速的。但你是否考虑到程序员繁重的劳动了呢?这样即使一种盲目的自信,也是对程序员劳动的不尊重。
weihua8206 发表于 2009-7-6 19:34


请问这句话该如何理解呢?
CUDA相对于以前的GPGPU开发环境来说,已经容易了非常多,GPU精粹2 这本书中有部分讲述了GeForce 6时代的GPGPU开发.
试想,假如没有CUDA,而仍然停留在 那远比CUDA开发复杂的GPGPU开发的早期阶段,是不是 程式员的工作量更大呢?

而且CUDA也提供了两种开发模式可以选择,Runtime和Driver.
Runtime开发比较容易上手,但是Driver API却能够带来更好的控制.
作者: binbin521    时间: 2009-7-6 22:20
很好的活动
作者: tomsmith123    时间: 2009-7-6 22:25
95# 玉清
GPGPU 编程,CT 之前,最容易上手的是BROOK,不过由于AMD 收购,ATI 已经基本放弃了在HPC 领域投入,声音小了很多。
CUDA 相对于BROOK+ CAL/CTM,效能相对可以做得好一些,而比单独使用CAL/CTM 又可以容易一些,更重要的是nVidia 在GPGPU 领域投入了太多的资金。
作者: weihua8206    时间: 2009-7-6 23:31
本帖最后由 weihua8206 于 2009-7-7 00:29 编辑
看来您完全理解错误了,这些制图软件处理图像本来就是CPU做的事,显卡只是负责显示,比如专业显卡只能提高显示效果,在3D类软件上实现实时抗锯齿和物效等效果,
而不负责处理、渲染成像。但CUDA的介入让显卡能够 ...
iverlin 发表于 2009-7-6 20:29


请对方辩友不要为了辩论的结果而辩论,以一个专业图形设计人员的素质,你会不知道专业显卡在渲染上的加速作用么?“专业显卡只能提高显示效果”这种说辞实在太外行了。您说的是ISA时代的显卡么?那时的显卡确实只能提高显示效果(当然,那样的芯片也不能称作GPU)。

专业显卡之所以“专业”,并非显示效果有多好!实际上专业显卡就是为了特定软件设计了特定的指令集,供特定软件的程序员调用GPU进行3D及光影渲染运算。3DMAX之类的软件都是用CPU运算的么?对方辩友这样说实在有点误导观众的嫌疑了。

我再次强调,CUDA在图形设计软件上的应用丝毫不能说明GPGPU运算时代将要到来!相反的,类似的专业应用(注意,是专业应用,而非GPGPU所谓的“通用”运算)早就出现了,阁下难道没用过野猫7110么?那时候专业显卡就已经用来对3DMAX、lightscape、MAYA等软件进行渲染、成像以及光影动态运算的加速了!!

另外,请对方辩友正面回应我的观点,而不要用误导观众的方式来诡辩。我提出的事实是:在使用MATLAB等权威软件进行科学运算的程序员中,已经形成了一种共识,即:使用CUDA会使程序员工作量成倍增加,且难于移植和维护。如果CUDA真的如对方辩友所说的那样前途广阔、为何大家却不愿使用,而宁愿选择其它不使用GPGPU的方案呢?

在这里,我说MATLAB是通用科学计算的标志性软件,对方没有异议吧?在高等数学、有机化学、量子物理、气象分析等领域,MATLAB都是算法嵌入的主要编程工具。而对方辩友反复提到的PHOTOSHOP,能算得上通用运算软件么?一个图形处理工具而已,作为GPU的对外界面,如果CUDA对图形软件都起不到优化作用,那英伟达可以直接倒闭了!如果对方辩友认为PHOTOSHOP也是“通用计算软件”,那你用PHOTOSHOP算个平方根给我看看,或者用PHOTOSHOP给我求解个拉格朗日方程出来看看!
作者: 贵甲    时间: 2009-7-6 23:43
专业显卡够了,不明白拿PHOTOSHOP说事有什么意义,使用G卡的准专业级工作站也能很好地打开大图片,平面设计工作主要在于色彩还原,而不是打开一张图片要多少时间,如果没有300G的内存,打开一张300G的图片,不知 ...
ff0759 发表于 2009-7-6 13:22


ps的加速并不是通过cuda实现的 amd的显卡一样的可以使用

目前cuda的应用并不充分 比较好的应用仅在physx硬件加速 而大多游戏开发 仅是面对的physx的接口,而不用直接面对cuda

在其他很多方面 cuda也是失败者 如ElcomSoft开发的系列密码和wifi 破解工具,使用cuda的性能也都不如AMD的产品

MediaCoder视频转码软件 新版支持cuda 但也仅仅是编码 而不能处理视频源 也不支持two pass 适用性有很大的限制 并且质量也存在很严重的问题

cuda仅是一个企业封闭的标准,缺乏业界的广泛支持 特别是MS的支持 前途是不容乐观 最后也只会跟divx、XDR、Glide这些封闭的标准一样 一起完蛋

另外我八卦下 我的内部消息 nv中国的cuda和physx部门 在6月底基本被砍光了
作者: 贵甲    时间: 2009-7-6 23:46
请对方辩友不要为了辩论的结果而辩论,以一个专业图形设计人员的素质,你会不知道专业显卡在渲染上的加速作用么?“专业显卡只能提高显示效果”这种滑天下之大稽的说辞实在太外行了(是为了辩论刻意这么说么?这 ...
weihua8206 发表于 2009-7-6 23:31


算平方根 或者什么公式不是什么问题 关键是效能 计算并行性是否需求很大 gpu同cpu相比有多大优势




欢迎光临 POPPUR爱换 (http://we.poppur.com/) Powered by Discuz! X3.4