转一段关于CPU与GPU技术的讨论,大家看看
硬件吧
全部回复
仅看楼主
level 4
极度_凋零 楼主
GPU:跑PI根本就不能客观的反应CPU的性能,CPU本来就不擅长浮点运算,CPU主要是用来做整数运算的。如果让GPU如G80来跑PI恐怕5s都用不了。如果K10真的集成GPU核心,那么1M位SuperPI将毫无意义——很可能用不了1s。(注GPU具有极强的浮点运算能力——级别为万亿次浮点运算/秒,这也是为什么CPU不能用于3D图形渲染的主要原因。) CPU:CPU不能用于3D图形渲染"~~~实在不敢苟同~~~如果你说高质量的实时渲染CPU完成不了还差不多~~~目前真正的工业/电影级别的3D渲染最后是CPU完成的~~~GPU的精度和可编程能力还远远不足~~~ GPU:从目前的情况来看CPU的浮点运算能力很差,如目前顶级的CPU的浮点运算能力为20GFlops,而GPU已经达到了1TFlops,高出CPU几十倍。而擅长整数运算的CPU的运算精度显然没有GPU高,同时通用性也不高,这也是为什么通用处理器大多为GPU架构的重要原因。CPU的优势在于对于复杂过程的处理。同时二者基于不同的编程结构,可以说编程能力方面二者并无明显差距。 
2008年02月02日 02点02分 1
level 4
极度_凋零 楼主
CPU:"而擅长整数运算的CPU的运算精度显然没有GPU高,同时通用性也不高,这也是为什么通用处理器大多为GPU架构的重要原因"~~~彻底不敢苟同~~~Flops只是指令IO数量而已~~~要运行同一个指令体系比较才有意义~~~即使目前GPU的浮点运算能力超过CPU~~~但是其精度和可编程性比集cpu还是差距明显~~~在绝大多数领域应用起来还很困难~~~否则渲染农场/核爆模拟/地质测绘/天气预报之类的集群也不会还在CPU上大作文章了~~~但以GPU的某些优势~~~以及编程环境的普及~~~在上述领域会取得一定成绩~~~但是替代显然不可能~~~ GPU:渲染肯定是不会用CPU的,要不然上万块的专业图形卡用来做什么?3DMark的图形渲染测试已经很明显证明,一般GPU可以流畅渲染的场景,末前顶级的CPU却也仅仅是勉强能够承受而已。即使用CPU作渲染也不可能是使用Intel和AMD这样基于X86架构的微处理器,一定程度上说也更类似于GPU。GPU的通用性也远远好于CPU,目前用于科学计算的大型计算机都是使用基于GPU架构的处理器。如nVidia开发的通用计算机就是基于G80架构,而IBM的蓝色基因巨型计算机亦是如此。其计算精度远远高于目前桌面CPU。
2008年02月02日 02点02分 2
在你这个回复6年后的今天,我已经在用纯gpu物理渲染器octanerender了
2014年04月28日 12点04分
level 4
极度_凋零 楼主
CPU:渲染分好多种~~~你说的是实时的渲染要靠GPU来完成~~~比如游戏以及专业软件中的编辑模式下~~~但是工业设计/电影特效等的3D渲染最后都是CPU完成的~~~这类应用的代表是渲染农场~~~GPU本来就是一个专用功能的部件~~~进入DX8之后开始拥有部分的可编程性~~~进入到DX10时代后这种可编程性大大提高了~~~但是还远不及本来就是作为通用部件设计的CPU来的好~~~通用性远不及CPU~~~即使NVIDIA开发的TESLA平台产品目前应用面也非常狭窄~~~而且应用数量也非常少~~~目前的高性能系统没有一个采用GPU平台搭建~~~大部分应用还在摸索过程中~~~主要原因就是其通用性不强~~~所有的程序需要重新编写~~~IBM的蓝色基因用的根本就是POWER系列CPU~~~与GPU根本不一样~~~你说的可能是CELL~~~CELL从任何一方面说都是CPU而不是GPU~~~因为CELL的构造能高效的完成一些GPU的工作而已~~~ 这是目前运算能力世界第一的IBM 蓝色基因/L系统~~~用的是POWER PC 440 700MHz处理器~~~典型到不能再典型的CPU~~~而非什么GPU~~~而且GPU的精度绝对比不上CPU~~~这是运算单元设计所决定的~~~GPU再被设计的初衷并不是去做通用计算~~~现在运算能力top500里没有一个系统是由GPU搭建的~~~主要还是因为GPU的通用性和可编程性决定了它所拥有的巨大理论运算能力不能在非图形渲染的应用中发挥出来~~~不过随着开发环境的成熟以及未来GPU通用性的进一步提高~~~也许会有一天top500里出现GPU系统~~~
2008年02月02日 02点02分 3
level 4
极度_凋零 楼主
CPU:X86只是CPU中的一个指令集而已,POWER本来就不是X86,是POWER PC架构的CPU,RISC体系的,我不知道怎么就不能叫CPU了说了半天你认为我就只在说8086么,X86及其以后的X87以及SSE等等指令集都是什么,你认为现在谁说X86或者说CPU就是说8086么能请你举个是由Quadro渲染出来的电影么,根本没有,Quadro这类显卡不过是为了提高专业软件在编辑模式下的速度,所有的专业卡的生产目的都是如此,而不是去做最后的出片渲染,只不过随着GPU通用性的增强,NV/ATI开始提供部分可以可以辅助CPU渲染的渲染器罢了,比如NV的Gelato,不过大部分渲染任务还是CPU完成,而这类渲染器现在只不过是标榜GPU可以参与最终渲染,而实际工作中根本就没有使用的 渲染农场是多CPU集群,我从来没说不是,但这是不是由CPU来渲染3D图形呢,而且这样做也不是为了降低成本,反而是现在GPU厂商推动的现在这股GPU通用运算热潮才是希望降低硬件成本.谁说单个CPU就不能做3D渲染,三维动画工作者哪个平时做东西不是靠自己的PC或者工作站离的CPU来完成渲染的,你可以去火星时代的论坛问问看,单个CPU如何就不能进行3D渲染了呢,慢归慢,但是专业软件的渲染器只能靠CPU来完成最终渲染,GPU在这里一点用不没用"其他的CPU都已经向通用性方面发展"~~~CPU本来就是通用性最强的处理器,何来向通用性发展一说,倒是GPU通用能力远远不足
2008年02月02日 02点02分 5
level 4
极度_凋零 楼主
CPU:不用给我介绍什么是CISC什么是RISC~~~这些我知道的不比你少~~~我只是不明白POWER PC如何就不能称呼位CPU了~~~"——NVidia发布的Gelato是一款由行业标准图形硬件提供加速..."~~~你引用的很好~~~可这是Gelato宣传词汇~~~实际上根本没人用~~~因为Gelato所谓的GPU渲染器有太多的效果完成不了了~~~自己去问问做三维的朋友就可以了~~~这个问题上我也不想多说什么了~~~做过或者正在做三维动画的人都知道我们所说的最终渲染是靠什么来渲的~~~在DOS时代的CPU如何就不能惊醒三维渲染了呢~~~那时候连GPU都没有~~~显卡连最基本的2D加速现实能力都还欠缺~~~可是DOS时代有多少经典的3D游戏呢~~~DOOM~~~重返德军总部~~~太多太多了~~~无一例外都是使用CPU渲染的~~~即使现在流行的CS在视频选项里依然保留着一个software渲染模式~~~也是靠纯粹的CPU渲染~~~
2008年02月02日 02点02分 7
level 4
极度_凋零 楼主
GPU:可是你却把x86片面的理解为一个指令集,可见你对于计算机的基本概念的理解还并不十分深刻。我只承认基于x86架构的处理器为正统的CPU,其他所谓的CPU已经由于各种用途而专一化,失去了CPU最初的意义。DOS时代的游戏也是要图形卡提供支持的,也就是早期使用的PCI图形加速卡,没有图形卡计算机是不能显示彩色画面的。这说明CPU还是不能够单独完成3D渲染,同时80486以前的CPU是不具备浮点处理能力的。而且DOS时代的3D游戏都是假3D,视角不能变换,只是将图像渲染得更有立体感,最多不过是2.5D而已。而且制做三维动画并不能说明什么,我觉得只有制作制作三维动画软件的人才知道最终渲染靠的是什么。如今的三维渲染CPU起到的只能是起到辅助的左右,将多个CPU并联后严格意义上讲就不能算作CPU了,CPU原意为中央处理单元,而多个CPU并联就已经失去了中央这一概念,而将多个CPU并联来渲染图像,其功能上已经变成了GPU——图形处理单元。
2008年02月02日 02点02分 8
level 4
极度_凋零 楼主
GPU:x86显然不是一个指令集那么简单的,而是基于Intel处理器经典设计结构的CPU系列。如果x86和Power PC真的仅仅是一个指令集的差距,那么软件兼容性的问题就非常好解决了,所以可以说它们的架构是完全不同的。多边形和贴图严格说只能算是2D性能,真正的3D游戏要求视角可以旋转,需要进行大量的矩阵变换,而早期甚至今天的CPU的不能胜任的。同时这也很明显是个DOS时代游戏所无法达到了。CS的Software渲染模式也并不是完全借助CPU完成,而是让CPU也加入3D元算,从而使得低端显卡也可以较为流畅的运行游戏,只是一种解决放案而已。
2008年02月02日 02点02分 10
level 4
极度_凋零 楼主
GPU:回到定义上看就可以看出CPU(Central Processing Unit)又叫中央处理器,其主要功能是进行运算和逻辑运算,内部结构大概可以分为控制单元、算术逻辑单元和存储单元等几个部分。因此CPU进行的都是简单的算术运算和逻辑运算,而3D运算是要依靠软件来实现3D中的矩阵变换的。而GPU则将这些继承为内部指令,提高了运算效率,同时如今的CPU也加强了这一方面,如AMD著名的3D NOW!指令集。以计算方式有所不同,但计算过程都是一样的,都是基于空间变换的基本公式和物理定律来完成的。这已是为什么CPU被称作软加速,而GPU被称作硬加速。用作渲染的CPU都对3D处理作了强化,已经有很多和GPU相同的结构,可以说是CPU和GPU的结合体,普通的桌面CPU由于要依靠软件实现3D渲染,效率低下而是不适宜作3D处理的。试想一个集成了全部3D指令的CPU我们是否还能叫它CPU呢?
2008年02月02日 02点02分 11
level 4
极度_凋零 楼主
CPU:X86根本就是指令集的名称~~~只不过经产被借用来描述intle开发的基于X86指令集的CPU而已~~~或者说是基于X86指令集处理器的简称---X86处理器~~~"多边形和贴图严格说只能算是2D性能"~~~呵呵~~~我建议你好好阅读有关介绍3D相关知识的文献~~~POWER PC和X86指令集处理器根本是不同体系~~~一个CISC一个RISC~~~CS的software根本就是纯粹CPU渲染而非什么借助~~~你装一块根本没有3D处理能力的显卡上去一样可以跑~~~
2008年02月02日 02点02分 12
level 4
极度_凋零 楼主
GPU:不用看什么文献,写这些文献的人可能也并不会很清楚这个问题。这本来就是一个非常简单的数学问题――在平面上只能绘制平面图形,而至于通过空间旋转变换才能实现2D到3D的过渡。3DMark中有完全用CPU渲染的测试――画面满是锯齿、支离破碎、不到FPS不到1的画面速度。CPU由于要依靠软件实现的渲染图像,其效率必然是极为低下的。
2008年02月02日 02点02分 13
level 4
极度_凋零 楼主
CPU:你到现在还不明白用CPU做渲染和用GPU的区别~~~用CPU做渲染跑的根本是X86指令(以X86指令集CPU为例)~~~而不是你所谓的GPU的3D指令~~~即使现在部分厂商开始研究如何通过GPU强大的理论浮点能力辅助专业软件进行最终渲染~~~这些GPU跑的也不是OpenGL或者D3D指令了~~~
2008年02月02日 02点02分 14
level 4
极度_凋零 楼主
GPU:SSE指令集中已经对于多媒体运算作了很多优化,特别是即将发布的SSE4指令集,将对图形渲染提供进一步优化。而完全依靠x86指令其运算速度会慢得不可想象的(严格的说就是不可能的,效率低下和不可能是一回事)。而二者最终都是通过进行矩阵变换来实现3D渲染的,其最为基本的指令不过就是那几个数学公式而已。CPU要依靠软件来实现进一步的渲染操作,这部分工作是和GPU类似的,二者并没有本质的区别。
2008年02月02日 02点02分 15
level 4
极度_凋零 楼主
CPU:呵呵~~~写3D图形理论书籍的人竟然被你认为不清楚这些问题~~~空间转换~~~呵呵~~~那些3D模型都是假的么~~~3DMARK~~~说了半天你还是只能认知到游戏用图形渲染这个层面~~~CPU渲染某些类型的3D图形是效率低下的~~~而专业图形渲染器支持的功能和效果只能靠CPU完成~~~就是因为CPU的高通用性~~~只要你能写出这样的shader程序CPU就能完成你要的3D效果~~~而GPU不高的通用性决定了在这些领域它根本不能完成这些工作~~~一个能完成而且只能靠它完成~~~而一个是不能完成~~~所以说在这个领域根本谈不上CPU是效率低下的~~~而且最后回到问题的原点~~~CPU是否能处理三维图形呢~~~显然答案已经有了~~~
2008年02月02日 02点02分 16
level 4
极度_凋零 楼主
GPU:写3D图形处理的人是在技术层面谈论问题,而恰好这一个数学问题。他们对于数学的理解不一定非常正确。只有通过有立体感和3D是两个不同的概念,即2.5D和3D的区别。只有立体感而没能透过3D旋转的图形,我们还是只能看到他的两个维度,而从线形空间的角度上说,是2.5维的。我举3DMark的例子不过是为了说明,全部依靠CPU完整实事渲染是不可能的(在重复一遍――效率低下和不可能是一回事)CPU的高通用性是建立在完善的软件基础上的,如果没用软件,CPU不过只能做二进制的简单运算而已,或者说CPU只具备软通用性,没有相应的软件CPU就无能为力了。GPU的运算依赖软件的程度要低,即GPU具备更强的硬通用性,这也是它具有高效率的原因。对于CPU能否渲染三维图形的问题,我的回答是不能――效率低下和不能是一回事。
2008年02月02日 02点02分 17
level 4
极度_凋零 楼主
CPU:"写3D图形处理的人是在技术层面谈论问题,而恰好这一个数学问题。他们对于数学的理解不一定非常正确"~~~你见过哪个3D图形理论书籍的人的数学知识是欠缺的~~~我觉得你的对三维的理解本身就是错误的~~~我也再重复一遍~~~你还是只能理解到游戏用3D图形渲染这个层面而已~~~任何硬件脱离软件谈论都没有实际意义~~~GPU没有软件支持你认为它能做什么~~~你竟然认为GPU具有更强的硬通用性~~~这个词实在是新鲜~~~你创造的么~~~GPU才是最需要有软件优化去优化而达到更高性能的硬件~~~稍微看看那些优化版驱动或者特定游戏的优化就知道~~~以及对应API的更新~~~没有一个不是说明GPU的通用性差~~~DX7时代GPU根本不具备可编程能力~~~通用性几乎为0~~~DX8时代稍微改进~~~也仅限于图形应用领域~~~DX9时代开始在其它方面有所实际意义的拓展~~~DX10时代开始这种研究和宣传~~~即使如此GPU的通用性依然远不及CPU~~~从设计目的就知道
2008年02月02日 02点02分 18
level 4
极度_凋零 楼主
看来你对图形渲染的认识太肤浅了~~~我早已说过~~~专业领域的三维图形渲染是GPU根本不能完成的~~~只有靠CPU~~~既然GPU完成不了有什么资格谈论CPU效率是低下的呢~~~既然你能得出这么荒谬的结论~~~我看也没什么好说的了~~~你大可以给pixar或者ILM去写信~~~告诉他们用CPU渲染出的包括玩具总动员~星球大战在内的电影是不可能的~~~你也大可以给所有的三维工作者写信~~~告诉他们放弃自己的职业吧~~~用自己的机器里单路或双路CPU是不能做三维渲染的~~~
2008年02月02日 02点02分 19
level 4
极度_凋零 楼主
GPU:数学可没有你想的那么简单,做3D图形理论并不需要对数学有很深的理解,只需要熟练运用其中的公式就可以了。维度的概念就是来自于线形空间理论与图形毫无关系,是一个纯粹的代数意义的概念。他们或许并不能很好的理解。CPU不也是一样,两个不同的算法就可能导致巨大是计算时间上的差距,我的意思只是说CPU对于软件的依赖性更强而已。GPU的应用时间云没有CPU长,因此相应的软件并不完善,可以说并没有发挥出全部的性能,这也是为什么优化GPU等效果非常明显的原因。如果CPU有更强的通用性,那为什么通用计算机能够出自nVidia之手,而不不是Intel?还有问什么三维工作者要放弃它们的职业?他们依然可以通过GPU来完成渲染工作。及时使用CPU也并不是Intel或者AMD生产的传统意义上的CPU。
2008年02月02日 02点02分 20
level 4
极度_凋零 楼主
CPU:你真的好好研究过三维的理论只是么~~~任何一个简单的三维理论都是建立在严格的数学意义上的~~~远不是什么掌握几个公式可以的~~~还是那句话~~~找几本讲述三维理论的书籍回来翻翻就OK~~~写这些书的人也都是出自计算机/物理/数学专业的人士~~~维度和空间的理论和你讲的2.5D还是3D的判断离显然并没有你自己认为的证明关系~~~GPU不仅仅是应用时间不长~~~而是到现在硬件条件还相当不成熟~~~看看AMD/NV自己关于各自GPU的硬件描述文档就OK了~~~ '通用计算机能够出自nVidia之手"~~~没听说过~~~这个东西的英文应该是GPGPU而已~~~只不过是通用运算能力加强的GPU平台而已~~~你说的是NV的TESLA平台~~~那就是GPU集群~~~根本需要重新编写很多程序去适应GPU那不完善的所谓的"通用性"~~~而且即使这样还是很多东西是实现不了的~~~而且到现在没有一个这样的平台投入到什么知名的项目中~~~GPU和GPU间也有巨大不同~~~和CPU一样~~~AMD和NV各自的GPGPU平台一样是不通用的~~~同一个东西需要为各自的平台单独写程序~~~再次强调~~~你理解的三维渲染还是停留在游戏层面~~~专业级渲染目前根本用不上GPU~~~
2008年02月02日 02点02分 21
level 4
极度_凋零 楼主
呵呵,这个是某论坛俩大版主之间的辩论,大家可以看看
2008年02月02日 02点02分 22
level 1
抢完在看
2008年02月02日 02点02分 23
1 2 尾页