Windows 7时代来临:GPU应用全面评测
然而,Windows 7又是如何将GPU作为操作系统的核心组成部分之一的呢?——Direct Compute!
微软的Direct Compute是一种全新GPU计算应用程序接口,运行于现有的CUDA/Stream架构之上(Windows VISTA和Windows 7)。当前的DX10 GPU以及未来DX11 GPU都能够支持Direct Compute。它让开发人员能够利用 GPU的大规模并行计算能力,创造出引人入胜的消费级和专业级计算应用程序。简单的说,Direct Compute就是微软开发的GPGPU通用计算接口,欲统一GPU通用计算标准。DirectX 11中的重要特性Compute Shader就是基于Direct Compute之上。
正如你说想的那样,微软在Windows 7中采用了这一项激动人心的技术。简单的说,Direct Compute就是一个类似于CUDA/Stream的GPU通用计算应用程序接口,只有显卡厂商支持这个标准,那么用户就可以在Windows 7操作系统中,利用到这项技术。而微软或者其他软件开发上也可以开发出基于Direct Compute的应用程序。
Compute Shader的最重要特性就是支持GPGPU通用计算,微软提供HLSL语言对Compute Shader进行支持。在这里我们举一个简单的例子来说明Compute Shader的优势:
由于GPU的API目的是为了3D设计,输入的是材质,而输出的是图像。如果一个程序员想要利用GPU的API进行非3D设计,则需要将资料包装成材质,经过一番处理之后,再读取到计算后的资料。而DirectX 11可接受任意类型资料(非材质),并且可以不受图形渲染流程的限制,随时写入写出,这无疑为GPU的通用计算敞开了大门。同时,Compute Shader还完全支持双精度计算,可以更好的为科学计算提供服务。