POPPUR爱换

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

搜索
查看: 1836|回复: 10
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
1#
发表于 2009-10-2 15:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  一、CUDA两个组成部分:ISA及并行计算引擎
  图形巨头NVIDIA推出的GPU通用计算技术CUDA相信大家都有所了解,然而随着Windows7逐渐成为热门的关注对象,有一部分人对Windows 7是否支持CUDA、能否很好的支持CUDA产生了质疑。原因很直接——因为Windows7支持微软自家的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架构诞生之初(GeForce8时代),尚不存在专门针对GPU并行计算的开发平台以及编程语言,因此NVIDIA必须给程序员提供一种简单、易上手、并且完整的软件开发解决方案,这样NVIDIA所发布的CUDA包当中就包括了针对GPU的C语言编译器、纠错器/制模器、专用驱动和标准函数库等。

除了支持自家C语言编译器之外,更多的语言及API都能运行在CUDA架构
  上图就很好的反映出了CUDA与应用程序接口(API)以及各种语言编译器的关系,其中的DX11计算也就是DirectCompute,可以看出CUDA架构和DirectCompute并无冲突。包括CUDA自家编译器所采用的C语言扩展、OpenCL应用程序接口、Fortran甚至C++等都可以运行在CUDA架构之上,未来CUDA还将支持更多的语言。在整个产业的共同推动下,GPU计算可谓是前途无量!
  实际上,在微软的一份Direct Compute宣传PPT中,我们也可以看到DirectCompute是完全建立在符合统一渲染架构GPU的基础之上的。实际上,从DirectX10开始,NVIDIA和AMD纷纷淡化管线和顶点的概念,就是为了使得流处理器可以执行更多非3D的应用,而如今微软推出的DirectCompute,无疑对GPU通用计算应用有很大的推动性。

  三、Win7/Vista双平台测试CUDA效能 平台介绍
  理清了CUDA以及Direct Compute的关系,我们来进入测试阶段,看看Windows 7中的Direct Compute到底对NVIDIA CUDA有没有影响,再一次验证Direct Compute到底和CUDA是否存在冲突与竞争的关系。
  本次我们采用封装接口为LGA1156的i7搭配刚刚发布的P55主板进行测试,显卡采用Inno3D推出的iChill-GTX260+金牛典藏版,并分别在不支持Direct Compute的Windows Vista操作系统和支持Direct Compute的Windows7操作系统下进行对比。其中Windows Vista为64Bit,Windows 7为32Bit。
  测试程序我们选择了三个最具代表性的CUDA软件,分别为国产转码软件MediaCoder、CyberLink推出的视频编辑软件PowerDirector(威力导演)以及大家非常熟悉的转码软件Badaboom,并分别以同样的方法在Windows Vista和Windows7下进行测试。
  四、Badaboom测试:Vista与Win7性能完全相同
  Badaboom是NVIDIA联合Elemetal制作的GeforceGPU视频转码工具,在CUDA标准推出初期,这技术是唯一一款支持CUDA加速的视频转码软件,通过这款软件可以直接利用CUDA加速给iphone、iTouch、PSP、Apple TV等多种设备转换视频。目前,该软件最新版本为1.2.1。
  本次测试所采用的片源为电影《X战警3》的一个长达11分钟的预告片,原分辨率为1920×1080,在本次测试中我们将其转换成720P的MP4格式,以下分别是在Windows Vista和Windows 7下的性能截图:

Windows Vista下:转换时间为5分23秒

Windows 7操作系统下,转换时间同样为5分23秒
  从两次转换的完成时间来看,在Windows Vista和Winows 7下,所花费的时间完全一样,都为5分钟23秒,可以看出操作系统完全不影响CUDA效能。我们接着来看下一个测试!
                                                       
  五、Mediacoder测试:压缩率不一结果相差16秒
  MediaCoder是一款国产转码软件,在之前我们已经对这款软件有过非常详细的测试。这款软件相对于前面的Badaboom来说,最大的优势就在于其不仅仅可以利用GPU中的流处理器单元进行视频转码加速,同时还可以利用CPU进行加速,也就是说其采用了GPU+CPU联合加速。性能要比Badaboom好很多。
  本次我们利用这款软件转换1080P高清影片《007皇家赌场》的一个预告片,并分别在Windows Vista和Win 7下进行测试。下面是测试成绩:

Windows Vista:358秒完成,压缩率31.83:1

Windows 7:花费时间374秒,压缩率31.62:1
  可以看出,在Vista和Win7中,两次测试所花费的时间仅差16秒,而这主要的原因就是在不同的系统平台下压缩率不一样造成,如果排除压缩率差距的话,相信这两者仍然不会有差距,所以再一次证明了在Win7操作系统下,CUDA的效能并没有一点损失。

  六、威力导演测试:Win7竟然比Vista速度快9秒
  接下来我们将要通过一个视频编辑软件来测试NVIDIACUDA在Vista或Win7操作系统下的性能差距,这款软件名叫威力导演(PowerDirector),出自著名的多媒体软件公司CyberLink。NVIDIA CUDA在这款软件中的主要作用是加速视频预览与视频渲染,其实也是编码的过程。
  这一部分测试我们选择了一段AVI视频,并对其加上万花筒特效,测试渲染(编码)时间,最后的成绩如下:

Windows Vista:花费时间7分44秒

Windows 7:花费时间7分35秒
  在这一部分测试中,我们惊奇的发现在Windows 7操作系统下,视频渲染的速度竟然比Vista还快9秒,而输出的格式、大小完全一样,又一次证明了Windows 7中的Direct Compute丝毫不影响CUDA的发挥。
  总结:NVIDIA已经为Win7做好了所有准备
  通过几个软件的测试,我们已经完全可以充分的证明前文所说的DirectCompute和CUDA不存在冲突与竞争的关系,反而是一种互补的关系,如果没有CUDA架构的GPU,那么DirectCompute也根本不可能实现。所以,担心CUDA不支持Windows 7完全是莫须有的想法。
  前面我们说到,CUDA从本质上将是一种硬件架构,但又含有一个CUDA C编译器,而实际上,CUDA C与DirectCompute以及OpenCL等等应用程序接口从定位上就不一样,或者说使用人群不一样。CUDAC是一种高级语言,那些对硬件了解不多的非专业人士也能轻松上手;而DirectCompute则是针对硬件的应用程序开发接口,它能给程序员更多对硬件的控制权,相应的上手及开发会比较难一些。
  我们现在回头看NVIDIA为Windows 7做出的事情,首先在硬件上CUDA架构的GPU可以完美的支持Windows 7以及DirectX11中的Direct Compute技术;另一方面,驱动程序上NVIDIA也是首先提供了Win7以及DirectCompute的支持,并且在最近的Power of 3三剑平台的宣传中,将Windows 7作为Power of3推荐操作系统,可见NVIDIA已经完全为Windows 7的正式到来做好了准备。
2#
发表于 2009-10-2 15:41 | 只看该作者
沙发!!
那么win7和dx11也支持n的physx吗?
回复 支持 反对

使用道具 举报

3#
 楼主| 发表于 2009-10-2 15:54 | 只看该作者
WIN7可以玩PHYSX游戏啊,
LS的兄弟还未用过WIN7吧?装个双系统试试啊
回复 支持 反对

使用道具 举报

4#
 楼主| 发表于 2009-10-2 15:55 | 只看该作者
以上文章转自互联网
回复 支持 反对

使用道具 举报

5#
发表于 2009-10-2 16:01 | 只看该作者
不错,我的88还能活着
回复 支持 反对

使用道具 举报

6#
发表于 2009-10-2 19:31 | 只看该作者
转载写个出处OK...尊重作者
回复 支持 反对

使用道具 举报

头像被屏蔽
7#
发表于 2009-10-2 19:34 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

8#
发表于 2009-10-2 19:44 | 只看该作者
可以玩就代表支持????????
jiang1981 发表于 2009-10-2 19:34


可以玩...难不成要说不支持?.....

win7 确实可以玩有小P的游戏阿...
回复 支持 反对

使用道具 举报

9#
发表于 2009-10-2 19:54 | 只看该作者
适合成天压片儿的
回复 支持 反对

使用道具 举报

10#
发表于 2009-10-2 23:50 | 只看该作者
很好的说明了CUDA和DirectCompute还有OpenCL的层次关系,可以堵某些喷子的枪眼了
回复 支持 反对

使用道具 举报

11#
发表于 2009-10-3 00:27 | 只看该作者
A貌似雇了很多喷子在各大论坛抹黑竞争对手。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

广告投放或合作|网站地图|处罚通告|

GMT+8, 2025-8-29 01:18

Powered by Discuz! X3.4

© 2001-2017 POPPUR.

快速回复 返回顶部 返回列表