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等数学例程组成。
橡树岭科学计算小组的计算科学家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折(最后一天),祝大家扫货愉快!