如何写论文?写好论文?免费论文网提供各类免费论文写作素材!
当前位置:免费论文网 > 美文好词 > 优质好文 > gpu浮点性能

gpu浮点性能

来源:免费论文网 | 时间:2017-05-09 06:56 | 移动端:gpu浮点性能

篇一:FPGA GPU CPU 在高性能计算的应用及展望

FPGA,GPU和CPU在高性能计算领域的应用及展望

课 程:系统及可编程芯片设计

专 业:微电子学与固体电子学

姓 名:

学 号:

任课老师:

FPGA,GPU和CPU在高性能计算领域的应用及展望

目前FPGA对于浮点数的运算速度已经达到1TFLOP(每秒万亿次浮点运算),同时GPU和多核CPU通过利用最新的IC设计技术也大大提高了其运算能力。本文将对比三种结构对于高性能计算的发展趋势,同时也会介绍在特定运算环境下三种结构的持续性能。

1. 高性能计算中FPGA,GPU和CPU的简介

近年来,传统用于图像处理的GPU逐渐被发掘用来进行高性能计算,并且达到了相当好的效果,在单精度浮点运算中的速度达到5TFLOPs,在双精度浮点运算中的速度可以达到1TFLOPs。如今性能最好的GPU处理器(比如NVidea的Tesla K20和K40)与一些其他的多核处理器(比如Intel Xeon Phi处理器以及IBM和Inter的一些处理器)相比表现出了非常好的计算性能。

FPGA传统上是应用于单精度的定点运算,不过现在也可以浮点数进行高性能的计算,单精度浮点数的运算峰值已经超过1TFLOPs。但是运算的峰值并不能代表在特定环境下器件的持续工作性能,比如在计算2级的FFT时,Inter的80-teraflop持续工作性能只能达到其峰值性能的2.73%(20GFLOPs)。FPGA工作在一个较低的频率下,运算峰值较低,但是可以通过硬件优化来实现对特定应用的更好的运行效率,即持续性能能达到更接近峰值运算性能的值,同时与GPU和CPU相比FPGA的功率效率更高。

一个特定的应用在不同的平台上运算是不一样的,对于运算结果的评估可以基于以下几点:性能、功耗、功率效率、运行效率、成本以及其他。在本文中,我们分析每个期间在峰值性能以及能耗方面的发展趋势,并对三者在一些科学应用的持续性能进行对比,找出对于某一特定应用的最佳运算平台。

2. 峰值计算性能发展趋势

2.1 GPU

GPU最初被设计用来进行图像处理并在该方面显示出了强大的优势,近10年来GPU逐渐被应用到通用计算领域,一般称为GPGPU。基于其强大的并行计算能力,在一些其他的计算分析方面其性能早已可与多核CPU相媲美。

观察多代GPU的发展,我们发现其峰值性能并不是简单的线性增长,单精度浮点运算和双精度浮点运算都是这样。我们没有办法去简单的描述GPU的全面的发展,因为各种GPU的结构非常多,所以在此只挑出在某个年份的最佳性

能的一些GPU进行分析。结果如图1所示[1]。

图1 GPU的峰值性能

观察图1可知,每一代GPU之间的性能提升超过1TFLOP,同时右图中可知在某些年份工艺技术没有提升,但是性能提升了,说明性能的增长不仅与新的制造工艺有关也与结构的优化有关。单精度和双精度的性能差距由最初的相差10倍降到了最新一代的只差4倍左右。

关于能耗方面,GPU的功率效率(峰值性能与热设计功耗(TDP)的比值)也是在稳定则增长,单精度的功率效率由最初的0.5GFLOPs/W增加到了GFLOPs/W,双精度的功率效率由0.5GFLOPs/W增加到了6GFLOPs/W。这意味着GPU以一个增长的功率效率提供着一个惊人的运算性能。

GPU的外部存储带宽也非常高,Geforce 6800的带宽为35 GBytes/s,K20, K20X 和 K40的带宽分别为208,250和288 GBytes/s。.

2.2 多核CPU

通用CPU的峰值运算性能在近年来也获得了显著提升,图2中显示了部分Intel的著名CPU的峰值运算性能。

Intel最近推出的Xeon PHI 7120P处理器的峰值运算性能可以达到单精度2416GFLOPs,双精度1208GFLOPs,Intel处理器计算性能的提升靠的是增加CPU的核数,这些处理器的功率效率和GPU相比较低。最初65nm技术的CPU的功率效率为0.1 GFLOPs/W,目前22nm技术下的CPU的功率效率已经增加到单精度9 GFLOPs/W,双精度4.5 GFLOPs/W。

在Intel的这些处理器中,2008年出的一款多核处理器在3.16GHz频率1.07V电压下,峰值运算速度可以达到单精度1 TFLOP。CPU或者多核CPU的存储器带宽也很高。比如Xeon PHI 7120P的带宽为352GBytes/s,比最近出的GPU稍

微高一些。

图2 CPU的峰值性能

2.3 FPGA

FPGA的峰值运算性能由它所包含的乘法器和LUT的资源决定,观察Xilinx公司的一些产品发现乘法器和LUT的资源并不是线性增长的(如图3所示)。最新的Virtex7系列FPGA中 XC7VX980T含有3600个18*18的乘法器和612000个LUT,XC7V2000T含有2160个乘法器和1221600个LUT。

图3 Xilinx的不同FPGA包含的乘法器

如果要分析FPGA的峰值运算性能,我们需要考虑三种情况:只有加法器,只有乘法器,有乘法器和加法器。加法器可以只通过LUT就可以实现,而乘法器的实现则需要DSP和LUT的不同组合(组合结构为M0,M1,M2)。乘加运算真是这些乘法器和加法器的一一组合。表1介绍了浮点运算中的不同资源组合

情况。

表1 浮点运算所占用的资源和频率

下面我们主要观察两款FPGA的峰值运算性能,它们是Xilinx公司的XC7VX980T和XC7V2000T。两款产品对于不同的应用所占用的资源是不同的,结果如图4,图5所示。如果只考虑加法器,最好的单精度峰值运算性能为

1.4TFLOPs;如果只考虑乘法器,最好的单精度峰值运算性能为1TFLOPs。加法器和乘法器资源的组合中,能获得的最佳峰值运算性能为1.6TFLOPs。在这种情况下,我们可以看到XC7V2000T比XC7VX980T更适合浮点数运算,即使它的DSP资源只有XC7VX980T的60%。

图4 两款产品单精度浮点运算占用不同资源的峰值性能

对于双精度的峰值运算,只含有加法器运算的最佳的峰值运算性能出现在XC7V2000T FPGA中,为671GFLOPs;只含有乘法器运算的最佳峰值运算性能降为168GFLOPs;加法器和乘法器的组合运算的最佳运算性能为302GFLOPs,由XC7VX980T获得。

FPGA的功率效率超过10GFLOPs/W,一般来说是比CPU和GPU要高的,而且随着技术的发展FPGA的功率效率也会继续不断提升。比如Altera的一款能达到5TFLOPs的高性能FPGA就应用了Intel的14nm Tri-Gate,功率效率达到

篇二:通用GPU在高性能计算中的应用报告

通用GPU在高性能计算中的应用

一、背景概述

现代科研过程已经在很大程度上倚赖于高性能数值模拟计算,通过数值离散用于描述各种问题的复杂方程并在计算机上高速求解,不仅解决了许多过去手工理论计算不能求解的问题,而且在很大程度上可以代替实地试验,有着直接、精确、快速的特点,同时易于和自动化设计、制造相结合,从而实现整个科研过程的无纸化,自动化,极大地节约了资源并提高了工作效率。数值模拟计算和理论计算、试验测量并称科学研究3大方法。

随着科学复杂度的提高和需求领域的增多,数值模拟对计算性能要求也越来越高,因此数值计算又可以称为高性能数值计算。基于数值计算程序偏重于运行速度和编程人员群体同时又是科研人员的的特殊性,因此在程序开发模型短期内难以有较大提升的情况下,其核心就是要求计算机硬件计算水平的快速提高。

二、高性能计算机分类及其特点

因用户的需求水平和经济负担能力的不同,计算机的购买也会有很大差别,从实用角度来看,高性能计算机可以用下面几条标准来衡量: a、硬件运行速度越高越好,从而尽可能缩短计算时间,提高计算效率; b、硬件使用成本包括购买费用、电费尽可能要低;

c、计算机管理维护复杂度、管理费用、机器折旧费等越低越好,或者说使用效率/使用成本越高越好;

d、程序开发复杂度和难度越低越好;

e、任务是否饱满;

依上述标准,高性能计算机一般可以如下分为3个水平:

2.1、超级计算机

超级计算机一般是指计算速度在几十万亿次级别以上的计算机,是一个国家科技、经济和国防的综合实力的体现。各国之间对超级计算机的竞争十分激烈,具体情况可以从TOP500的排名变动情况来得到验证,目前最快的超级计算机“走鹃”为美国IBM制造,其速度超过了1000万亿次,另外还有几套著名的超级计算机如美国的“蓝色基因”、“红色风暴”以及日本的“地球模拟器”,我国曙光公司也建造了几套超级计算机,其最新成果是最近在上海高性能计算中心建成的“魔方”,其计算速度超过了100万亿次,这些超级计算机为上述国家的高科技研究和极端工业设计提供了有力的计算保证。

超级计算机的优点是性能强悍,可以迅速有效地求解各种复杂的方程,为一个国家的科技发展提供强有力的计算资源保证;工作状态稳定,可长时间甚至几十年连续运行而不停机。 缺点是投资、管理及运行费用巨大,维护困难,一般单位负担不起相关购买和维护费用甚至使用费用,更新换代速度极快,性价比很低;

超级计算机的特点决定了其工作负荷必须饱满,而且不能停机,否则会极大地浪费资源,这就需要努力地安排各种计算任务,尽量发挥计算机的性能。这也决定了每个国家一般也只是建造一套或数套,用来保证本国高科技研究和极端工业设计的发展。

2.2松散集群机

一般科研单位一方面对超级计算机的需求量不大,另一方面普通的高性能PC单机又满足不了计算需求,其对计算能力的要求是:

a、性能较高,可以满足对中小型任务的快速计算;

b、价格低廉,经费一般在10万元以下;

c、管理要尽量简单灵活;

那么由若干普通商品PC机通过组网形式,利用特殊软件平台组成的松散集群是常用的形式。

其优点是组装形式灵活,购置费用相对低廉,管理也比较简单,性能也相对足够,因此是现在各个常规科研院所通常所采用的形式。

其缺点是空间占用较大,噪音较大,功耗较高,需要建设专门机房并安装空调设备;故障发生率也比较高,因此系统的安装、管理以及维护需要有专人负责;还有若组建的规模较大,其费用也很可观,一般需要十几万元到几十万不等;另外就是编写的程序的结构和算法需要做专门的并行化改写,编程难度系数较串行程序提高很多;加上其多人共享资源的属性,导致了研究人员必须为使用资源而争抢,工作效率被降低,得到的计算结果延迟,不利于个人或小团队的实时计算需求,容易与科研过程脱钩。

2.3 个人计算机

这里是对小型服务器、工作站、高性能PC机的统称,这一类的特点是体积小,可随意摆放;CPU个数少,一般只有一个;配置简单,使用方便。

相对前面2类的专业化和复杂性,这一类是日常科研计算应用最多的,其优点是灵活易用,计算能力不错,可以胜任日常办公和小型的计算任务;缺点是如果计算任务规模稍大,花费的计算时间则急剧升高,难以胜任快速计算要求,如果任务规模和数量稍大,此时就需要借助于前面2种类型的计算机。

2.4 总结

对于高性能数值计算,其关注核心是计算机硬件对高精度浮点数的稳定处理速度和I/O吞吐能力,对其它的方面并不是很关心,以往主要依靠的是CPU性能的提升,造成以上三类高性能计算机性能的提升主要依靠CPU,而CPU的通用目的设计要求决定了其用于处理浮点数的部分仅占全部功能的一小部分,为了增加计算速度,只能依靠增加CPU个数进而增加计算机的并行度来解决,这也是每台超级计算机动辄拥有上万甚至上十万个CPU的原因,如美国Sandia国家实验室的“红色风暴”使用了13277颗2.4GHz双核心Opteron处理器,自然也就带来了体积庞大、功耗高、资源利用率低、价格高昂等弊端。

目前CPU的发展已经遇到了瓶颈,其核心架构的工作频率因为制造工艺以及信号传递的量子效应而难以再有太大的提升,目前各CPU生产厂商主要依靠增加CPU的核心数量来维持性能的提升,如目前主流的双核、四核,甚至八核的CPU也出现了,事实上是走了并行的道路,于高性能计算的提升有限,对解决个人计算机性能不够的问题帮助有限。

因此,利用CPU来获得一种速度足够快速、体积小巧、功耗低、性能足够、资源利用率高的个人超级计算机面临几乎不可调和的矛盾。

三、GPGPU和CUDA技术

3.1 GPGPU介绍

随着硬件技术的发展,原来仅应用于数字图形图像高速处理的图形处理器(GPU),通过硬件架构的革新和优化,借助相关软件平台,实现了对通用数值计算的支持,有效地释放了GPU本身具有的强悍的计算能力。GPU与CPU的架构特点可用下图1来表示:

图1、CPU和GPU的硬件架构体系

从上图1可以看到,CPU的通用设计目的使得其大部分晶体管主要用于构建控制电路(如分支预测等)和高速缓存Cache(提高处理速度),只有少部分的晶体管用于ALU部件来完成实际的数值运算工作。GPU与CPU的设计目标不同,其专注数字图形数据处理的设计初衷,使得其控制电路相对简单,而且对Cache的需求较小,大部分晶体管组成了各类专用电路和多条流水线,从而使得GPU拥有惊人的浮点运算能力,如最新的NVIDIA公司的S1070GPU模块的浮点计算速度已经达到了单精度4万亿次的水平[1],这已经相当于一个大中型集群的计算速度。

GPU技术目前发展速度也十分迅速,近年来正在以大大超过摩尔定律的速度高速发展,如下图2所示:

篇三:gpu的结构解析

GTX680架构解析 GPU版开普勒三大定律

2012年03月22日 21:01 出处:泡泡网 【原创】 作者:孙敏杰 编辑:孙敏杰

GPU图形架构:改革还是革命?

泡泡网显卡频道3月22日 “什么?GTX680的流处理器数量是1536个?而且GTX680的流处理器与核心同频率,不再是两倍了?这规格简直和HD6970一模一样!AMD的HD7970刚开始学习NVIDIA的架构,现在NVIDIA的GTX680又学AMD了,你们这是要闹哪样啊?”

相信很多人听到GTX680的规格时,都会产生这样一种想法。在GTX680发布之前,各种小道消息不胫而走之时,笔者也很纳闷,NVIDIA的Kepler架构到底发生了什么样的变化?难不成N/A双方真的要互相学习、取长补短?

在新一代GTX680发布前夕,NVIDIA召开了多场技术讲座,NVIDIA总部的专家为全球各大媒体编辑详细解读了新一代Kepler(开普勒)架构的技术特性,笔者经过深入学习研究之后,今天就为大家揭开谜底——新一代GPU图形架构到底谁更先进?

NVIDIA和AMD的GPU架构相关名词解读:

1. NVIDIA喜欢用物理学家的名字来为GPU架构命名,从DX10开始第一代叫做Tesla(特斯拉)、第二代是Fermi(费米)、第三代是Kepler(开普勒)、第四代是Maxwell(麦克斯韦),这些科学家的大名是如雷贯耳,就不做解释了。

2. Kepler(开普勒)是NVIDIA新一代的GPU架构代号,基于开普勒架构第一颗GPU的代号是GK104,基于GK104核心的首款显卡是GeForce GTX 680。

3. AMD以前GPU代号和NVIDIA一样也是字母+数字,但从DX11时代开始GPU的代号用单词来命名,比如HD5000系列的架构代号是EverGreen(常青树),高端HD5870核心代号Cypress(柏树)、中端HD5770核心代号Juniper(杜松);

HD6000的架构代号是North Island(北方群岛),高端HD6970核心代号Cayman(开曼群岛),中端HD6870核心代号Barts(圣巴特,加勒比海某小岛);

HD7000的架构代号是Sourth Island(南方群岛),高端HD7970核心代号Tahiti(大溪地),中端HD7870核心代号Pitcairn(南太平洋某英属群岛),主流HD7770核心代号Cape Verde(佛得角,非洲最南边岛国)。

GPU图形架构的阴阳之争

今年一月份,在AMD发布HD7970时,我们曾详细的分析过AMD代号为南方群岛的“Graphics Core Next”架构。这是AMD收购ATI之后的近5年来第一次对GPU架构进行“伤筋动骨”的“手术”,而架构调整的核心内容则是为并行计算优化设计,我们发现AMD的GCN架构与NVIDIA的GPU有很多相似之处。

当时笔者曾感慨:“在流处理器部分,终于不用费劲的把AMD和NVIDIA GPU架构分开介绍了,因为GCN与SM已经没有本质区别了。剩下的只是缓存容量、流处理器簇的数量、线程调度机制的问题,双方根据实际应用自然会有不同的判断,自家的前后两代产品也会对这些数量和排列组合进行微调。AMD向NVIDIA的架构靠拢,证明了他这么多年来确实是在错误的道路上越走越远,还好浪子回头金不换,这次GCN架构简直就是大跃进!” 促使AMD做出革命性改进的一大原因,就是从R600开始SIMD(单指令多数据流)VILW(超长指令集)的效率问题,AMD的GPU固然拥有恐怖的浮点运算能力,但很多时候都不能完全发挥出来,由此导致游戏性能和计算性能都要大打折扣。此后的四代产品虽然在R600的基础上修修补补,但始终未能从根本上解决问题。

AMD承认,从VLIW到GCN是GPU的革命,这次革命NVIDIA几年前就完成了 NVIDIA的GPU从G80时代开始,其MIMD(多指令多数据流)一直以高效能而著称,但也存在一个让人头疼的问题——GPU流处理器数量较少、浮点运算能力太低,这同样限制了N卡在游戏以及计算方面的实际性能。

AMD的SIMD架构可以用较少的晶体管造出庞大数量的流处理器、拥有恐怖的理论浮点运算能力;而NVIDIA的MIMD架构必须使用更多的晶体管制造出看似比较少的流处理器,理论浮点运算能力相差很远。双方走的都是极端路线,AMD以数量弥补效率的不足,而NVIDIA以效率弥补数量的劣势。

6年前从G80和R600开始,NVIDIA和AMD在GPU架构上分道扬镳,这么多年经历了风风雨雨之后,发现极左或极右路线都有各自的局限性,修正主义治标不治本,唯有走中间路线才是正道!不过中间路线也有不同的走法,有些人还是偏左、有些人还是偏右…… AMD的方向:SIMD的另一种形式

从GPU外围模块来看,AMD的Tahiti和上代Cayman相比变化不大,只是强化了曲面细分单元,加入了双异步计算引擎而已。

HD6970代号为Cayman的GPU核心架构图


gpu浮点性能》由:免费论文网互联网用户整理提供;
链接地址:http://www.csmayi.cn/meiwen/34670.html
转载请保留,谢谢!
相关文章