近年来,异构超算已经是大势所趋,什么是异构超算

近年来,异构超算已经是大势所趋,什么是异构超算,第1张

1.先谈谈同构计算和异构计算。同构计算是使用相同类型指令集和体系架构的计算单元组成系统的计算方式。同构超算只单纯使用一种处理器,日本超算“京”只采用的处理器是富士通制造的SPARC64 VIIIfx,神威蓝光只采用了8704片申尘搭威1600,Mira和Sequoia(Sequoia采用了约160万个A2处理核心),就只采用了PowerPC A2处理器,这些都没有采用GPU或众核芯片等加速。日本的京,IBM 的Mira和Sequoia和中国的神威蓝光都是同构超算的代表。

异构计算主要是指使用不同类型指令集和体系架构的计算单元组成系统的计算方式。常见的计算单元类别包括CPU、GPU等协处理器、DSP、ASIC、FPGA等。异构计算是一种并行和分布式计算,它或是用能同时支持simd方式和mimd方式的单个独立计算机,或是用由高速网络互连的一组独立计算机来完成计算任务。具体来说,异构计算是在运算中既使用处理器,又使用GPU或众核芯片等加速。以美国泰坦和中国天河2号为例,泰坦有18688个运算节点,每个运算节点由1个16核心AMD Opteron 6274处理器和1个NVIDIA Tesla K20加速组成,共计299008个运算核心;

天河2号派乎拿有16000个计算节点,每个节点由2片Intel的E5 2692和3片Xeon PHI组成,共使用了32000片Intel的E5 2692和48000片Xeon PHI;天河1A使用了14336片Intel Xeon X5670处理器和7168片NVIDIA Tesla M2050高性能计算卡。除了泰坦和天河2号和天河1A之外,曙光6000也是采用了异构计算架构。

(曙光6000)

2.超算的用途

要说异构计算的优势,那就要从超算的用途说起了。

PC在日常使用中,除玩游戏、3D渲染等之外,大多是程序都倚重整数运算性能。

但超算则不同,超算大多应用于科研和军事领域。例如d道计算、核物理研究、气候气象、海洋环境、数值风洞、碰撞仿真、蛋白质折叠、基因研究、新药研发、分子动力学模拟、量子化学计算、材料科学、动漫设计、工业设计等方面,在运算中更加倚重双精浮点性能,对整数运算性能要求相对较低。这就产生了用加速提升顷侍浮点运算性能的需求。

3.同构超算的高效率

同构超算虽然理论双精浮点性能不如异构超算,但可以获得较高的运行效率。异构超算虽然理论双精浮点性能非常强悍,但运行效率不如同构超算。

(Sequoia,采用PowerPC A2处理器)

举例来说,IBM Mira和Sequoia使用PowerPC A2处理器,效率达85.3%和85.6%。日本的京效率更是高达92.9%。

而异构超算效率普遍不高,采用E5和XeonPHI的天河2号和Stampede效率为61.7%、60.7%。采用AMD Opteron 6274和NVIDIA Tesla K20的Titan效率为64.9%。

天河2号和Stampede效率不高的一个重要因素就是Xeon PHI的浮点运算效率较低。在谈这个问题前,先释下linpack测试。

(Stampede)

衡量芯片性能的一个重要指标就是计算峰值,例如浮点计算峰值,它是指计算机每秒钟能完成的浮点计算最大次数。包括理论浮点峰值和实测浮点峰值:

理论浮点峰值是该计算机理论上能达到的每秒钟能完成浮点计算最大次数。

理论浮点峰值=CPU主频×CPU每个时钟周期执行浮点运算的次数×系统中CPU核心数目。

实测浮点峰值是指Linpack测试值,也就是说在这台机器上运行Linpack测试程序,通过各种调优方法得到的最优的测试结果。

在实际程序运行过程中,几乎不可能长时间维持在实测浮点峰值,理论浮点峰值更是仅仅存在于纸面上的数据。理论浮点峰值和实测浮点峰值只是作为衡量机器性能的一个指标,用来表明机器处理能力的一个标尺和潜能的度量。

回归正题,Xeon PHI在运行linpack测试时,实际性能仅仅相当于理论最大运算性能的百分之六十几,相比之下,申威1600的linpack测试效率远高于Xeon PHI。

但因Xeon PHI的理论浮点性能较高达1T Flop,大大超过申威1600的双精浮点运算的理论峰值,因此即使仅仅只有百分之六十几的效率,实测双精浮点运算性能还是大幅超越申威1600。因而使Xeon PHI得到了国防科大等单位或公司的青睐。

因此,同构超算的效率相对高于异构超算,而天河2号效率偏低的原因更多的是Xeon PHI本身效率较低,不是国防科大的技术问题。

4.同构超算编程更方便

cpu适合做串行,逻辑复杂度高的任务,gpu适合做简单,并行度高的任务,cpu和gpu的编程模型是不一致的;所以异构超算在编程方面就不太容易,比如使用amd的apu和nvidia的cpu+gpgpu在编程上就不如同构超算方便。另外,gpgpu作为加速卡和cpu是不共享内存的,需要程序员显式拷贝而导致性能损失。

另外,因软件方面的原因,异构超算的通用性相对于同构超算有所不如,举例来说,GPGPU只能跑OPEN CL、OPEN ACC代码,不能跑OPENMP代码。

5.异构计算的优势

以天河2号的一个计算节点为例:

Xeon E5的满载功耗达145W,双精浮点为0.21T Flops,而Xeon PHI功耗300W,双精浮点达1T Flops。

天河2号一个计算节点由2片Xeon E5和3片Xeon PHI,理论双精浮点性能为3.2T Flops,功耗为1190W,理论双精浮点性能与功耗的比值为2.87GFlops/W。相同功耗下使用8片Xeon E5只能获得1696Gflops的理论双精浮点性能,理论双精浮点性能与功耗的比值为1.42GFlops/W。从数据可以看出,在同等功耗下,在使用Xeon PHI加速后,理论双精浮点性能与是只使用Xeon E5的2倍。

因此,相同功耗的情况下,异构超算能获得非常高的理论双精浮点性能。

综上所述,同构超算的编程方便,效率高,通用性强。异构超算编程麻烦,效率不如同构超算,通用性差,性能功耗比高。异构超算虽然在通用性和效率方面相比同构超算处于劣势,但更加好的性能功耗比使其成为更受偏爱的原因。

随着近几年天河2号和神威太湖之光脊御仔相继在全球超级计算机公布的TOP500刷榜。在超级计算方面异构计算已经基本取代了同构计算,而且随着Intel着力发展CPU+FPGA,AMD大力研发CPU+GPU,异构计算也将越来越多的进入人们的视野。在国外公司积极布局异构计算的同时,国内公司也不甘落后。日前,中国华夏芯公司宣布,其异构计算处理器IP核已经在硅片上成功实现,并已通过HSA(异构系统架构)一致性测试。公司还宣布了新的机器学习和深层神经网络的开源项目,旨在进一步推动HSA异构计算的发展。

目前,在HSA协会的推动下,异构计算有向越来越多的领域侵蚀的趋势。那么,什么是异构计算?发展前景究竟如何?中国首个异构计算处理器又凭什么在业界处于领先地位呢?

什么是异构计算

同构计算是使用相同类型指令集和体系架构的计算单元组成系统的计算方式。而异构计算主要是指使用不同类型指令集和体系架构的计算单元组成系统的计算方式,常见的计算单元类别包括CPU、GPU、DSP、ASIC、FPGA等。异构计算用简单的公式可以表示为“CPU+XXX”。举例来说,AMD着力发展的APU就属于异构计算,用公式表示就是CPU+GPU。

由于术业有专攻,CPU、GPU、DSP、ASIC、FPGA各有所长,在一些场景下,引入特定计算单元,让计算系统变成混合结构,就能让CPU、GPU、DSP、FPGA执行自己最擅长的任务。如果能做到无缝地将运行于CPU之上的通用计算、运行于GPU之上的并行计算、运行于DSP之上或者ASIC/FPGA之上的优化计算整合在一起,就能获得更好的应用性能,更低的功耗等特性,相对于同构计算而言也可能有一定性能优势。

以天河2号的一个计算节点为例。Xeon E5的满载功耗达145W,双精浮点为0.21T Flops,而Xeon PHI功耗300W,双精浮点达1T Flops。

天河2号一个计算节点由2片Xeon E5和3片Xeon PHI,理论双精浮点性能为3.42T Flops,功耗为1190W,理论双精浮点性能与功耗的比值为2.87GFlops/W。相同功耗下使用8片Xeon E5只能获得1696Gflops的理论双精浮点性能,理论双精浮点性能与功耗的比值为1.42GFlops/W。从数据可以看出,在同等功耗下,在使用Xeon PHI加速后,理论双精浮点性能是只使用Xeon E5的2倍。

正是因为异构计算在理论上有着诸多的优势,一些媒体将“CPU+XXX”称为下一代处理器。

在超算上应用广泛

事实上,最近几年曾经在TOP500刷榜,或者排名靠前的超算都采用了异构计算——中国神威太湖之光、美国超算泰坦、中国天河1号和天河2号。

泰坦有18688个运算节点,每个运算节点由1个16核心AMD Opteron 6274处理器和1个NVIDIA Tesla K20加速组成,共计299008个运算核心,属于CPU+GPU。

天河1号使用了14336片Intel Xeon X5670处理器和7168片NVIDIA Tesla M2050高性能计算卡,属于CPU+GPU。

天河2号有16000个计算节点,每个节点由2片Intel的E5 2692和3片Xeon PHI组成,共使用了32000片Intel的E5 2692和48000片Xeon PHI,属于CPU+众核芯片。正在升级的天河2号则将美国的Xeon PHI换成了自主研发的矩阵2000,属于CPU+DSP。

中国首个异构计算处理器属于自主研发

近年来,国家对集成电路产业发展高度重视,在龙拆备芯、申威等老牌设计单位取得累累硕果的同时,又成立了拥有1200亿元人民币的集成电路大基金扶持产业发展,先后与IBM、VIA、高通、AMD合资/合作成立兆芯、宏芯、华芯通等公司,并大力扶持展讯、海思、联芯等ARM阵营IC设计公司茁壮成长。

不过,在上述公司中,除了龙芯和申威之外,大多都对境外技术有一定依赖,有的还成为境外公司的马甲,既不具备造血能力,又只能依赖政府经费生存。可以说,当今开发处理器的公司中鱼龙混杂,真正能做到自主研发、自主可控的少之又少。

就是在业界普遍购买国外技术授权,开发所谓“国产”处理器的大背景下,华夏芯选择了最为艰难的自主研发道路——其处理器的指令集和IP都属于自主研发。

也许很多人从樱汪来没有听说过华夏芯这样一家公司,但该公司确实是中国第一家从事异构计算处理器IP核设计的集成电路企业——华夏芯公司是一个定位于全球市场的中国公司,研发团队的来源也是全球化,但是从技术到人才都掌握在华夏芯手中,比如华夏芯的3合1“ Unity”体系架构是其独创技术,在同行业中也处于领先地位。

更难得的是,华夏芯并没有像一些商业公司那样购买ARM指令集,而是公司自主开发的指令集、微结构和工具链。因此,在自主创新能力上,和一些购买ARM 的IP授权开发所谓“国产”CPU的国内厂商有着本质上的区别。

华夏芯公司最近发布了一系列新的IP授权产品,在全球范围授权IP,为客户提供一流的处理器设计技术。所有华夏芯的处理器均支持HSA。对此,华夏芯的董事长李科奕表示,“我们很高兴地看到华夏芯的新IP核通过了PRM HSA一致性测试,面向工业、物联网、高级驾驶辅助系统(ADAS)和嵌入式系统,该IP核对功耗进行了优化并向全球提供许可”。

据了解,华夏芯还是中国唯二的可以对外授权IP的处理器公司(另一家是龙芯),在中国大多数CPU公司还处于购买国外IP做集成的时代,华夏芯能够自己开发IP并且能够对外授权就显得尤为难得。目前,华夏芯的CPU核可以通过IP授权的方式提供给客户,第一款CPU已经在台积电使用28nm HPC制成工艺流片,2016年第3季度提供给潜在客户作为评估或开发之用。

相对于国外大厂有何独门绝技

中国首个异构处理器相对于国外产品最大的特色就是3合1“ Unity”体系架构。本次在硅片上实现的IP核是华夏芯3合1“ Unity”体系架构的首次实现。Unity具有包括图像和视频处理在内的多维信号处理能力。华夏芯美国研发中心的CTO Mayan Moudgill博士表示,“矢量处理长度可依据矢量计算的需求动态设置,最大配置达到64KB,满足各种智能化应用和高性能计算对并行计算的要求,保证了指令架构的稳健性和软件代码的移植性。变长矢量处理单元(VPU)在进行大量数据处理的同时,结合了低功耗、乱序执行流水线等多项先进技术,从而使多个控制线程高效地执行”。

值得关注的是,在华夏芯面向全球发布上述消息2天之后,ARM也发布了与其类似的V8-A的矢量扩展架构(SVE),其技术特征与华夏芯推出的VPU单元极为相似。这说明,真正从事自主创新的国产处理器设计公司完全可以在核心技术上达到国际领先水平,其创新能力要远远优于那些通过IP授权设计CPU的公司,毕竟后者在自主创新的空间上受到授权许可方极其严苛的各种限制。

另外,市场上有很多SOC也集成了CPU、GPU、DSP等计算单元,比如像高通骁龙芯片、华为海思麒麟芯片都集成了CPU、GPU和DSP。那么,华夏芯3合1“ Unity”体系架构和市面上普遍存在的SOC有哪些优势呢?

之前提到的SOC的CPU、GPU、DSP的指令架构不同,微架构不同,工具链不同,是基于多核集成做出来的异构多核芯片,它们往往采用 *** 作系统完成多核、多任务之间的同步与协调,因而会影响效率。在这里特别强调一下,传统的SOC多核编程非常难,虽然在物理上实现了单芯片多核集成,但是在开发习惯和流程上与传统的板上集成系统没有太大的不同,即性能不高、功耗不小、多套工具、多个团队、开发困难、优化更难。

相比之下,基于华夏芯Unity架构的芯片单核已经具备CPU、IVP(image and video processor)、DSP的处理能力,而且是一套指令架构,一套微架构,一套工具链。在做多核扩展、硬件加速和FPGA的整合工作时,华夏芯的Utility体系架构将完全遵循HSA的规范,可以重用HSA的软件生态系统。因此,华夏芯的3合1做法在功耗、成本、性能、软件开发门槛、团队规模等方面都有巨大的优势。

异构计算市场前景如何

异构计算在理论上相对于同构计算拥有很多优势——HSA能够简化芯片结构设计、降低应用编程门槛、缩短项目研发周期、显著提升芯片性能、广泛共享软件生态。有厂家甚至宣传异构计算可以实现任何程序都不必费心考虑不同处理器内核之间的存储差异。但在现阶段,异构计算除了在超算上取得了明显成绩,在其他领域优势并不大。

即便异构计算目前还存在这样或那样的一些问题,但却是非常具有发展潜力的技术。随着技术的进步,电子消费品市场对于高性能并行计算的需求正在爆发性增长,特别是在机器视觉、人工智能、云计算、AR/VR、软件定义无线电以及其他新兴领域,都对异构计算系统有着非常大的需求。而HSA在系统编程方式上的迈进使得一个复杂片上系统能够协调在并行计算上比CPU更高效、更低功耗的GPU、DSP以及硬件加速等计算单元承担大部分繁重的计算工作任务,在上述新兴领域能发挥较理想的作用。

也正是因此,Parmance公司计划与华夏芯在ML-HSA项目上进行合作——该项目面向机器学习和深层神经网络,并针对华夏芯此前发起的开源gccbrig项目进行优化,gccbrig项目为任何支持GCC的平台提供编译(终结转换)功能。

国外巨头也一直着力发展异构计算系统——Intel在去年以167亿美元收购阿尔特拉,发展CPU+FPGA,AMD着力发展的APU也属于异构计算,像Imagination、MTK等一些厂商也在异构计算领域积极布局。可以说,异构计算的市场前景还是值得期待的。

结语

虽然在CPU、GPU、DSP等传统芯片上,中国与西方还有这比较大的差距,但在异构计算处理器上,中国与国际先进水平差距小,局部甚至还处于领先地位,可以说,本次华夏芯成功研发的异构计算处理器则是中国在该领域的有益尝试。

“科普中国”是中国科协携同社会各方利用信息化手段开展科学传播的科学权威品牌。

本文由科普中国融合创作出品,转载请注明出处。

1、就是异构计算,让日益强大的融合型GPU通过异构计算技术辅助CPU来进行计算,就是说GPU的运算量比重在加大,软件更依赖GPU运行。比如打游戏经常用的DX12软件,游戏下用DX12和不用的性能能有快翻番的差距。

2、相对于串行计算,并行计算可以划分成时间并行和空间并行。时间并行即流水线技术,空间并行使用多个处理器执行并发计算,当前研究的主要是空间的并行问题。以程序和算法设计人员的角度看,并行计算又可分为数据并行和任务并行。数据并行把大的任务化解成若干个相同的子任务,处理起来比任务并行简单。

3、它追求的最终目标是使计算任务的执行具有最短时间。

扩展资料

(1)异构计算技术从80年代中期产生,由于它能经济有效地获取高性能计算能力、可扩展性好、计算资源利用率高、发展潜力巨大,目前已成为并行/分布计算领域中的研究热点之一。本文作者还强调了未来异构计算研究应注意的一些方面。

(2)随着通信和网络技术的迅速发展,网络计算概念应运而生。同构网数卖络计算系统now或cow首先兴起,接着很快涌现出异构网络计算系统,从而使异构计算近年来成为并行/分布计算领域中的主要研究热点之一。友毕尘

(3)在异构计算系统上进行的并行计算通常称为异构计算。人们已从不同角度对异构计算进行定义,综合起来我们给出如下定义:异构计算是一种特殊形式的并行和分布式计算,它或是用能同时支持simd方式和mimd方式的单个独立计算机,或是用由高速网络互连的一组独立计算机来完成计算任务。它能协调地使用性能、结构各异地机器以满足不同的计算需求,并使代码(或代码段)能以获取最大总体性能方式来执行。

(4)它所使用的计算资源具有多种类型的计算能力,如simd、mimd、向量、标量、专用等;

(5)它需要识别计算任务中各子任务的并行性需求类型;

(6)它需要使具有不同计算类型的计算资源能相互协调运行;

(7)它既要开发应用问题中的并行性,更要开发应用问题中的异构性,即追求计算资源所具有的计算类型与它所执行的任务好禅(或子任务)类型之间的匹配性;

参考资料:百度百科:异构计算


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12266054.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存