Chinaunix首页 | 论坛 | 博客
  • 博客访问: 176844
  • 博文数量: 84
  • 博客积分: 3742
  • 博客等级: 中校
  • 技术积分: 870
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-20 19:38
文章分类

全部博文(84)

文章存档

2012年(6)

2011年(21)

2010年(54)

2009年(3)

分类:

2010-07-29 15:44:37

NVIDIA在NVIDIA Editor's Day上展示了不少的新技术,包括即将发布的GeForcwe GTX 280顶级显卡,PhysX物理加速技术,更令人瞩目的是CUDA技术。CUDA技术基于GPU的运算,能提供非常强大的运算能力,往往是CPU运算能力的好几倍,主要应用于数学运算、金融分析、医学检查、气像预测、电子线路设计、生物分子结构分柝、光学模拟运算等传统借助超级电脑作运算的领域。CUDA技术经过一段时间的发展已经日渐成熟,NVIDIA Editor's Day上NVIDIA展示第二代的CUDA 2.0技术,而支持CUDA 2.0技术的显卡将更加多,面向的用户由以前的高端运算慢慢下底端普及,如物理运算,视频解码等的日常应用的领域,只要拥有G8x或G9x的产品就可以通过驱动实现CUDA平台运算。

  首先来了解一下CUDA究竟是什么?CUDA(Compute Unified Device Architecture),显卡厂商NVidia推出的运算平台。随着显卡的发展,GPU越来越强大,而且GPU为显示图像做了优化。在计算上已经超越了通用的CPU。如此强大的芯片如果只是作为显卡就太浪费了,因此NVIDIA推出CUDA,让显卡可以用于图像计算以外的应用。NVIDIA CUDA技术是当今世界上唯一针对NVIDIA GPU(图形处理器)的C语言环境,为支持CUDA技术的NVIDIA GPU(图形处理器)带来无穷的图形计算处理性能。凭借NVIDIA CUDA技术,开发人员能够利用NVIDIA GPU(图形处理器)攻克极其复杂的密集型计算难题,应用到诸如石油与天然气的开发,金融风险管理,产品设计,媒体图像以及科学研究等领域。简单说就是利用GPU强大的运算能力代替CPU进行科学运算。

  CUDA平台是透过运用显卡内的Unified Shader Processor进行数学运算,透过这项技术,应用软件可利用显卡强大的浮点处理能力进行运算,相较现时最快的处理器仍有十数倍的优势。CUDA平台支援C语言及在科学研究常用的Fortran语言,透过驱动程式的API接口,达成平行运算,若用户拥有超过两张或以上支援CUDA平台的显卡,驱动程式将透过PCI Express总线自动分配工作至不同GPU上,进一步提升效能。

  NVIDIA将在6月17日跟随GeForce GTX 200系列同日发布CUDA2.0平台,加入双精度运算支援,为应用提供更准确的运算结果,以气像预测为例,使用GeForce8800 GTX对比Pentium D 2.8GHz用于WRF模式气像运算,发现 GeForce 8800 GTX 拥有17倍的效能优势,Cost per FLOP则约为1.2X。

CUDA 2.0平台将在6月17日发布,CUDA的应用将会更为普及化,从以往的科学运算普及到一般的应用层面上,如物理运算,视频编码等的日常应用,更有消息指 Super pi也将会支持CUDA平台,可见CUDA平台相当有发展的前景。CUDA运用GPU运算可以大大降低CPU的远算量,使得处理速度有明显提升的同时 CPU占用率更加低。

  Intel再4月份上海IDF上公开指出绘图卡产品将会成为历史,显卡将会整合到CPU里面去。NVIDIA之后立即提出出用户省下买高阶处理器的钱,用来买一片好的绘图卡更来得实际,另一方面,NVIDIA 赶紧开发CUDA2.0平台,与第三方软件商合作,开发不同绘图以外的平行运算应用。可见NVIDIA提出的理论是有自己的足够证据,即使NVIDIA没有生产CPU的能力,凭借CUDA2.0平台的运算能力可以将CPU负责的运算转化为GPU运算,CPU在整个系统中的分量大大降低。

  NVIDIA的GPU不仅能提供图形处理能力和视频解码能力,甚至可以取代CPU的部分功能,提供强大的运算能力。以9800GTX为例,其处理核心多达128个,已提供648GLOP 处理能力,这是一般CPU无法比拟的。NVIDIA在NVIDIA Editor's Day上提出在显卡运算效能早已超越处理器下,现在NVIDIA进一步开放平台,让软件可选择效能更高的GPU作运算,反侵佔传统CPU领域。

在视频编码方面以往都是采用CPU运算,要将一段高清视频进行编码可以要花费比较长的时间,但通过CUDA平台开发的编码软件运用GPU运算时间将会大大缩小。Elemental Technologies公司採用了在 NVIDIA CUDA基础上,开发出BadaBOOM软件,运用GPU为影像进行HD编码。

  以2小时的影像为例,尽管用家采用高端的3GHz四核心CPU ,HD编码仍需要5小时,甚至最长时间,如果用户拥有支援 CUDA平台的绘图卡,以GeForce 9600GT为例,编码可减少至只需50分钟,甚至更少,大大节省编码的时间。

  CUDA 2.0的另外一个方面的应用是物理加速,为抗衡Intel早前并购物理加速引擎开发公司Havok所得的技术,NVIDIA早前亦并购物理加速卡厂商AGEIA,取得其物理加速技术,经过数月开发后,NVIDIA已经完成了新版PhysX软体开发,使用GPU作为运算核心,并将在6月17日发布。

  PhysX物理加速芯片将不再继续开发,取而代之的是建立在CUDA 2.0的新版PhysX驱动,即使电脑没有安装PhysX物理加速卡,所有拥有Unified Shader Processor的NVIDIA显示卡,包含GeForce 8及 GeForce 9家族绘图卡,将拥有物理加速能力,提供单纯使用处理器多10倍以上的物理加速运算能力。所有目前已使用PhysX技术的游戏都支持新版驱动程序,如果装有支持CUDA平台的显卡,游戏将自动选取显卡进行物理加速运算,否则仍会使用性能较慢的CPU进行运算。此外,PhysX并不只使用于游戏市场,同时亦会运用 CUDA通用运算领域上,应用更广。

  CUDA 2.0虽然要在6月17才正式发布,但基于CUDA地软件已经发布,虽然是比较简单的软件,用户可以率先体验CUDA的效果。Cooliris开发出一款名为PicLens建基于CUDA平台的插件支援Firefox 、Internet Explorer 及Safari 等常用浏览器,借助 GPU的运算能力,对Facebook ,Flickr 、Google 、Picasa 、Yahoo 、Youtube等应用创建出3D视觉搜索介面。PicLens实时做出一道立体墙,将搜索结果展现于3D空间内,用户可使用鼠标控制移动方向,实现无缝转页,并容许随时放大、缩小图片或播放影片,使搜寻更方便快捷。

  CUDA 2.0平台提供相当强大的运算能力,这是CPU运算无法比美的,CUDA平台的普及还需要大量的软件支持,通过支持CUDA的软件挖掘GPU的性能。 CUDA平台将是一个非常有前景的应用平台,它告诉人们GPU并不是单单用于图形处理运算,GPU的的运算能力是相当强大的,在某程度上GPU可以取代 CPU进行运算,而且效能要比CPU出色不少。

2008年1月17日,NVIDIA公司在北京召开了主题为“专业视觉计算的革命 - NVIDIA专业图形解决方案高端论坛” 。论坛上,来自NVIDIA公司的GPU计算事业部的总经理Andy Keane和专业解决方案事业部全球销售副总裁Walter Mundt-Blum,介绍了NVIDIA公司为专业人士设计的最新Quadro 解决方案,以及具有革命性的创新计算架构的NVIDIA CUDA技术。

  CUDA,怎么创新?如何革命?对电子工程师的价值在哪里?

  CUDA本意:GPU性能协助CPU

  CUDA是一个全新的计算架构和思路,能够让GPU(图形处理器)在消费类、商务和技术应用方面解决复杂的计算问题。如果把CUDA设想为NVIDIA设计的新产品,旨在用GPU日益提升的性能协助CPU处理复杂任务,那我们的问题可能仅仅是:CUDA和多核处理器的区别等等。我们认可CUDA对图形处理技术带来的创新,但是对电子工程师的价值何在?对此,我们也采访了一些对CUDA小有研究的EDN读者和网友。

  大家都认可,GPU的性能和运算资源受到越来越多的关注,但硬件开发者是否在系统中提供这种资源,以及软件开发者如何使用这种资源取决于应用领域和应用目标。目前一个主要提供GPU资源的平台是计算机(如PC),由于计算机平台的通用性和开放性,软件开发者如何使用这一资源取决于应用需求。电子行业和CUDA的接触点目前可能主要就两个:一是系统设计者是否在系统中加入带图形计算单元的部件,二是电子行业设计所使用的EDA/CAD软件本身利用了CUDA技术提高工具的仿真模拟性能。我们期待软件开发者在需要的领域、合适的时机提供相应的智慧支持,提升软件的性能,从而提升我们设计的效率。但是另一个相当有潜质的发展空间是嵌入式系统,例如基于PC构架的嵌入式系统(VIA的Mini-ITX等)以及逐渐加入GPU资源的手持设备。嵌入式系统设计领域的可行性,可以应用于发展迅速的医疗电子、汽车电子、消费电子领域,市场前景就相当可观,技术人员也大有可为。

  CUDA潜力:开放带来更多行业用户

  在我向浙江大学的研究生、图形计算技术爱好者胡欣幸请教CUDA的技术价值时,他这样向我描述:“GPU资源的良好的运用离不开良好的API,CUDA是nVidia在此方向的一个努力。通过不同层次的API对硬件和行为的抽象,能够使软件开发者从自己熟悉的软件编程模型和逻辑进行应用的开发。如果相信GPU是一种值得推广使用的计算资源,那么有理由相信类似CUDA的编程构架应该会更多地出现,并竞逐事实标准。”

  如果还纠缠在原来的市场和竞争关系中,就失去了CUDA本身的意义。但是打入新的地域和行业,又谈何容易。这样的标准竞逐,仅仅是一个开端。就前面讲到的医疗电子、汽车电子、消费电子,每个分支中的计算单元都对竞争对手虎视耽耽,而新技术与成熟技术之间的竞争也相当激烈。就此我采访了一些活跃于电子行业和嵌入式设计的朋友,他们对CUDA的概念是零。我又咨询了用数值模拟方法来进行航空发动机设计的老师,他认为,这是开发数值模拟设计商业软件的厂商的事情。。。而我们从NVIDIA提供的资料看,CUDA的应用领域相当广泛。

  CUDA的推广,关键点还是在开放的程度如何。

  CUDA,作为一种开放的软件环境,能否降低GPU计算的应用门槛,为众多PC和工作站使用者熟悉并且应用?如果答案是肯定的,那么,GPU性能的利用一定能够揭开她的神秘面纱,GPU的市场也将取得迅猛发展。同时,CUDA的技术为它的标准进程提出了3个条件:

  1、CUDA是一个GPU的C编译器或者说是个软件开发环境,它的使用者是面向那些高性能计算的开发者。

  2、有足够多的用户将自己的智慧结晶共享出来,形成一个大程序库,即使我不懂怎么写程序,但是有足够多的软件供我安装使用。

  3、足够多的行业用户加入成为CUDA一员,每个行业中有足够多的成功案例和开放资源。前面提到的电子行业中的两种应用方向,就是众多行业中的一个。

  在我看来,NVIDIA CUDA本身便具备了前两个条件。第三个条件,与CUDA乃至整个NVIDIDA公司的市场推广策略、技术支持方式与渠道、第三方合作的广度和深度都息息相关。 如果实现这个目标,CUDA是作为标准的竞争者胜出,其意义远高于GPU或者显卡的销量胜过了竞争对手。
阅读(330) | 评论(0) | 转发(0) |
0

上一篇:4G时代

下一篇:GPGPU

给主人留下些什么吧!~~