一、测试背景:
本测试报告将利用分子动力学经典软件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* |
|
硬盘 |
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 |
2.7b2-3.1drv-C2050 |
2.7b3-3.1drv-C2050 |
2.7b2-3.1drv-C2050 |
|
性能提升 |
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库支持以下功能:
`可以对实数或复数进行一维,二维和三维的离散傅里叶变换。
`可以同时并行处理一批一维的离散傅里叶变换;
`对二维、三维傅里叶变换,每一维可以在[2,16384]中任意取值;
`对一维傅里叶变换,能处理***数组尺寸为8M;
`对实数或者复数进行的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 |
|
内存 |
|
|
|
硬盘 |
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扩展能力及更卓越的散热技术。