ARM-GPU将在高性能计算中脱颖而出

GPU已经成为加速高性能计算工作负载的标准平台,至少对于那些已经对其代码进行了调整以完全支持加速的工作而言。但是直到最近,大部分加速还是发生在使用Intel Xeon或IBM Power处理器的主机系统上。但是随着Nvidia兑现了支持Arm作为X86和Power的对等产品的承诺,由Arm-GPU组合提供支持的HPC的前景已大大增加。

从Nvidia的角度来看,考虑到Arm将在未来的HPC部署中取代X86,特别是在欧盟和英国,这当然很有意义。在美国和其它地方,Arm被视为向高性能计算生态系统注入更多多样性和竞争的一种方式。此外,Arm在超大规模、云计算和企业设置方面还具有更广泛的地理可能性。

三大知名超级计算中心正在帮助Nvidia将这种Arm-GPU计算模型实现为HPC:日本的RIKEN,英国的布里斯托大学和美国的橡树岭国家实验室。

以橡树岭为例,实验室已通过为基于ThunderX2的Wombat测试平台群集配备NvidiaV100 GPU并使用该设置移植和基准化一系列加速的HPC代码来着手这项工作。Wombat由16个预制的HPE Apollo70节点组成,每个节点都配备了一对28核的ThunderX2CPU,256 GB RAM和100 Gb / sec EDRInfiniBand网络接口。其中四个节点已配备Nvidia V100 GPU,每个节点两个,每个GPU都挂接到32 GB的HBM2内存中。与橡树岭的“ Summit”超级计算机上设置的V100 GPU相比,Wombat的HBM2内存是其两倍,但接口要慢得多,因为这些GPU使用PCI-Express 3.0链接而不是Nvidia专门构建的NVLink2互连。

在软件方面,为Wombat用户提供了Arm增强的CUDA 10.1(预发行版)以及一系列Arm支持的编译器,包括gcc v8.2,gcc v9.2,用于HPC v19的Arm编译器。 3,以及具有CUDAFortran支持的PGI开发人员版本。支持库由OpenMPIv3.1和v4.0,以及UCX 1.7.0以及ArmPerformance Libraries提供的优化的BLAS,LAPACK,FFT等数学例程组成。

在测试的应用程序中有用于比较基因组学的组合度量(CoMet)代码、格罗宁根化学模拟机(GROMACS)、用于分子动力学模拟、量子多体系统的动态簇近似++(DCA ++)代码、大规模原子/分子大规模并行模拟器(LAMMPS)代码以及材料科学的局部自洽多重散射(LSMS)代码等。

橡树岭科学计算小组的计算科学家Wayne Joubert表示,移植是非常简单的,主要是需要更改应用程序构建脚本。例如,CoMet主要方法的移植,测试和基准测试不到两天。其他代码只需几个小时即可移植。

Joubert告诉我们:“这种体验非常类似于将代码从X86转移到Power架构。事实上,移植过程中最大的挑战是确保所有需要的系统软件都安装在系统上。”

ORNL技术集成小组的HPC系统程序员RossMiller表示,移植代码的不同团队在SC19移植代码之前仅几周,因此在大多数情况下,他们只有时间来启动应用程序并进行移植。在Wombat上运行,而不是花费更多的劳动强度来优化其性能。例如,尽管GPU的HBM2容量是Summit上的GPU的两倍,但开发人员没有机会为额外的内存调整问题大小。

“至少在一种情况下(VMD),开发人员已经为X86代码编写了手动调整的SSE,AVX和AVX-512例程,” Miller指出。“ Arm端口必须完全依赖编译器生成的代码,而效率却不那么高。如果开发人员花时间为NEON指令集编写类似的优化例程,那么性能将更加接近。”

通常,GPU性能差不多是Summit的20%,差异归因于功能较弱的主机处理器(ThunderX2与Power9)以及缺乏优化。一些应用受到较低PCIe带宽的影响,而对于另一些应用,差异并不明显。考虑到所有这些因素,再加上Wombat使用的是预制硬件,在某些情况下还使用了预制软件,现在就对这种Arm-GPU产品的相对性能做出确切的决定还为时过早。

同样,评估此特定系统的能源效率也为时过早。他们打算在将来考虑这一点。

每个参与者Arm、Nvidia和HPC用户社区都在打持久战,没有人指望Arm能够像1990年代初X86接管HPC并成为未来三十年的主导架构那样,席卷整个HPC市场。但是Arm可以一点一点地在竞争中脱颖而出。 (EETOP翻译自nextplatform)


广告:创芯大讲堂春节送福利喽!

全场7折(最后一天),祝大家扫货愉快!

(0)

相关推荐