POPPUR爱换

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

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

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

[复制链接]
181#
发表于 2009-7-15 20:14 | 只看该作者
.....
一周还好,如果管理员宣布延长一年的话,那肯定没人愿意再说话了,哈哈

书归正传,181楼反方辩友提到的“PHOTOSHOP CS4 使用GPGPU 技术映射到OpenGL”这一说法显然是不成立的,在此提醒对方辩友注意一个事实,ADOBE公司从来没有声称过PHOTOSHOP CS4 使用了CUDA技术,所谓的“支持PHOTOSHOP CS4 ”,只是英伟达一厢情愿,编写了第三方滤镜提供给用户而已。
回复

使用道具 举报

182#
发表于 2009-7-15 22:17 | 只看该作者
说一千道一万 目的是什么才是最重要的事情。说这些没用的干什么,人家的目的就是为了把你的钱变成人家的,为了这个目的,什么这个啦那个拉德都能出来,改天再炒作一把一个显卡就能如何如何,还不是为了挣钱?太无聊了。
回复

使用道具 举报

183#
发表于 2009-7-15 23:10 | 只看该作者
本帖最后由 Mehus 于 2009-7-16 01:12 编辑

我觉得作为一个用户最希望看到的是能够出现更多基于CUDA技术的应用程序,我认为GPGPU没有必要兼容X86,完全可以在软件设计中将各种任务进行合理分配,其实这点也很简单就可以做到,CUDA已经提供了一系列的平台方案,但是关键是应该提供给程序员一个方便而快捷的方法来从X86转换到CUDA,一个X86程序如果只需要通过在源代码中查找替换这种方式就转换为CUDA运行,在显卡上去更加高速的计算,这不是很吸引人吗,当然还不是这么简单,而很多需要进行大量计算又愿意付出一些时间重写代码的人现在已经这么做了。如果可以更简单,CUDA程序肯定会爆炸性的出现(最好给OpenCL的代码也提供一个代码转换工具或方便的转换方法)。
这肯定是一个趋势,计算机需要处理的数据会越来越多,程序会越来越庞大,数据处理肯定也是会多流向分布式计算发展,当然CPU肯定还是中央处理器,而GPGPU我觉得完全可以理解成一颗很强的协处理器。
对于普通用户也是愿意接受的,因为买了一个显卡就已经拥有硬件平台了为什么不让他发挥能力呢。对于专业用户他们更愿意接受,因为花更少的钱他们可以获得更强大的计算性能。
未来会不会出现类似这样的一张“显卡”——上面的主芯片也就是“GPGPU”是插在GPGPU插槽上的,旁边插有“显存条”,卡的接口是PCI-E X64,而那时的主板上可以同时插上4块这种卡……
所以我认为两点很重要,第一,能够提供更强的处理能力和效能;这点没有什么问题。第二,更强的易用性,包含更好的移植性和开放性;
CUDA是又优越又有危机的东东。“GPGPU“,也许以后不叫GPGPU,他肯定会发挥其强大的计算能力。CUDA可以说是一个市场和应用的开山人,虽然CUDA执行效率肯定会比OpenCL高,但是可能顶不过OpenCL和DirectX11CS使用的普遍性。不过就算OpenCL和DirectX11CS很普遍,CUDA还是工作在更低的层上的,有不需要跨平台的计算仍然可以直接使用CUDA C以获得更高的效能。

结论:“GPGPU”的崛起并非CUDA一人的功劳,CUDA开启了在GPU上的通用计算之门,通用计算技术带领大家进入“GPGPU”时代。

尾语:我觉得大家应该跳出某种现有状况的局限,事物都是发展变化的。我不是学计算机专业的让大家见笑了,说得不对的请见谅
回复

使用道具 举报

184#
发表于 2009-7-15 23:14 | 只看该作者
.....
一周还好,如果管理员宣布延长一年的话,那肯定没人愿意再说话了,哈哈

书归正传,181楼反方辩友提到的“PHOTOSHOP CS4 使用GPGPU 技术映射到OpenGL”这一说法显然是不成立的,在 ...
weihua8206 发表于 2009-7-15 20:14


我只是请教...提问...请注意 后面的那个问号......

对方辩友称“CS4  使用用 OPENGL 做加速的,没用上CUDA。”

所以我请教 是否采用了GPGPU技术.
回复

使用道具 举报

185#
发表于 2009-7-15 23:24 | 只看该作者
但是关键是应该提供给程序员一个方便而快捷的方法来从X86转换到CUDA,一个X86程序如果只需要通过在源代码中查找替换这种方式就转换为CUDA运行,在显卡上去更加高速的计算,这不是很吸引人吗,
所以我认为两点很重要,第一,能够提供更强的处理能力和效能;这点没有什么问题。第二,更强的易用性,包含更好的移植性和开放性;
虽然CUDA执行效率肯定会比OpenCL高,但是可能顶不过OpenCL和DirectX11CS使用的普遍性。不过就算OpenCL和DirectX11CS很普遍,CUDA还是工作在更低的层上的.
Mehus 发表于 2009-7-15 23:10


x86和CUDA是不冲突的,一个CUDA程式是需要运行在x86的CPU上面的,CPU是存在的.

通过替换查找就能实现的东西还不如直接typedef......

CUDA的执行效率比不比OpenCL现在还不好说,毕竟现在还难以看到OpenCL的编译器...
OpenCL的底层程度和CUDA的Driver API差不多...

CUDA工作层我想应该要比DX11的CS高吧..
回复

使用道具 举报

186#
发表于 2009-7-15 23:32 | 只看该作者
我只是请教...提问...请注意 后面的那个问号......

对方辩友称“CS4  使用用 OPENGL 做加速的,没用上CUDA。”

所以我请教 是否采用了GPGPU技术.
玉清 发表于 2009-7-15 23:14


ADOBE没有使用过GPGPU技术的,这一点毋庸置疑。
回复

使用道具 举报

187#
发表于 2009-7-15 23:37 | 只看该作者
支持
英伟达最近几年被intel蹂躏的够呛啊
回复

使用道具 举报

188#
发表于 2009-7-16 00:35 | 只看该作者
本帖最后由 Mehus 于 2009-7-16 05:09 编辑

我是中立的,对标题我只赞成一半
通过替换查找就能实现的东西还不如直接typedef......
玉清 发表于 2009-7-15 23:24

很有道理,我了解的程序员都是很勤奋的


x86和CUDA是不冲突的,一个CUDA程式是需要运行在x86的CPU上面的,CPU是存在的.
玉清 发表于 2009-7-15 23:24

没错,这点我很赞成,使用CUDA C的程序是在VC下面挂CUDA的库来编写的,所以其本体是个能够将部分功能转移至GPU的VC程序。
从某种意义上看,我觉得GPGPU不支持X86并不是劣势。


CUDA的执行效率比不比OpenCL现在还不好说,毕竟现在还难以看到OpenCL的编译器...
OpenCL的底层程度和CUDA的Driver API差不多...

CUDA工作层我想应该要比DX11的CS高吧..
玉清 发表于 2009-7-15 23:24

关于OpenCL和CUDA C的效能我主观上感觉CUDA C会好一点,毕竟他和CUDA是同生的,从NV的解释看CUDA应该理解成一种指令集,CUDA C、OpenCL和DX11都是在CUDA构架上运行的一种语言,都需要先通过驱动编译成PTX语言(类似于X86汇编)来在GPU上运行,虽然NV的驱动也会对OpenCL做优化但肯定没有CUDA C更适应NV的GPU的硬件结构和内存管理特性,CUDA C来得更直接,DX11就说不清楚了,这就有点战略性了,对谁优化多一点NV的PTX编译驱动很关键,但我觉得可以大胆推测现有平台上:效率(OpenCL on AMD)<效率(OpenCL on NV)<效率(CUDA C on NV)。效率应该是(单位时间内数据处理量)/(晶体管数*工作频率)。未来AMD也可能改善它的底层构架来更好的支持OpenCL,但是NV也没停下,而且起点比他高。

CUDA是好东西,是很好的开拓者,当然现在也是领先者,但是进入“GPGPU”时代并非完全是CUDA的功劳,而是多种通用计算平台整合的结果,主要是DX11和OpenCL,虽然CUDA C可能比他们更快。
回复

使用道具 举报

189#
发表于 2009-7-16 03:11 | 只看该作者
现在很多软件还是在X86架构,只是有很少的软件为CUDA做了优化.而且就算是有最好的技术也不一定可以成功,RAMBUS就是个例子.INTEL也不会就这样让让NV做大的,也会推出新的技术来抗衡的.
回复

使用道具 举报

190#
发表于 2009-7-16 10:50 | 只看该作者
这是反垄断的开始,好现象。支持
回复

使用道具 举报

191#
发表于 2009-7-16 10:58 | 只看该作者
支持反方
目前用的机器的表现来看
显卡的性能总能发挥到极限
而U在划水
回复

使用道具 举报

192#
发表于 2009-7-16 11:03 | 只看该作者
有人能推荐个比285*3的性能还好的么
回复

使用道具 举报

193#
发表于 2009-7-16 11:30 | 只看该作者
有人能推荐个比285*3的性能还好的么
tx00zzz 发表于 2009-7-16 11:03


Tesla S1070,谢谢.
回复

使用道具 举报

194#
发表于 2009-7-16 11:38 | 只看该作者
很有道理,我了解的程序员都是很勤奋的。
CUDA C、OpenCL和DX11都是在CUDA构架上运行的一种语言,都需要先通过驱动编译成PTX语言(类似于X86汇编)来在GPU上运行。
没错,这点我很赞成,使用CUDA C的程序是在VC下面挂CUDA的库来编写的,所以其本体是个能够将部分功能转移至GPU的VC程序。
Mehus 发表于 2009-7-16 00:35


额,首先我不知道typedef和程式员的勤奋有什么联系.
区别几个概念性问题.
CUDA C,DX11不是一门语言.
DX11,OpenCL是不可能 运行在CUDA 架构上面的.
VC不是语言,只是一个IDE....
回复

使用道具 举报

195#
发表于 2009-7-16 12:41 | 只看该作者
Elvis老大,我的风扇怎么样了,发出来了吗
回复

使用道具 举报

头像被屏蔽
196#
发表于 2009-7-16 12:43 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

197#
发表于 2009-7-16 13:20 | 只看该作者
本帖最后由 肥肉方子 于 2009-7-16 13:24 编辑

0:GPGPU可以被称为通用图形处理器
   CUDA(Compute Unified Device Architecture),显卡厂商NVidia推出的运算平台。

1:首先我们确认,gpgpu的时代一定会来临。那么就是谁引领这个潮流而已。
   纵观一下历史,发现在科技成熟的时代,做同一件事情的公司肯定有很多家。
   就比如说现在做显卡的就有nvidia和amd,而做cpu的有intel和amd。
2:那么到底是谁能够引领这个潮流呢?我想如果按照现在这个阶段的话,
   我只能说,是谁准备的充分,谁能一直生存到百姓和企业对gpgpu的大量需要的时代。
  3dfx的时代很牛,速度很快,但是它倒了。这就是生存能力比较差的体现。也就是说,
   一个公司要想引领潮流的话,首先得能够等到那个时代的到来。
3:时代来了,这种gpgpu技术,肯定会有好几个标准,intel一个,nvidia一个,amd一个。
   也叫做三国鼎立的局面。百姓该选哪个,企业该选哪个?大家都会是一头雾水。
   百姓优先选价格低性能好 ,企业会优先选择性能强劲并且非常稳定的。
4:那么不同技术等级的程序员会选哪个?
5:举个例子吧,ps系列,xbox系列,任天堂系列的主机。
6:软件和硬件,通常都是互动的。软件是硬件的生命。

7:cuda的制造者是nvidia,那么使用cuda的人则是程序员。
   程序员,需要是的有钱赚,那么cuda能够满足程序员的需要吗?
  cuda到底有多强?无非就是快了一些而已,但是你在cuda上面写的程序,
  是否可以移植到其他平台上面,一处编码到处编译
8:想到这里,我头有点疼。反正我是不碰cuda的。原因很简单,我连学编译原理,网络传输,医疗软件的 时  间都没有,更不可能把精力放到cuda上面。
9:程序员的准则是,到哪里都有饭吃,所以如果cuda成为标准的话,或许可以走向。

10:什么时候显卡芯片可以直接执行x86的汇编代码的文件的话,我想那就是这个厂商的天下了。
      要不然就得等4代以内的程序员都死了。
回复

使用道具 举报

198#
发表于 2009-7-16 15:13 | 只看该作者
GPU的功耗真是吓死人了,使用GPU运算的功耗性能比要比CPU大的多,现在intel和amd的cpu都向着低功耗高性能的方向前进。所以还是反对使用GPU参与运算
回复

使用道具 举报

199#
发表于 2009-7-16 15:55 | 只看该作者
本帖最后由 Mehus 于 2009-7-16 16:02 编辑
额,首先我不知道typedef和程式员的勤奋有什么联系.
区别几个概念性问题.
CUDA C,DX11不是一门语言.
DX11,OpenCL是不可能 运行在CUDA 架构上面的.

VC不是语言,只是一个IDE....
玉清 发表于 2009-7-16 11:38


这是NV发布支持OpenCL时的资料图片,连带的两段话是复制过来的,不是我写的
下面这张图也许是在此次OPENCL发布后较为常见的一个,不过其中意义大家不一定能够完全领会,我们在这里做一个说明。这是一张能够解释大家对OPENCL与CUDA关系疑问的重要“结构”图。NVIDIA第一次明确了两个重要名词“CUDA架构”与“CUDA C语言”。在以往理解中,我们常默认CUDA就是指基于NVIDIA GPU或并行处理器的编译器、C语言、库和相关软件开发环境;而硬件方面,则是指所有支持CUDA的GPU。今天,NVIDIA明确了包括硬件支持和软件环境一起,我们称之为CUDA架构,而常用的基于C语言的开发环境则是CUDA C,或者CUDA Fortran,CUDA C++,以及今后的CUDA JAVA等等。而OPENCL,也与之并列。


实际上CUDA C语言是一种C语言的扩展,这扩展的一部分主要是进行并行运算编程的方面,这些是通过C的扩展来获得的。基本上认为CUDA的程序也是一种标准的C语言的程序,然后使用一些关键字然后来对并行这方面计算,最后做一些区分。CUDA C语言最终编译会成为PTX的代码,然后在GPU上执行。OpenCL是一个API,就是应用程序的编程接口,OpenCL和OpenGL很像,这种API可以调用API最底层的数据,通过程序开发调用各种各样的函数,实现各种各样的功能。对于API来说一般它对硬件设备有比较完整的访问权,以访问硬件的设备,可以对内存进行管理,这是由开发人员通过编程来做的这些事情。最后OpenCL通过编译、通过驱动程序可以生成PTX代码在GPU上进行执行。


VC是语言还是IDE,就有点钻牛角尖了,对于标题内容不重要
回复

使用道具 举报

200#
发表于 2009-7-16 16:38 | 只看该作者
这是NV发布支持OpenCL时的资料图片,连带的两段话是复制过来的,不是我写的


VC是语言还是IDE,就有点钻牛角尖了,对于标题内容不重要
Mehus 发表于 2009-7-16 15:55


恕我眼拙,我没有看到这段文字的任何一个地方写着DX11 CS和OpenCL是运行在CUDA架构之上.
那幅图片显示着:第一层是CUDA,第二层是C,C++,DX11,OpenCL,Fortan..................第三层 显示的是应用程式.
难也能理解为C,C++ 和Fortan Runtime也是 运行 在CUDA架构之上么.......
70年代C语言面世的时候NVIDIA公司都还没有成立内......
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-24 21:42

Powered by Discuz! X3.4

© 2001-2017 POPPUR.

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