开篇:润墨网以专业的文秘视角,为您筛选了一篇Larrabee触动NVIDIA底限范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
在NVIDIA提出CUDA之后,英特尔在今年8月的SIGGRAPH和IDF上多次展出的larrabee终于触动了nvidia的底限。CUDA是NVIDIA提出的运算平台,而Larrabee则是英特尔利用传统优势对CUDA的反击,并且对NVIDIA在显卡方面的优势带来了威胁。这是NVIDIA所难以忍受的。事实上,从CUDA提出,到Larrabee提出,有其必然性。CPU与GPU从当初分立,到今天终于又到了“分久必合”的阶段。
CPU和GPU本质上是相同的,都是通过逻辑电路的组合,来实现某些计算功能的产品。打个比方,晶体管的组合就像一个个计算公式,越复杂的公式就需要更多的晶体管组成,而程序员要利用处理器中包含的公式来完成所需要的计算。在集成的晶体管的数量有限时,处理器设计师必须要在容纳更多公式或是容纳更复杂的公式中做出抉择。在1993年NVIDIA创立时,英特尔最先进的处理器具有310万个晶体管,而Windows的出现则让用户对计算机的图形处理能力有了新的要求,CPU的集成度已经难以应对,GPU应运而生。
与英特尔的x86架构CPU不同,当时GPU的目的非常简单,并不需要更高的通用性来处理各种任务,而是仅仅需要具备专门的图形处理能力就可以了。因此,GPU和CPU的架构完全不同。当时CPU和GPU的差别可以用管理人才和高级技工来形容,前者能解析更多命令,而后者处理图形计算的效率更高。然而,当集成电路沿着摩尔定律指出的方向发展到今天,更高的集成度使得CPU和GPU的功能都比当时有了大大的扩展。以前为了弥补二者处理能力不足而出现的专门产品,如视频压缩卡,已经渐渐消失。
Larrabee正是在目前已经达到的高集成度的基础上出现的。
CUDA和Larrabee的提出,实际还要部分归功于微软。DX这一API带动了统一渲染架构的概念提出和实施,统一渲染单元为CUDA铺平了道路,CUDA则激发英特尔提出Larrabee,也许还为后者提供了思路。事实上,显卡在演进的过程中,分化出了顶点着色单元与像素渲染单元。3D图形处理往往通过多边形模拟来完成,首先由顶点着色单元处理顶点,之后再交给渲染管线完成面的渲染(一条渲染管线可以包括多个像素渲染单元)。从DX10开始,统一渲染单元取代了原来的顶点着色单元和像素渲染单元。从支持DX10的GeForce 8系列开始,NVIDIA的显卡核心中不再明确划分像素渲染单元和顶点着色单元,顶点和像素的处理都通过调动统一的渲染单元完成。这也是由于集成度提高带来单元的增多使得提高任务分配效率成为比提高单个单元效率更重要的任务的原因。
统一渲染架构使CUDA出现成为可能。统一渲染架构下,每个单元具备了更全面的处理能力,同时,编写程序只需针对单一的渲染单元进行,降低了难度。NVIDIA得以通过CUDA平台让GPU应用在科学计算等更多领域。由于GPU含有上百个计算单元,在并行计算方面有着先天优势,因而在某些对并行计算要求较高、对通用性要求较低的领域,CUDA能提供比CPU更快的处理速度。
然而,CUDA的出现也给GPU自己埋下了炸弹。Larrabee可以说在一定程度上是根据统一渲染架构的思路而设计的。也许英特尔在统一渲染单元上得到了灵感:如果用功能简化的CPU取代GPU中的每一个渲染单元,会出现什么样的产品?这就是Larrabee。它是一种众核架构,其实质是用英特尔擅长的x86架构的运算核心取代了GPU中的统一渲染单元。这样的产品已经很难说是GPU还是CPU。在集成了和GPU数量相当的核心之后,其图形处理能力和并行处理也不会太弱,其处理能力几乎随着核心的增长而线性增长;另一方面,它仍是基于x86架构,这为程序员编写程序减少了很多麻烦。
这样,CUDA代表的GPU之路和Larrabee代表的CPU之路再次归并到同一条道路上,可以称之为统一计算单元之路。Larrabee中的计算单元脱胎与CPU,而CUDA中的计算单元源自GPU,其最终结果都是用并行的大数量计算单元来完成计算任务。二者中,Larrabee同时可以应用CPU和GPU的API进行编程,但NVIDIA会在效率上略显优势。NVIDIA也许不愿和英特尔正面对决,不过,GPU和CPU最终合二为一的一天终将来到,英特尔和NVIDIA的龙争虎斗值得每一个人期待。