热点推荐
ZOL首页 > 显卡 > 评测 > 1000元以上 >

DirectX 11“破界者”

曝你不知道的DX11 解析GPU通用计算妙用

CBSi中国·ZOL 作者:中关村在线 顾杰 责任编辑:林光楠 【原创】 2011年03月04日 05:00 评论

  ● DirectX 11“破界者”

  我们知道,DirectX 11相对于DirectX 10最重要的两个更新就是并行kernel和Compute Shader,immediate Context和Deferred Context为数据的并行管理以及并行过程中的数据交换提供了前提条件,解决了并行度的问题之后,Compute Shader的出现就顺理成章了。


打破图形界限 compute shader深入分析

更加强调并行度的DirectX 11

  Compute Shader与传统shader最大的不同在于几何关联性的问题。传统shader必须对应某种几何过程,比如Vertex、Texture或者Z-buffer,这样做的好处在于可以在图形过程中将shader自动对应到操作上,但坏处也是显而易见的——所有程序员,不管你是搞理论物理的眼镜轮椅男还是写算数函数的图形门外汉,要想利用DirectX 10硬件的通用计算性能都必须要掌握GLSL和HLSL,了解图形处理过程以及整个图形流水线的特点,甚至还可能要跑去学点fortran什么的。即便后来出现了类似CUDA这类C++型的对象式编译接口,指令的图形关联还是一个必不可少的过程,对硬件的使用依旧不是很方便。于是在DirectX 11中,微软彻底取消了Compute Shader与几何过程的关联。

打破图形界限 compute shader深入分析
传统结构的通用计算指令结构示例

  取消了几何关联的Compute Shader是史上第一个完全开放的数学指令型shader,Compute Shader可以透过并行管理方便的实现数据共享,可以透过树结构和延迟操作快速执行任意过程,虽然丧失了几何关联所带来的各种自动功能让Compute Shader看上去与大多数图形过程绝缘了,但事实却恰恰相反。Compute Shader的出现,不仅没有进一步的将通用计算和图形计算割裂开,反倒直接打破了传统的界限和束缚,将图形和通用计算彻底联系在了一起。有了它,显卡的通用计算能力将最大限度的成为图形计算能力。

打破图形界限 compute shader深入分析
Compute Shader在图形过程中的地位

  这是怎么回事?史上第一个彻底与几何过程划清界限的通用计算专用形式的shader应用怎么可能成了图形和通用计算两个领域之间的“破界者”呢?这一切都要从一个古老但却又非常先进的技术——Deferred shading说起。

上一页 1 2 3 4 5 ...9 下一页
频道热词:华硕主板  Intel  AMD  
视觉焦点
NVIDIA GeForce GTX560Ti
    显卡评测热点
    排行 文章标题