正在阅读:未来趋势!没有DirectX10就没有新电脑未来趋势!没有DirectX10就没有新电脑

2007-04-27 09:36 出处:PConline 作者:小板凳 责任编辑:zhouxijian

三、G80,纯正的GPGPU血统!

  从R300到NV40,再到现在最新的G80,每一代旗舰GPU的晶体管都大大超过了同期的顶级CPU,也在挑战其同时代半导体工艺的极限。随着GPU性能的提升,近年来GPU用于通用计算(General Purpose GPU)及其相关方面的问题成为一个十分热门的话题。GPGPU指的是利用图形卡来进行一般意义上的计算,而不是单纯的绘制。以NV40为代表的可编程GPU发布后,GPGPU进入了一个高速发展的全新时代。相比固定的流水线,目前硬件的可编程顶点和片段单元不管是运算精度,支持的指令数还是寄存器个数都有了很大提高,更重要的是基于Shader Model 3.0版本顶点和片段着色器版本的硬件开始支持动态流控制的循环和分支还有子函数操作。比如,现在的片段着色程序最多允许同时访问16个独立的纹理,支持长度不受限制的指令数,寄存器个数也大大提高。而且提供了32位浮点精度的运算和存储格式,对于通用计算来说,这就很容易做出更为复杂的运算。尽管GPGPU前途一片光明,但挑战与机遇永远是并存的,目前GPGPU所面临的问题也非常的多。

  首先是当前的图形硬件还存在很大的局限性。GPU毕竟是为了图形渲染而生,其通用性离真正的通用处理器还有很大一段距离。比如,在DX9硬件上,Vetxe Shader和Pixel Shader总共的指令数被制在1024(512+512)条指令,(片段着色器)Pixel Shader最多只能同时访问16个纹理,进行分支和循环操作的开销也比大。此外,片段着色程序虽然支持R16F的浮点类型数据格式,但缺乏其他类型的支持,限制了通用运算的多样性,而且R16F这种单精度的IEEE格式对于通常所用的工程计算而言精度还是低了点。由于每个shader程序最多带32个Temp寄存器,指令数也受到限制,所以在很多通用计算程序的编写中不得不采用multi-pass来完成一些复杂的运算,这样就降低了性能。由于整个GPU只能通过顶点纹理来读取数据,通过渲染到纹理来写入数据,对于显存没有任何间接写指令,输出地址只能由光栅化引擎决定,不能由程序改变,无法进行任意的读写操作,因此必须将计算的中间结果保存以避免多次读写,这又无形中降低了GPU的通用运算性能。另外在硬件上如果采用浮点运算,则不能利用硬件本身的颜色混合操作,也不能进行mipmap的自动运算,这些也妨碍了GPU在通用计算上的应用。不过,支持DirectX 10的G8X系统的的出现,将让这些问题迎刃而解。

未来趋势!没有DirectX10就没有新电脑

  NVIDIA方面,新一代G8X图形核心采用了先进的统一渲染架构,拥有多达128个流处理器,引入几何着色器功能……这一切简直就是专为GPGPU运算而生!为了最大程度的发挥几何着色器的威力,G80还专门设置了一个名为流输出层(Stream Output State)的部件来配合它使用。这个层的功能是将Vertex Shader和Pixel Shader处理完成的数据输出给用户,由用户进行处理后再反馈给流水线继续处理。它可以直接读写本地显存。我们可以通过Stream Out把GPU拆成两段,只利用前面的一段几何运算单元。对某些科学研究,也可以通过stream out来利用GPU的数学运算能力,等于在CPU之外又平白多得了一个数学协处理器。我们可以这样理解G80图形核心的几何着色器和Stream Out单元:GS提供了改变图形数量的能力,Stream out提供了硬件Multi-pass的支持。可以预见,今后围绕这些全新的功能,又会有一批新的GPU通用计算程序出台。

  基于当前的G8X架构,NVIDIA现在已经有了一个针对GPGPU的解决方案,被称作Compute Unified Device Architecture,简称CUDA。CUDA是一个完整的解决方案,包含了API、C编译器等,能够利用G80的片内L1 Cache共享数据,使数据不必经过内存-显存的反复传输,shader之间甚至可以互相通信。对数据的存储也不再约束于以往GPGPU的纹理方式,存取更加灵活,可以充分利用stream out特性。以上几点都将大大提高GPGPU应用的效率。例如,在游戏中我们可以使用CUDA来让GPU承担整个物理计算,而玩家将会获得另他们感到惊奇的性能和视觉效果。另外,用于产品开发和巨量数据分析的商业软件也可以通过它来使用一台工作站或者服务器完成以前需要大规模的计算系统才能完成的工作。这一技术突破使得客户可以任何地方进行实时分析与决策。同时,一些以前需要很先进的计算技术来达到的强大计算能力的科学应用程序,也不再受限在计算密度上;使用CUDA的计算可以在现有的空间里为平台提供更强大的计算性能。
在正式发布了基于G80核心的Quadro专业3D显卡之后,目前NVIDIA正在酝酿一款全新的流处理加速卡,主攻图像加速、科学计算等GPGPU运算领域……

键盘也能翻页,试试“← →”键

为您推荐

加载更多
加载更多
加载更多
加载更多
加载更多
加载更多
加载更多
加载更多
加载更多
热门排行

DIY论坛帖子排行

最高点击 最高回复 最新
最新资讯离线随时看 聊天吐槽赢奖品