POPPUR爱换

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

搜索
查看: 74963|回复: 257

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

[复制链接]
发表于 2009-7-4 00:56 | 显示全部楼层 |阅读模式
本辩论赛为第一届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

结束时间: 2009-7-19 00:47 裁判: Edison

正方观点 (53)

可以,NVIDIA的CUDA就代表着未来显卡发展和通用计算的将来

反方观点 (140)

不行,Intel和AMD将会放出更强力并且具有超强并线执行能力的通用运算器,例如是Larrabee。才代表未来电脑通用运算性能提升的将来

辩手:70 ( 加入 )
 
辩手:93 ( 加入 )
发表于 2009-7-4 18:28 | 显示全部楼层
GPU应该和显示器整合啊
回复

使用道具 举报

发表于 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却是实实在在摆在眼前的好东西。
回复

使用道具 举报

发表于 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 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时代。
回复

使用道具 举报

发表于 2009-7-5 13:37 | 显示全部楼层
对方辩友在理论方面十分专业,在下佩服,但是有以下事实是对方不能忽视的:

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

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

【请注意文明讨论——管理员注】
回复

使用道具 举报

发表于 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的游戏还不是一样的繁多。说道底,难,是相对的,不是绝对的。

对方辩友堆砌一大堆文字都没有点到要点。
回复

使用道具 举报

发表于 2009-7-5 13:49 | 显示全部楼层
本帖最后由 iverlin 于 2009-7-5 13:55 编辑

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

既然INTEL做不到引领一个时代,AMD也做不到的话,CUDA舍我其谁?
回复

使用道具 举报

发表于 2009-7-5 15:03 | 显示全部楼层
朋友你别太激动,各抒己见罢了~你的大字体和叹号让我很大压力呀~

既然你认为

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

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

说过了,难易,只是相对的,不是绝对的。
回复

使用道具 举报

发表于 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之于普通消费者是个遥远的东西,不管是从时间上,还是金钱上


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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 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还是没有上市!
回复

使用道具 举报

发表于 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语言基础和一些计算机常识即可.
回复

使用道具 举报

发表于 2009-7-5 22:43 | 显示全部楼层
本帖最后由 iverlin 于 2009-7-5 22:48 编辑

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

请说话负责点。
回复

使用道具 举报

发表于 2009-7-5 22:52 | 显示全部楼层
毫无疑问 CUDA或者GPGPU是带给业界的一次计算的革命.
非常出色的并行计算能力,这是带给我们最明显的特点.

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

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


很好的回应了对方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上面的帖子,请您先给出确凿证据,谢谢!
回复

使用道具 举报

发表于 2009-7-5 23:09 | 显示全部楼层
54# 玉清  
抱歉,这样的帖子看得比较多。
不过我实在看不出哪里是新意。
tomsmith123 发表于 2009-7-5 23:08


看不出新意不代表就是抄袭,谢谢.
回复

使用道具 举报

发表于 2009-7-5 23:16 | 显示全部楼层
56# 玉清  
至于你提到的60倍加速比,参照系统是什么?使用的平台是什么,能大致说一下吗?
tomsmith123 发表于 2009-7-5 23:14


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

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

不过现在换U了.
回复

使用道具 举报

发表于 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和运行的截图贴出来,欢迎您来指点.
回复

使用道具 举报

发表于 2009-7-5 23:51 | 显示全部楼层
60# 玉清  
加速比达到多少,看参考系统是什么。
研究CUDA 研究得最深的UIUC,Hwu Wenmei 和我们交流的时候,他是这么说的,目前CUDA 更多是寻求建立某种事实标准,在性能和加速比上,不能过多苛求。CUDA 是解决了 ...
tomsmith123 发表于 2009-7-5 23:46


多谢指点,偶还需要多多学习,非常感谢.
回复

使用道具 举报

发表于 2009-7-6 01:26 | 显示全部楼层
本帖最后由 iverlin 于 2009-7-6 01:30 编辑

我总结我的观点思路:无可否认,LARRABEE的成熟度以及定位无法引领一个时代,在AMD拿不出什么成果的现状下,CUDA的顺势发展最终让PC走向GPGPU计算时代。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 23:46

Powered by Discuz! X3.4

© 2001-2017 POPPUR.

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