【IT168 评测】一、测试背景:
自2009年浪潮推出了国内首款万亿次桌面超级计算机——“倚天”以来,兼具低成本、高性能特点的“倚天”受到了广大高性能用户的普遍青睐。近日,浪潮 “倚天”宝剑再度出鞘,推出搭载了NVIDIA Tesla最新Fermi架构20系列GPU的升级版桌面超级计算机——NF5588。该产品采用目前业界非常先进的双路四核 CPU+GPU异构计算架构,是一款最高计算能力可达4万亿次每秒的高性能超级计算机,同时也是一款高端工作站产品。目前,NF5588已经成功应用于国防科技大学、西交大电信学院、井冈山大学等全国各大知名科研研究单位。
本测试报告将利用分子动力学经典软件NAMD及快速傅里叶变换FFT就这款产品进行全方位性能实测,同时针对上一代倚天桌面超算进行性能对比测试。
▲浪潮“倚天”NF5588
二、测试方案1:
选择典型高性能应用NAMD软件及Nanopore算例来进行实测。NAMD是分子动力学领域最为经典及最早支持CUDA架构计算的软件之一,它基于Charm++并行支持库,实现了动态负载平衡,在高端硬件平台上可以保持较高并行效率直到数千个处理器规模。Nanopore算例是通过分子动力学的方法,利用NAMD软件进行模拟计算,对硅纳米孔柱阵列的排列结构进行研究。
本次对Nanopore算例进行10000个step的计算来进行计算时间对比。测试软件是官网下载的NAMD_2.7b3_Linux-x86_64-CUDA.tar.tar与NAMD_2.7b2_Linux-x86_64-CUDA.tar.tar两个不同版本。运行的命令为:./charmrun ++local +p8 ./namd2 +idlepoll +devices 0,2 /root/apoa1/apoa1.namd,其中+p参数指的是系统CPU运行的核数,+devices参数指的是系统GPU运行的设备号码,此设备号码可由CUDA SDK中的devicequery程序运行得来。
测试方案1对比的是NF5588分别搭载Tesla C2050与Tesla C1060时的性能对比情况,对应Tesla C2050 GPU安装了cuda3.1版本驱动,Tesla C1060 GPU安装了cuda2.3版本及cuda3.1版本驱动,都分别对同样的算例进行了测试,测试平台配置信息及测试结果分别如下。
硬件 | 机型 | Inspur NF5588 |
CPU | 2*Intel Xeon E5520 @ 2.27GHz | |
GPU | 2*Nvidia Tesla C1060 | |
2* Nvidia Tesla C2050 | ||
内存 | 4*4G DDR3 1333MHz | |
硬盘 | 500GB SATA | |
系统 | OS | Red Hat Enterprise Linux Server release 5.4 |
驱动 | CUDA | NVIDIA-Linux-x86_64-190.53-pkg2.run (cuda2.3) |
devdriver_3.1_linux_64_256.40.run (cuda3.1) |
NAMD版本 | CUDA驱动版本 | 测试时间(秒) | ||
NAMD_2.7b3_Linux -x86_64-CUDA | 2.3-drv | 1*C1060 | 2*C1060 | 3*C1060 |
277.630463 | 156.488815 | 128.077164 | ||
3.1-drv | 1*C1060 | 2*C1060 | 3*C1060 | |
407.601776 | 221.654938 | 176.371780 | ||
1*C2050 | 2*C2050 | |||
205.011581 | 129.603073 | |||
NAMD_2.7b2_Linux -x86_64-CUDA | 2.3-drv | 1*C1060 | 2*C1060 | 3*C1060 |
394.606384 | 216.176727 | 174.694672 | ||
3.1-drv | 1*C1060 | 2*C1060 | 3*C1060 | |
534.408508 | 287.990723 | 233.471939 | ||
1*C2050 | 2*C2050 | |||
357.576599 | 210.960190 |
上表中的测试时间均为记录系统运行算例的Wall Clock Time,由上表的数据分析可得出以下结论:
1. 驱动版本对性能的影响
对于相同的软件版本在不同驱动版本情况下的测试时间可知,在NF5588平台上安装cuda2.3驱动较cuda3.1的驱动对于C1060 GPU更适合(如下表),这是因为cuda2.3驱动是在Tesla 10系列的cuda架构下开发的;而Tesla 20系列的“Fermi”架构GPU,则需要 cuda3.1的驱动支持,不存在驱动版本的影响。
▲
2. 软件版本对性能的影响
对比不同版本软件运行时间可知,更高版本的软件性能更优,这也是软件逐步优化版本更替的结果。如下表中的提取数据,说明NF5588在搭载C1060时NAMD_2.7b3的运行时间较NAMD_2.7b2减少25%—30%;在搭载C2050时NAMD_2.7b3的运行时间较NAMD_2.7b2减少38%—43%。
▲
▲
3. 多GPU加速比的分析
如下表,不难看出NF5588对于搭载多GPU的情况下,加速比值都不错。
▲
▲
4. 搭载C2050与C1060的性能对比
分别取两个版本NAMD软件在GPU卡适合的驱动(C1060取2.3driver;C2050取3.1driver)下得到对比图表,及性能对比数据:
▲
对比情况 | 1*GPU | 2*GPU | ||
2.7b3-3.1drv-C2050 VS 2.7b3-2.3drv-C1060 | 2.7b2-3.1drv-C2050 VS 2.7b2-2.3drv-C1060 | 2.7b3-3.1drv-C2050 VS 2.7b3-2.3drv-C1060 | 2.7b2-3.1drv-C2050 VS 2.7b2-2.3drv-C1060 | |
性能提升 | 35.42% | 10.36% | 20.74% | 2.47% |
从测试结果来看, NF5588搭载C2050对比搭载C1060,都有不同程度的提升,最好时能高出35%。但是受软件版本及GPU运行数目的影响,性能提升略有不同。如受软件版本影响,对于2.7b3版本的NAMD_CUDA软件,在C2050对比C1060上的运行性能提升更高,说明新版本软件对C2050新架构的支持更好。
三、测试方案2:
快速傅里叶变换(Fast Fourier Transform FFT)在高性能的应用十分广泛,它在声学、电信、电力系统、图像与信号处理、物探、天线、雷达、卫星 、医疗等应用领域有广泛的应用。凡是可以利用傅里叶变换来进行分析、综合、变换的地方,都可以利用FFT算法及运用数字计算技术来加以实现。
CUFFT 是NIVIDA CUDA的快速傅里叶变换库。是NVIDIA公司专为其CUDA架构计算设备开发的FFT加速库。CUFFT库支持以下功能:
1. 可以对实数或复数进行一维,二维和三维的离散傅里叶变换。
2. 可以同时并行处理一批一维的离散傅里叶变换;
3. 对二维、三维傅里叶变换,每一维可以在[2,16384]中任意取值;
4. 对一维傅里叶变换,能处理最大数组尺寸为8M;
5. 对实数或者复数进行的FFT,结果输出位置可以和输入位置一致(原地变换),也可以不同(异址变换)。
本次测试采用CUFFT库版本:libcufft.so.3.0.14,测试分别在“倚天”NF5588(搭载Tesla C2050)和第一代“倚天”桌面超算上进行,对不同长度的信号(双精度一维数组)先后进行正、负FFT变换,并截取FFT计算的精确时间,测试平台配置如下:
对比平台 | 升级版“倚天”NF5588 | 第一代“倚天”桌面超算 | |
硬件 | CPU | 2*Intel E5520 @ 2.27GHz | 2* Intel E5420 @ 2.5GHz |
GPU | 2* Nvidia Tesla C2050 | 2*Nvidia Tesla C1060 | |
内存 | 16G DDR3 1333MHz | 8G DDR3 | |
硬盘 | 500GB SATA | 500GB SATA | |
系统 | OS | Red Hat Enterprise Linux Server release 5.4 | Red Hat Enterprise Linux Server release 5.4 |
驱动 | CUDA | devdriver_3.1_linux_64_256.40.run (cuda3.1) | devdriver_3.1_linux_64_256.40.run (cuda3.1) |
对比测试结果如下:
Double Inplace FFT Batch enabled | |||
signal_length | 第一代“倚天”桌面超算 | 升级版“倚天”NF5588 | 性能提升 |
1024 | 0.24 | 0.247 | 0.971 |
2048 | 0.192 | 0.208 | 0.923 |
4096 | 0.216 | 0.212 | 1.019 |
8192 | 0.21 | 0.211 | 0.995 |
16384 | 0.27 | 0.248 | 1.089 |
32768 | 0.418 | 0.432 | 0.968 |
65536 | 0.792 | 0.44 | 1.800 |
131072 | 1.244 | 0.57 | 2.182 |
262144 | 2.161 | 0.865 | 2.498 |
524288 | 4.433 | 1.458 | 3.040 |
1048576 | 8.545 | 2.694 | 3.172 |
2097152 | 17.337 | 5.697 | 3.043 |
4194304 | 36.219 | 11.577 | 3.129 |
8388608 | 75.363 | 24.666 | 3.055 |
随信号长度的增加, “倚天”NF5588的性能优势明显体现出来,当信号长度增加到最大8M(数组总大小为64MB)时, NF5588的cufft计算时间仅为第一代产品的三分之一。同时也说明“Fermi”架构的Tesla 20系列GPU在双精度计算上较其上一代平台有了较大性能提升。
四、测试结论:
浪潮升级版“倚天”NF5588较上代产品进行了全面的升级,它支持NVIDIA Tesla最新的20系列GPU,采用双路Intel Xeon 5500/5600系列CPU,及最新的DDR3 ECC Unbuffered/DDR3 ECC Register内存,最大容量可至48GB,并且具有更高的系统可靠性、更强的海量存储能力、更强I/O扩展能力及更卓越的散热技术。
一系列的实测证明了NF5588超强的计算能力,它的计算能力甚至超越了一个小型的高性能集群,浪潮高性能产业将继续努力满足HPC行业对性能无休止的追求,努力满足HPC应用对计算能力最苛刻要求,努力使浪潮的HPC产品胜任于包括生命、金融、证券、动漫、电信、大中型企业、能源等各种关键性应用。