● Computer Shader性能模拟测试 ● DirectX 11 SDK Nbody Gravity
DirectX 11 SDK Nbody Gravity项目源于Nbody仿真,它在数值上近似地表示一个多体系统的演化过程,该系统中的一个体(Body)都持续地与所有其他的体相互作用。一个相似的例子是天体物理学仿真,在该仿真中,每个体代表一个星系或者一个独立运行的星系,各个体之间通过万有引力相互吸引,如图所示。
在很多其他计算机科学问题中也会用到N-body仿真,例如蛋白质折叠就用到Nbody仿真计算静电荷范德华力。其他使用N-body仿真的例子还有湍流流场仿真与全局光照计算等计算机图形学中的问题。
● HDRToneMapping CS11
HDRToneMapping CS11测试项目同样是针对Computer Shader能力进行测试,该项目展示了如何设置和运行计算着色器(Computer Shader),这是最令人兴奋的Direct3D 11的新功能之一。虽然该测试只是检验了这项技术在HDR(High-Dynamic Range)高动态光照渲染中的加速能力,但是这个概念应该很容易扩展到其他后处理算法,以及更一般的计算。 这项测试我们选择了DirectX 11所推荐的Computer Shader渲染模式,在测试中NVIDIA 显卡出现了负载不饱和状态,所以整体得分不理想。联系到NVIDIA在Fermi架构中对并行计算的支持和多级多分配多线程能力,这个得分还是比较让人失望的,我们只能希望NVIDIA通过新驱动开发继续优化带有缓存的Fermi架构。 测试总结:
作为AMD延续并改进HD5000架构的中高端产品,HD6800系列显卡凭借细微的架构改动,的确在一些测试中上演了四两拨千斤的本领。在AMD提出的自适应曲面细分新思路下,Tessellation性能表现发生了一些变化,换句话说也为高负载下的性能衰减找到了一个圆满的托词。而Computer Shader性能则依然依靠流处理器规模和线程控制器改进来实现,这部分性能毫无疑问提升缓慢。
从HD5000和Fermi架构开始,我们清晰看到NVIDIA、AMD对DX11的不同理解产生了两种接近极端的做法。AMD几乎不用添加大量晶体管即可完成微软的DirectX 11要求,固定功能单元如Tessellator(曲面细分单元)的添加都是在执行单元外围;而NVIDIA则把问题考虑的太过于复杂,它显然看到了Computer Shader技术的巨大前景,同时每一个DX11特性都要达到最佳才善罢甘休,因此对晶体管开销有一定程度依赖。
现在来看通过降低并行度提升线程管理能力来缩小芯片面积,同时依赖最近的半导体工艺制程来提高固定单元频率,对AMD而言的确是一条最为便捷的道路。不过我们还是希望在未来看到AMD的更多改变,毕竟一味放大流处理器规模可能会让芯片前后端成为性能瓶颈,同时越来越多的图形应用正在结合Computer Shader技术向普通用户蔓延,解决好架构效率问题将成为GPU厂商永恒思考的问题。
|