分享

各种加速卡 异构计算

 huoxing487 2016-11-21

异构计算:

异构计算要使用不同类型的处理器来处理不同类型的计算任务。常见的计算单元包括CPU、GPGPU、GPDSP、ASIC、FPGA和其它类型的众核处理器等。

目前有很多加速卡或者协处理器,用于增加系统性能,常见的有:

GPGPU 是最常见的加速卡,通过PCI-e相连。 GPU 最早是用于图形处理卡,即显卡,后来慢慢发展成为加速卡。2010年,天河一号使用CPU GPU异构结构获得TOP500第一。当时,天河一号采用的是GPU是AMD的。 天河一号A采用的是Nvidia的GPU卡。

Xeon Phi 是intel生产的协处理器,通过PCI-e 相连。目的是于GPU抗衡,因为Intel显卡不是优势。天河二号采用的便是 Xeon E5 Xeon Phi。

FPGA 加速卡在2014年也提出了。在SC14, Xilinux便展示了Alpha Data 公司生产的 ADM-PCIE-7V3 FPGA加速板,通过PCIe和host cpu相连,加载Virtex 7系列。FPGA最初的应用是为了验证逻辑设计,即作为开发板,即用于验证逻辑设计,然后将该设计流片,生成ASIC芯片。现在,FPGA已经作为加速卡(即插即用)!!

GPDSP  因为美国Intel禁售Xeon Phi,因此国防科大提出GPDSP作为协处理器,目前还在酝酿中。

 

 

 

 

下面是转载:

****************************************************************************************************

异构计算是一种分布式计算,它或是用能同时支持SIMD方式和MIMD方式的单个独立计算机,或是用由高速网络互连的一组独立计算机来完成计算任务。采用异构计算架构的超算会使用至少2种类型的处理器,其中异构计算架构中通用CPU负责逻辑复杂的调度和串行任务,加速器负责并行度高的任务,实现计算加速。具体来说,采用异构计算架构的超算在运算中既使用处理器,又使用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。除了泰坦和天河2号之外,曙光6000和天河1号也采用的是异构计算架构。

 大规模科学计算一般都能做到高度并行化,能将计算任务拆分给海量的小核心来并行执行。因此,在加速器选择方面就产生了三个方案:

一是用GPGPU做加速器。因为GPU是大宽度并行结构(GPU拥有海量SIMD计算单元),高端GPU的资源集成度非常高,能很容易做到非常高的理论双精浮点计算能力。以英伟达最新的加速卡K80为例,该加速卡功耗300W,双精浮点高达2.9TFlops。

二是用众核芯片做加速器。一方面添加浮点、向量指令(比如Intel的AVX、FMA,龙芯的LoongSIMD)提升浮点性能。另一方面堆砌核心数量,比如Intel的第一代Xeon-PHI就有60核,双精浮点性能为1T,功耗为300W;龙芯也曾经有过16核的龙芯3C的方案,但在工作进度完成大半后被迫放弃。

三是用GPDSP做加速器。国防科大自主研发了矩阵2000以替代Intel的Xeon-PHI,矩阵2000双精浮点达2.4T,功耗200W,虽然离第二代至强PHI双精浮点3T的性能有差距,但性能和性能-功耗比都足以笑傲天河2号正在使用的Intel第一代至强PHI,成为天河2A升级计划中至强PHI计算卡的理想替代品。

 

 



 

 

****************************************************************************************************

GPGPU和GPDSP的优缺点

GPU的大宽度并行结构能做到非常高的理论双精浮点计算能力(英伟达的加速卡K80双精浮点高达2.9TFlops)。但因CPU和GPU的编程模型是不一致,导致GPGPU在编程方面很不方便,只能跑OpenCL、OpenACC、CUDA代码,不能跑OpenMP并行处理的代码。加上GPGPU作为加速卡和CPU是不共享内存,需要程序员显式拷贝,进而导致数据访问速度变慢。因此,GPGPU相对而言编程麻烦、效率相对而言并不高、通用性差,但是性能-功耗比高。

GPDSP是国防科大首创,是应对美国禁售Xeon-PHI的技术储备和秘密武器。国防科大最迟在2013年就开始着手GPDSP的研发工作。今年发布的矩阵2000采用40nm制程工艺,拥有16核,主频1G,双精浮点2.4T,功耗为200W。因此,矩阵2000虽然在性能上因受制于国内的制造工艺和设计水平,在性能上不如GPGPU,但在性能-功耗上已经略优于GPGPU(2.4T/200W对比 2.91T/300W),而且已经大幅优于天河2号目前使用的第一代至强PHI计算卡(2.4T/200W 对比

1T/300W)。

 

GPDSP相对于GPGPU更接近于CPU,可以独立运行OS(Linux或其它实时内核),在编程方面比GPGPU稍微容易一些(其实相对于CPU两者编程难度都很大)。矩阵2000也是带分支能力的众核处理器,和Xeon-

PHI是相似类型计算卡,理论上讲,扩充一些GPDSP编译指导语句也能跑OpenMP代码。当然,GPDSP也能跑OpenCL、OpenACC并行处理代码(异构代码)。

因此,GPDSP虽然在性能上不如GPGPU,但在性能-功耗上已经略优于GPGPU(2.4T/200W 对比

2.91T/300W),在效率和通用性方面优于GPGPU。

 

GPU在做并行计算时,传统渲染架构中的TMU、ROP等特性毫无用处,反而占用了晶体管资源。DSP是纯粹向量机,不像GPU那样有光栅化渲染占晶体管,影响管线结构。

虽然GPU是大宽度并行结构,高端GPU的资源集成度非常高,能很容易做到非常高的理论双精浮点计算能力,但在彼此工艺和集成能力相当的情况下,舍弃图形部分的DSP的晶体管效率更高,而且访存效率也高于GPU传统图形渲染管线那种绕弯子的访存方式。

因此,GPDSP在效率方面比GPGPU具有先天优势,很有可能就是借鉴了GPU的Shader执行部分的管理和执行结构,但又没有GPU那么多历史遗留框架造成的负面影响。国防科大在天河1和天河2的研制过程中,在加速器的选择方面把众核处理器和GPU都试了一遍,相信选择GPDSP路线是国防科大深思熟虑后的结果——中国在制造工艺和超大集成度芯片设计能力不如国外英伟达、IBM、Intel等国外巨头的时候,走GPDSP路线是缩短和国外产品在绝对性能上差距的有效途径。

 

根据国防科大公布的资料,因保留了天河2号的主体I/O结构,计算节点处理器依旧使用E5-2692V2,计算节点增加到18000个,按照一个计算节点需要2个E5和3个加速器来计算,天河2A需要36000片E5和54000片矩阵2000,仅54000片矩阵2000理论浮点峰值可以达到129.6Pflops。

国防科大若要将蓝图变成现实,技术难点已经不再是芯片的设计和制造,而是软件堆栈,包括GPDPS驱动程序、操作系统、编译器、基础库等,这是一项工程量巨大的工作。

 

 

 

 

 

 

 


' /\_,,,,_/\ ?????
'┃  ?   ?  ┃
'┃ΞΞ?ΞΞ┃ 
'╰┳━┳╯
'╭┫   ┣╮ 
'┺┻┻┻┹ 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多