Windows 7与CUDA架构的兼容性测试

2009-9-29 作者: 佚名 来源: 泡泡网

关键字: Windows 7 CUDA 兼容性测试 

图形巨头NVIDIA(英伟达)推出的GPU通用计算技术CUDA相信大家都有所了解,然而随着Windows 7逐渐成为热门的关注对象,有一部分人对Windows 7是否支持CUDA、能否很好的支持CUDA产生了质疑。原因很直接——因为Windows 7支持微软自家的Direct compute!

  一、CUDA两个组成部分:ISA及并行计算引擎

  图形巨头NVIDIA推出的GPU通用计算技术CUDA相信大家都有所了解,然而随着Windows 7逐渐成为热门的关注对象,有一部分人对Windows 7是否支持CUDA、能否很好的支持CUDA产生了质疑。原因很直接——因为Windows 7支持微软自家的Direct compute!

  但事实真的是这样吗·今天,笔者就再一次针对CUDA的概念、架构等进行剖析,并且分别在Windows Vista与Windows 7操作系统上对CUDA性能进行对比测试,以达到拨乱反正的效果。

  在进行正式的对比评测之前,我们首先必须要了解CUDA到底是什么·而笔者也发现正是因为很多人没有对CUDA进行真正准确客观的了解,才导致了对CUDA和Direct Compute的误解。我们先来看看NVIDIA官方如何解释CUDA这个概念:

  CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。 开发人员现在可以使用C语言来为CUDA架构编写程序,C语言是应用最广泛的一种高级编程语言。所编写出的程序于是就可以在支持CUDA的处理器上以超高性能运行。将来还会支持其它语言,包括FORTRAN以及C++。


NVIDIA提供的CUDA开发包中的C语言编译器版本更新很快

  可以看到,CUDA真正意义上来说是一种通用并行计算架构,但又包含了CUDA指令集架构和GPU内部的并行计算引擎。就如同CPU的情况一样,X86的架构也包含ISA和执行指令的硬件架构。各种应用程序都基于这个架构进行开发并在此上运行。可以说CUDA架构的GPU是图形渲染架构与并行计算架构的合体!

  二、CUDA并非API!和Direct Compute并无冲突

  CUDA本意就是一种架构,但很多人认为CUDA是一种语言、或者是开发平台,这可能跟NVIDIA最初的宣传、推广策略有关系。在CUDA架构诞生之初(GeForce 8时代),尚不存在专门针对GPU并行计算的开发平台以及编程语言,因此NVIDIA必须给程序员提供一种简单、易上手、并且完整的软件开发解决方案,这样NVIDIA所发布的CUDA包当中就包括了针对GPU的C语言编译器、纠错器/制模器、专用驱动和标准函数库等。


除了支持自家C语言编译器之外,更多的语言及API都能运行在CUDA架构

  上图就很好的反映出了CUDA与应用程序接口(API)以及各种语言编译器的关系,其中的DX11计算也就是Direct Compute,可以看出CUDA架构和Direct Compute并无冲突。包括CUDA自家编译器所采用的C语言扩展、OpenCL应用程序接口、Fortran甚至C++等都可以运行在CUDA架构之上,未来CUDA还将支持更多的语言。在整个产业的共同推动下,GPU计算可谓是前途无量!

  实际上,在微软的一份Direct Compute宣传PPT中,我们也可以看到Direct Compute是完全建立在符合统一渲染架构GPU的基础之上的。实际上,从DirectX 10开始,NVIDIA和AMD纷纷淡化管线和顶点的概念,就是为了使得流处理器可以执行更多非3D的应用,而如今微软推出的Direct Compute,无疑对GPU通用计算应用有很大的推动性。




<<首页 <上一页  1  2  3  4  下一页>  末页>>  
责任编辑:熊东旭