迎接“异构超算”新时代:日本Cygnus超算GPU和FPGA双硬件加持,TOP500榜单只此一台

迎接“异构超算”新时代:日本Cygnus超算GPU和FPGA双硬件加持,TOP500榜单只此一台
2019年04月19日 12:14 新智元

来源:github

编辑:大明

【新智元导读】异构超级计算机时代已经到来。近日,日本筑波大学上线的Cygnus超算成为第一台进入超算top500榜单的GPU、FPGA混合加速超级计算机。在如何让CPU、GPU、FPGA多硬件协调、高效、同步提供算力上迈出了重要一步。

如果说“异构超级计算机”的时代已经到来,那么本月早些时候在日本筑波大学上线的 CPU、GPU、FPGA混合硬件超算系统就是这个时代的首批探索者之一。

这台超算名为Cygnus,由NEC制造,目前在日本筑波大计算科学中心(CCS)运行,由Intel Xeon CPU,Nvidia Tesla GPU和Intel Stratix 10 FPGA共同提供硬件支持。

Cygnus系统架构:所有80个Cygnus节点都配备了两个Xeon“Skylake”黄金 CPU和四个Tesla V100 GPU,同时在32个节点中,还和GPU搭载了两个Stratix 10 FPGA。48个CPU-GPU专用节点称为“Deneb节点”(以最亮的Cygnus A星命名),而32个CPU-GPU-FPGA节点称为Albireo节点(以Cygnus A双星命名)。

FPGA型号为Bittware 520N PCIe卡,供应商为Nallatech,这些“重型”FPGA卡可以提供10 teraflops的单精度性能,以及四组DDR4内存。尤其是,该卡配备了四个100G光纤网络端口,共提供400Gbps带宽,可以通过自身结构直接与其他520N FPGA进行通信。在Cygnus中,可将8×8的2D环形网络中的64个FPGA相互连接。Bittware包括一个板级支持包(BSP),可供OpenCL开发人员使用。

每个Cygnus节点的双精度浮点性能为30 teraflops,其中28个节点算力由四个V100 GPU提供。由两个Stratix 10器件在配备FPGA的节点上提供20个单精度teraflops。整机可提供算力为2.4 petaflop(64位浮点)或5.12 petaflop(32位浮点)算力。

目前,Cygnus正在取代该机构之前使用的COMA,COMA是一款由Intel Xeon CPU和Xeon Phi协处理器驱动的Cray CS300计算机集群。它于2014年组建,今年3月底退役,为Cygnus让位。

Mellanox HDR InfiniBand负责Cygnus上的系统互连,与独立的FPGA网络一样,系统设计人员确保了足够的带宽来进行节点间通信。每个节点使用四个100Gbps HDR通道,连接为全二分fat树网络。InfiniBand网络还用于访问托管在DataDirect Networks ES14KX设备上的2.5 PB Lustre文件系统。

尽管“双加速硬件”的设定很新潮,但其实Cygnus并不是试验机。其组建的主要用途是为宇宙学、粒子物理学、生命科学和人工智能等领域科学研究提供生产力。通过CPU\GPU\FPGA的组合,力求在实际科学研究中最有效地发挥这些硬件各自的计算优势。

具体来说,GPU负责提供粗粒度并行计算,主要擅长SIMD友好型计算,而FPGA提供细粒度并行计算,更适合应用于非SIMD算法。而对于气候模拟,生物信息学、分子动力学、地球物理学和线性代数中使用的一些特定算法,FPGA已经证明能够实现比CPU、GPU更快、更高效的运算。不过,在科学上可以通过代码同时高效利用这两种架构。

Cygnus系统架构图

Cygnus的目标应用之一是模拟早期宇宙,模拟光源的辐射传输。模拟过程是在一个套为ARGOT的代码中实现的,其中名为“ART”(真实辐射传输)的光线追踪算法是该模拟中的重要部分,ART部分更适合FPGA硬件平台上的大规模运行。

不过,ARGOT的其他部分在GPU上运行更合适,因此利用“双硬件加速”成为最佳解决方案。该应用程序在GPU和FPGA之间使用基于PCIe的直接存储器访问来实现协调,避免了使CPU受到影响而出现延迟。

ART实现是使用相对较高级别的OpenCL实现的,这表明其他开发人员也可以这样做。Bittware方面表示,使用OpenCL实现的用户与严格使用硬件描述语言(HDL)实现的用户进行对比发现,在许多情况下,OpenCL实现在性能方面与后者“足够接近”。

过去几年来,FPGA软件开发的进展促使微软、亚马逊和百度等巨头越来越广泛地采用FPGA硬件,尤其是在机器学习和推理等应用上。

但是,在高性能计算平台中,使用FPGA的设备更少。筑波大学的这台Cygnus将是唯一一个进入超算TOP500榜单的采用FPGA加速的超级计算机。德国帕德博恩大学去年安装了一台使用FPGA的超算,Cray CS500超级计算机,配备了32块Bittware 520N卡,不过该机没有配备GPU。

还有一些其他FPGA式的HPC集群遍布世界各地,包括美国佛罗里达州的CHREC(现改称SHREC)的Nova-G#系统,英国Hartree中心的Maxeler HPC-X以及Catapult 1和TACC的HARP v2计算机集群。

未来是否会有更多更强大的异构超级计算机诞生?这不仅取决于使用者的需求,更多还要取决于硬件厂商和开发者是否继续从上到下推动生态系统建设。

从Bittware的角度来看,关键的推动力一定是来自中间层面的,同时有赖于对高级语言和更成熟的开发工具更充分的支持。目前的好消息是,业界最大的两家FPGA制造商——英特尔和赛林思都在为开发人员提供更好的工具,并将这些工具与下一代FPGA产品整合在一起。

从这一点上看,我们似乎可以对异构超算的未来保持一份谨慎的乐观。

参考链接:

https://www.nextplatform.com/2019/04/18/supercomputer-mixes-streams-with-cpu-gpu-and-fpga/

财经自媒体联盟更多自媒体作者

新浪首页 语音播报 相关新闻 返回顶部