当前位置:IT168首页 > 技术开发 > 在硬件和软件之间选择
[收藏此页] [打印] [推荐] [评论]

CUDA能否改变企业计算模式?

责任编辑:晓熊作者:IT168记者 严冬   2008-07-03   

【IT168技术分析评论】
一 在硬件和软件之间选择
    “计算机软件和硬件的逻辑等价性”是计算机组成原理中一个非常重要的理论,意思是指计算机硬件能够完成的功能,逻辑上都能通过软件来同样实现。这一理论带来的实际好处是,使得我们今天的使用的计算机日趋小型化,成本和价格不断降低。比如,多年前我们需要用解压卡才能在PC上观看影碟,今天我们只需通过视频播放软件就行,当然这些都得益于伟大的“摩尔定律”在过去一直发挥的神奇功效。

    所有的硬件厂商,都挣扎在软件和硬件之间。在设计研发产品时,同样的功能,使用硬件的方式实现还是软件,他们一直在做着艰难的选择。当然,大部分的选择都会受制于当时的其它外围软硬件计算环境。

    然而,随着时间的推移和技术的发展,硬件技术厂商也感觉越来越难以完成“摩尔定律”的预期,业界对此定律怀疑的声音也甚嚣尘上。这些怀疑的声音也让越来越多的人认识到,并不是所有的硬件都能被或者应该被软件替代,特别是在某些特定的计算领域,如图形成像,多媒体数据处理等。我们不难注意到,在计算机体系结构的发展过程中,大量的硬件已经消失了,但是,部分核心的硬件设备在计算机体系结构中势必会长期存在。这种硬件不断消亡的过程和趋势,会加剧计算机中所剩无几的硬件设备之间的相互争夺,争夺在这个体系结构中的霸主地位。

    目前业界Intel为代表的CPU芯片厂商和独立显卡提供商NVIDIA之间的关于CPU和GPU之争,正是在这种背景下生的。
尽管从当前来看,在一台均衡计算的计算机系统中,CPU和GPU还是各司其职,除了图形运算,GPU主要集中在高效率低成本的高性能并行数值计算,帮助CPU分担这种类型的计算,提高系统这方面的性能。

    GPU的计算能力不断加强,能部分取代CPU的计算功能是不争的事实,当NVIDIA通过收购物理处理器厂商AGEIA,推出CUDA(统一计算设备架构)之后,一个让CPU厂商坐立不安的局面似乎要出现了。

   
 
    Cuda做为一个可编程的GPU计算架构,如果这种可编程架构能够影响甚至主导前端的应用,的确能够带给人无尽的遐想。CUDA是否会影响未来企业计算的格局呢?

资料:
    CPU微架构的设计是面向指令执行高效率而设计的,因而CPU是计算机中设计最复杂的芯片。和GPU相比,CPU核心的重复设计部分不多,这种复杂性不能仅以晶体管的多寡来衡量,这种复杂性来自于实现:如程序分支预测,推测执行,多重嵌套分支执行,并行执行时候的指令相关性和数据相关性,多核协同处理时候的数据一致性等等复杂逻辑。

    GPU其实是由硬件实现的一组图形函数的集合,这些函数主要用于绘制各种图形所需要的运算。这些和像素,光影处理,3D 坐标变换等相关的运算由GPU硬件加速来实现。图形运算的特点是大量同类型数据的密集运算——如图形数据的矩阵运算,GPU的微架构就是面向适合于矩阵类型的数值计算而设计的,大量重复设计的计算单元,这类计算可以分成众多独立的数值计算——大量数值运算的线程,而且数据之间没有像程序执行的那种逻辑关联性。

    因此从微架构上看,CPU擅长的是像操作系统、系统软件和通用应用程序这类拥有复杂指令调度、循环、分支、逻辑判断以及执行等的程序任务。它的并行优势是程序执行层面的,程序逻辑的复杂度也限定了程序执行的指令并行性,上百个并行程序执行的线程基本看不到。GPU擅长的是图形类的或者是非图形类的高度并行数值计算,GPU可以容纳上千个没有逻辑关系的数值计算线程,它的优势是无逻辑关系数据的并行计算。

    CPU擅长的:操作系统,系统软件,应用程序,通用计算,系统控制等等;游戏中人工智能,物理模拟等等;3D建模-光线追踪渲染;虚拟化技术——抽象硬件,同时运行多个操作系统或者一个操作系统的多个副本等等。
GPU擅长的:图形类矩阵运算,非图形类并行数值计算,高端3D游戏。

上一页
1
234下一页
收藏到: 添加到“百度搜藏”添加到“QQ书签”添加到“Google书签”添加到“Yahoo收藏”添加到“和讯网摘”
本文欢迎转载,转载请注明:转载自IT168 [ http://www.it168.com/ ]
本文链接:http://tech.it168.com/mobilezx/2008-07-03/200807031513378.shtml
技术开发相关文章  
  • 暂无
友情推介