● 先进混合架构之Larrabee展望
早在1998年2月,Intel发布了和Real3D合作设计的i740/i752独立显卡,虽然该产品在当时性能没有达到领先,但是凭借强大的推广与Intel自身的大厂优势,确实让其独立显卡红极一时。但由于各大竞争对手的3D显卡性能遥遥领先,加上Intel忙于自己的平台化策略,风光一时的i740/i752成为Intel独立显卡的“绝唱”。
相隔十多年,Intel在平台化战略中取得了巨大成功,Intel在集成显卡市场的占有率超过了50%,从810/815系列到845/865系列,再到G41/H55系列主板芯片组,Intel的集成显卡战略所向披靡。Larrabee计划正是在此背景下提出,它将向世人证明Intel拥有开发高端独立显卡的能力,同时巩固市场占有率,改变人们对其显卡视为“鸡肋”的看法。同时Larrabee还肩负开拓GPU通用计算市场的重任,Intel希望这款GPU能够有效抵御NVIIDA和AMD对于并行计算市场的侵蚀。
Larrabee属于单芯片TFLOPS级别运算项目
Intel使用CPU经典原理和最新技术改良了传统GPU,使其集成了数目可观的X86核心,并采用顺序执行,同时辅以先进的CSI总线和高速存储系统,形成了Larrabee芯片概念。Larrabee芯片隶属于Tera-Scale项目,是一块融入的诸多先进技术的GPU。对于图形工业而言,Larrabee是一款具有革命意义的产品,它与常规的意义上的GPU存在理念上的差异,即Larrabee将通用计算性能放在优先位置。Intel高级副总裁Pat Gelsinger表示,Larrabee是一种可编程的多核心架构,采用顺序执行架构(CPU为乱序执行核架构),并使用经过调整的x86指令集,在运算性能上将达到万亿次浮点运算的级别。
Intel之所以会这样设计Larrabee硬件架构,出于以下几个方面的考虑,或者说Larrabee有以下几项显著特点:
1、X86架构核心:GPU在可编程方面的劣势恰好是CPU的优势,GPU不断追求的可编程性对于CPU则非常容易。CPU只要采用相应的指令集结构就可以支持采用该指令集编写的所有程序,而不必理会用户的软件使用环境。
如图Larrabee芯片架构。当然,相对于GPU提供完美的可编程性正是X86架构的特性。Intel的X86架构通常被称作IA架构,它主要由存储控制部分、前端解码器部分、执行单元部分构成。所有基于CISC的代码都将经过解码器并翻译为类似RISC的样式,高效的译码系统会保证CPU接收到自己完全可以执行的RISC风格代码,有利于简化处理器执行流水线的设计,而且在提高性能的同时能确保兼容性。
Larrabee使用X86架构一方面由于Intel多年的技术积累可以轻松驾驭芯片的逻辑设计,另一方面我们也要看到Intel已经将目光放在更长远的通用计算领域,它要通过完美的可编程性来达到比竞争对手更优秀的兼容性,更大程度上拓展通用计算的应用范围。相较于 GPGPU(甚至是自家的 80 核处理器,也不是采用 X86 架构发展的)目前多数的软件工程师仍不熟悉如何将 GPU 应用在多任务处理及平行运算上,Larrabee将在普及大规模并行运算上占有很大优势。
2、顺序执行单元:Larrabee所使用的X86架构不同于目前CPU的重要区别是顺序执行。在很早以前的顺序执行CPU中,当装载指令队列发生等待时,处理器不能将队列后方处于等待的指令优先装载并执行,一直等待到堵塞结束。平均而言约30%的指令会发生一定时间的堵塞,这种执行方式叫做顺序执行,显然降低了执行单元的效率。乱序执行在1995年的Pentium Pro处理器上首先实现,它可以最大限度利用资源,这种设计一直沿用至今,Core微架构可以说实现了目前最高水准的乱序执行。
而这次Intel在Larrabee设计中重新引入顺序单元,是有充分理由的。顺序执行让一条线程中的各个指令根据其原有顺序逐一执行,这样芯片内部就完全无需加入用于指令分析和运算结果合成的逻辑,从而极大地减少晶体管使用量。而效率低下的问题使得业界一致认为乱序执行要强于顺序执行。但最近几年,随着高频率和多线程技术的不断发展,许多厂商认为顺序执行的单线程性能低下优势已经可以通过增加线程和提高频率来弥补,反而晶体管使用过量会造成发热和功耗很难控制。
Intel根据对比得到,乱序执行内核需要至少50平方毫米的面积,最少37.5W功耗。而使用了顺序执行,单个内核面积只有10平方毫米,功耗也下降到6.25W。在Intel的实验芯片上,使用顺序执行与VLIW指令集,在10平方毫米的面积上可同时运行4条线程和16个512bit向量,最终达到128 GFLOPS的浮点运算性能。面对Tera-Scale项目要求的TFLOPS性能目标,在顺序执行的X86核心思想下,只需多个核心即可完成。
但是业界对于Larrabee这颗芯片的观点还是众说纷纭:AMD指出如果Larrabee处理器的通用性是基于适合流处理器而进行设计的话,那么其图形性能将不足以使其成为一款专业的GPU产品,另外就是我们还必须考虑到其图形处理器性能也不会很高。
有一种观点认为X86架构限制了CPU性能的发展,但是所谓限制不能光看硬件。如果这套架构能给编程者提供统一完善的可操作性强的编译环境和在这个环境下相对充沛的资源,那这个构架即不是效率最高的构架,但却是目前环境下唯一理想的构架。
也有评论家认为X86的指令集通用性会更好一些,但是并不适合于并行处理。而对于AMD公司的Fusion则是将X86的CPU与GPU核心进行合并,这样CPU可用于一般数据处理,而GPU核心可以进行并行数据处理,从而可以实现最优化处理。简单的说就是AMD保持了X86 CPU和GPU各自的特征。这样避免了过大的新技术开发投入,现有软件也能够更好地使用其Fusion处理器资源。
NVIDIA也有自己的打算,该公司也没有明确表示将来是否在GPU产品上加入对X86指令集的支持,这也是NVIDIA公司与另外两家CPU生产厂商间的关键差异。NVIDIA表示其没有X86核心绝不能算作是弱点,NVIDIA相信自己所选择的发展方向,其Tesla计划正在加紧推进,目前在高性能计算领域已经打开市场。同时NVIDIA正在进行据并行处理最佳指令集的研发,计划进一步扩充GPU的性能,这一代的Fermi架构GF100芯片已经轻松达到1TeraFLOPS的单精度浮点运算性能,双精度浮点的衰减也控制在单精度浮点性能的1/2。
- 第1页:全文导读与内容简介
- 第2页:前言:通过GPU见证行业变革
- 第3页:第一章:GPU工作原理与并行计算
- 第4页:21世纪视觉需求与GPU变化
- 第5页:从山峰渲染了解GPU图形流水线
- 第6页:CPU与GPU的设计方向决定运算能力
- 第7页:GPU并行编程为何加速发展
- 第8页:GPU并行计算已成未来趋势
- 第9页:初识高性能并行计算
- 第10页:高性能并行计算发展历程
- 第11页:高性能并行计算单元分类
- 第12页:初识基于GPU系统的云计算
- 第13页:第二章:GPU结构与ATI产品发展
- 第14页:统一着色器架构释放GPU运算能力
- 第15页:传统GPU发展与着色器管线
- 第16页:传统SIMD结构流处理器指令细节
- 第17页:MIMD结构流处理器指令细节
- 第18页:R600时代对SIMD架构补充与优化
- 第19页:两种结构流处理器优劣对比
- 第20页:R300以来的芯片架构及其影响
- 第21页:ATI第一代统一渲染架构Xenos
- 第22页:统一渲染GPU R600临危受命
- 第23页:AMD对GPU架构的不断改进和优化
- 第24页:未来ATI图形芯片架构预测
- 第25页:第三章:GPU通用计算发展与细节
- 第26页:多核并行计算困惑与发展
- 第27页:基于AMD CPU+GPU异构计算平台
- 第28页:着色器模型变化历程与总结
- 第29页:Shader计算能力快速发展
- 第30页:揭秘GPU高性能计算关键
- 第31页:CPU与GPU的区别和发展方向
- 第32页:如何将GPU功能单元映射为通用单元
- 第33页:分支对GPU结构体系的挑战
- 第34页:GPU与CPU将如何演绎融合与吞并
- 第35页:第四章:GPU内部计算实现细节
- 第36页:GPU主要计算单元分布和职能
- 第37页:GPU内部通用计算代码运算过程
- 第38页:认识GPU浮点计算精度
- 第39页:整数运算能力与未来融合架构
- 第40页:GPU存储体系特点与变化
- 第41页:ATI GPU吞吐特性对比与分析
- 第42页:ATI GPU OPEN CL综合性能分析
- 第43页:先进混合架构之Larrabee展望
- 第44页:概念型融合架构之Fusion APU展望
- 第45页:GPU进化架构之Fermi分析
- 第46页:第五章:ATI GPU通用计算实例
- 第47页:ATI Stream技术发展与现状
- 第48页:OPEN CL接口技术与异构运算
- 第49页:Havok引擎与CPU+GPU异构运算
- 第50页:BOINC平台充沛的ATI GPU加速项目
- 第51页:最具影响力的Folding@home项目
- 第52页:GPU架构对于其他实例的适应性
- 第53页:全文总结与未来架构展望