GPU超算完整体验 AMD FirePro 通用计算特性

商务办公
GPU通用计算不再是新鲜事,但是对于许多人而言,可能也就仅限于听过而已,其中的一些关键信息缺并不十分了解,这并不奇怪,因为“听过”的人当中其实大部分都是游戏玩家,就算对这方面有更多认识(例如懂得写OpenCL 代码)的人来说,也未必能对厂商为什么会推出专门的超算卡有充分的认知。

使用显卡或者说GPU执行通用计算早就已经不是什么新鲜的事情,这得益于整个行业近年来不遗余力的推动,例如AMD、Apple、NVIDIA、Intel 等都把 GPU 执行非图形处理作为新业务的重中之重来推广。

    虽然说GPU通用计算不再是新鲜事,但是对于许多人而言,可能也就仅限于听过而已,其中的一些关键信息缺并不十分了解,这并不奇怪,因为“听过”的人当中其实大部分都是游戏玩家,就算对这方面有更多认识(例如懂得写OpenCL 代码)的人来说,也未必能对厂商为什么会推出专门的超算卡有充分的认知。

    我们以AMDFirePro为例,这个产品线最初是叫 FireGL,本是针对图形工作站为主的应用,因为图形工作站的最突出特点就是使用 OpenGL 作为图形 API。

    后来AMD推出了FireStream 产品线,这个产品线类似于竞争厂商的 Tesla 产品线,为了统一品牌推广,AMD 将 FireStream 和 FireGL 产品线合并,现在分别名为 FirePro S 系列和 FirePro W 系列,S 和 W 分别是英文中服务器和工作站的首字母。

拿下2014年度Green500 ***名的 AMD FirePro S9150 服务器超算卡

AMDFireProS9150采用了特别设计的被动散热方案

    从外观上看S和W 的区别其实很简单,分别就是 S 是被动散热,而 W 则是主动散热,而且 W 是主打传统图形工作站应用的,其中要 W8X00 级别以上的产品才具备较高的浮点计算性能,往下的 W 系列显卡不强调双精度性能(至少目前是这样)。

    除了双精度性能的区别外,W8X00级别以上的产品一般还会配备较大的卡载内存,这样的设计不仅有利于复杂场景的工作站应用,而且对通用计算来说也是有非常大的助益。

    在GordenBell(DEC公司早期雇员之一,早期的 PDP 小型机设计者,现在美国计算机协会设立的 Gorden Bell 奖被视作计算机界的诺贝尔奖,于每年 SC 大会上颁发)所撰写的《Great and Big Ideas in Computer Structures》一文中,关于资源平衡有这样的说法:

    按照上世纪60年代提出的 Amdahl 法则,指令速度、内存容量、位元速率的性能平衡,应该做到每秒一条指令对应一个字节的一级内存大小和每秒一个位元的内存带宽(这些指标是相对值,换个说法就是每周期一条指令的性能需要一个字节的一级内存空间和每个周期一个位元的内存带宽来达致性能平衡)。

    到了90年代,在科学计算领域,要实现每秒浮点操作(flops)与内存的平衡,就得做到不低于1flops/字节 到 1flops/8字节。

    在多级内存方面,美国LosAlamosNational Laboratory(洛斯阿拉莫斯国家实验室)曾经对若干个“重大挑战”的计算问题进行了评估,得出的结论是:每个一级内存字节需要 1/15 到 5000 个二级内存字节才能达致平衡。

    按照这样的说法,如果GPU里有2.8 MiB 内存(例如 AMD GPU 里称作 Local Data Store 的那块小内存),就需要 14 GiB 片外内存才能在科学计算上做到“性能平衡”,看到这里,也就不能难解释为何 AMD FirePro W9100 和 FirePro S9150 搭配高达 16 GiB 的卡载内存了——这不是随便拍下脑袋决定的。

    AMDFirePro产品针对超算的一个特别设计就是提供了ECC 的支持,而这个特性在游戏卡中是不提供的。

    超算执行的操作往往涉及大量的数据处理,但是受到宇宙背景射线的影响,存储芯片非常容易因此而导致位元错误,例如8(00111000)会变成 9(0011 1001)。

    根据美国NASA(国家航空航天局)发布的一份名为“In-FlightObservationsof Multiple-Bit Upset in DRAMs”的文件有这样的统计结果:

    在1997年发射的卡西尼-惠更斯号土星探测器内有两个相同的飞行记录仪,它们各有一个2.5 GiB 采用商用动态内存芯片的内存阵列。在头两年半的飞行中,飞船的工程自动遥测报告显示每天都持续有大约 280 个位元错误,而在头一个月的时候更是可能因为太阳粒子活动,出现了单日错误数增加超过 4 倍的现象发生。

    这样的现象会随着DRAM密度的增加而进一步加重,这意味着随着工艺进步,芯片越来越小、耗电越来越低,同面积存储器发生错误的次数越多。

    GCN微架构在芯片级提供了硬件ECC,所有的片上缓存都受到ECC 技术的保护,能侦测并矫正片上缓存受宇宙射线影响导致的单个位元错误。

    在片外内存或者说显卡卡载内存上,AMD为FirePro提供了一个驱动面板开关,允许用家自行决定是否启用 ECC 技术,用来确保这部份数据存储和传输可靠性。

    当然,由于GDDR5缺乏ECC,因此这里就涉及到一些额外的数据传输进行验证,容量和带宽会因此受到影响,相应显卡的性能会有一定的影响,影响幅度取决于具体的应用。

    和速度受到一定影响相比,计算结果是否准确才是超算最为关心的,尤其是大规模集群计算,这点和游戏卡只是输出至显示器、几乎不存在数据复用的情况很不一样。

    说到这,就不得不提一个容易让人误解的问题:交火并行渲染。Crossfire是AMD的并行渲染技术,不过它并不能让未指定设备的超算代码自动以并行方式运行。

    交火的时候,驱动程序会自动安排好渲染帧或者中间数据的处理,然后副卡把渲染好的数据传输到主卡里进行后续的处理(例如合并为最终输出的色彩缓存数据)。

    但是超算的执行方式并不是这样的,原因在于数据复用情况要复杂许多,理论上它也不需要画面输出操作,故此交火和超算是没啥关系的,因此在FirePro上你是看不到游戏卡的那个交火桥接插头,因为多卡并行完全是由超算代码开发人员或者编译器来实现的。

    综上所述,你可以看到:

    1、蓝宝PGSAMDFirePro 和游戏卡在硬件上存在板卡级的区别。

    2、蓝宝PGSAMDFirePro 和游戏卡存在软件驱动的重要区别。

    3、蓝宝PGSAMDFirePro 有多种提供给超算用户的方案,例如偏工作站应用、强调单精度性能耗电比的 W 系列以及强调双精度性能、偏向服务器、注重机箱型制的 S 系列。

    不过除了这几点外,还有一点需要在***提一下,那就是产品生命周期方面,FirePro提供了至少3年的售后支持,而游戏卡一般也就是 1 年,更重要的是,FirePro 面向的超算是技术含量远远高于游戏的应用,非常需要来自厂商的***手技术支持,AMD 在这方面为 FirePeo 提供了相应的有力支持,经常有培训班提供,为用户打开了价值提升的空间。

责任编辑:鸢玮 来源: AMD
相关推荐

2024-03-20 11:07:57

AI计算CPUGPU

2014-11-25 16:22:48

AMD显卡

2012-08-10 10:04:01

AMDCPUGPU

2013-06-19 10:28:19

巴塞罗那超算中心部署

2024-08-22 16:54:44

2015-01-19 10:58:32

AMD显卡

2024-06-18 11:32:19

2013-11-06 09:43:23

体验引擎移动异构计算高通

2024-01-15 07:10:00

超算训练

2011-11-23 10:58:50

华硕服务器云计算华硕私有云

2014-08-08 14:29:22

蓝宝石

2023-09-01 18:18:32

2011-10-17 14:59:18

AMDOpteron处理器超级计算机

2010-06-01 11:40:42

TOP500

2012-07-20 10:36:06

AMD超算

2013-04-01 09:17:12

ARM通用计算性能

2011-05-25 10:55:48

AMD皓龙

2013-03-22 14:39:22

SDN计算机平台数据中心网络

2009-09-16 00:36:33

英特尔智能商业计算
点赞
收藏

51CTO技术栈公众号