服务器 频道

英特尔:Larrabee不仅仅是一款GPU

   【IT168 专稿】在近日的一次媒体沟通会上,英特尔向外界披露了其Larrabee处理器架构的部分信息。Larrabee是英特尔第一款的众核(manycore)X86芯片,可以被看作是一款通用的X86矢量处理器(x86 vector processor),同时带有GPU和CPU的一些特性。Larrabee也是英特尔万亿次计算研究项目的产物,这一架构已经研发了3年以上的时间。12日英特尔会在美国洛杉矶的SIGGRAPH 2008大会上发布白皮书,来详细阐明该处理器的设计架构和编程模型。

Larrabee不仅仅是一款GPU

    Larrabee背后的设计思想其实是既要抢占到GPU编程的前沿阵地,又要提供一款可以广泛适用于高吞吐性应用领域的X86矢量处理器。而且,除可视化计算领域之外,这一架构在在高性能计算应用领域也有不错的前景。

    实际上,英特尔把Larrabee看作是一种高吞吐的处理器,而不仅仅是一款GPU。负责该项目的高级工程师Larry Seiler强调了英特尔设计这种新架构的意图,他说,“Larrabee会对图形处理和超级计算领域产生革命性的影响。”不过,此次英特尔没有提及具体的核心数量、时钟频率和功耗,产品的发布时间也没有明确,大概会在2009年或2010年。

    Larrabee最初的目标是推出一款PC用的高端GPU。通过进入高端图形处理器市场,英特尔希望把其在移动GPU市场中的优势延展到桌面游戏领域。

    假如英特尔能够实现这一目标,我们相信它还会进一步把这个平台推向HPC市场。凭借其矢量性能和X86兼容性,Larrabee会成为其他高端加速器产品的重要竞争对手,这些产品包括NVIDIA的Tesla(以及其他支持CUDA编程开发环境的GPU),AMD的FireStream GPU, Cell处理器系统,ClearSpeed协处理器以及FPGA加速器等等。跟其他产品不同,Larrabee由于把CPU的逻辑部件已经整合在了芯片上面,所以不再需要外部的主处理器(host processor )。

与普通GPU不一样的设计架构

    跟今天一般的GPU相比,Larrabee采用了不同的设计架构。该芯片将一些X86内核通过一条高速的环总线(ring bus)相互连接在一起,在每个方向都是512位宽。这些核心源自于英特尔的奔腾(Pentium)处理器,带有较短、顺序的执行流水线(execution pipelines)。每个内核可以同时执行多达四个线程,同时包含一个标量(scalar )和矢量单元( vector unit),后者每一个时钟周期可以执行16条32位运算。由于Larrabee从根本上来说是一种CPU架构,所有很多特性如context switching, preemptive multitasking, virtual memory和page swapping都已经集成在里面。而且由于线程管理是在软件中完成的,通过传统的并行化技术,延迟就很小了。

    每一个内核包含一级指令缓存和数据缓存,同时芯片上也有二级缓存。二级缓存是由多个内核进行共享的,每个内核可以分派到256KB。跟GPU不同,缓存的一致性会在整个缓存体系中得到保持,因此,在处理器间通信( inter-processor communication )方面,可以让软件通过一个有效的机制来在应用线程之间共享数据。内存控制器(或者是控制器)也是在芯片上的,针对特定应用的功能单元也一样。

   总的来看,一颗用于图形处理的Larrabee会用到很少的特定功能硬件。几乎所有的处理都是在X86内核上通过软件来完成的。在某些情况下,最明显的是图像纹理阴影处理上,英特尔增加了特定的功能硬件来增强性能。而且根据应用不同,如vertex shading, rasterization, pixel shading等,会采用不同的功能单元。因此,跟专用的硬件不同,通过通用芯片和软件,负载均衡会更容易实现,这也意味着当在晶圆上放置新的内核时,应用性能可以实现更加均衡地增长和扩展。

    为了顺利进行图形领域,英特尔将支持DirectX和OpenGL ,以支持现有的应用。对于那些喜欢创新冒险的程序员来说,英特尔也会提供专门针对Larrabee的API ,这样,软件开发人员可以充分利用这一处理器的所有功能特性。对矢量指令集的访问也会通过C语言来实现。矢量单元会支持IEEE单精度和双精度浮点运算,同时也支持32位整数运算。

性能和可编程,一个都不能少

    虽然Larrabee被定义为是一款众核芯片,但其第一个版本可能只有几十个内核,而不是象NVIDIA和AMD (ATI) 的GPU那样拥有好几百个核心。而且,就主频来说,Larrabee的性能可能还要低于传统的GPU产品。比如,即便每时钟周期(每核)可以执行多达16次单精度运算,一颗1.0 GHz 的Larrabee芯片需要62个内核,其性能才能相当于 NVIDIA和AMD 今年会发布的最新的万亿次(teraflop)GPU产品。相信英特尔会找到办法让Larrabee至少达到与竞争对手相当的性能水平。不过,除了性能,Larrabee在编程方面的优势会为其挣回不少分,特别是对于软件开发商来说,它们希望在开发新应用时有更多的灵活性。

    在一个成熟的市场中引入一种全新的架构,是需要冒很大风险的,这一点相信英特尔在其安腾产品上已经体会到了。当然,英特尔在行业中确实拥有很强大的推动力量,在推动ISV和OEM支持Larrabee方面英特尔已经运作了一年多。笔者认为,其在图形领域取得成功的关键在于能否打入HPC市场。在某种程度上来看,Larrabee在高端科学计算方面可能比在更狭窄的可视化计算上更有价值。不管怎样,英特尔、AMD和NVIDIA之间的竞争会越来越有看头。

附:什么是Larrabee

    Larrabee是英特尔提出的Visual Computing概念中的重要组成部分,Larrabee将整合数十个到几千个x86架构的运算内核来组成Larrabee,这种处理器采用共享缓存设计,有效避免多核处理时的重复数据载入,从而实现更高的处理速度。

    Larrabee基于Pentium处理器所采用的管线设计,支持多线程及64bit指令,并且提高了运算内核的分支预测功能,新架构还整合了图形处理专用电路,每个内核支持4个线程的运算,而每个线程拥有独立的寄存器,因此效率非常高。加上内部1024bit的双向环路内部数据交换网,从而满足核心对数据交换速度的需求。

    英特尔将首先采用Larrabee架构开发个人电脑用图形处理器,并预定于2009~2010年推出。届时,新图形处理器将支持图形API“DirectX”、“OpenGL”及各种游戏等。该公司还将利用该架构的多核特点,向需要高水平并行处理的科学技术处理软件扩展。因此Larrabee将是一款非常重要的产品。

0
相关文章