国产化POC测试工具使用指南
POC测试工具使用指南
1 SPEC OMP 2012测试
SPEC OMP 2012是基于SPEC测试套件的OpenMP评测工具,其中包含15个基于OpenMP的并行程序。
1、安装工具
获取源包:omp2012-1.1.zip
解压后使用install.sh安装
2、测试步骤
3、补充参数说明
2 CPU性能测试(整型/浮点型)
测试CPU整型计算性能,包括单线程基准值、满线程基准值
测试CPU浮点计算性能,包括单线程基准值、满线程基准值
2.1 使用CPU2006
测试环境:
CPU:飞腾D2000
内存:16G
系统:麒麟V10-SP1-2107 桌面操作系统
1、准备
系统优化:
2、测试步骤
3、结果查看
4、编译问题处理(如遇到编译问题,可参考)
4、测试项说明
5、去除PDF报告的Invalid标记
2.2 使用CPU2017
1、安装工具
获取镜像包:cpu2017-1_0_5.iso
挂载iso文件
安装工具
2、测试步骤
spec2017主要分为四项测试:
- intrate
- fprate
- intspeed
- fpspeed
根据需要测试的cpu型号,可以到官网下载相应的cfg文件,修改icc、Jemalloc库、qkmalloc库的路径,放入config文件夹中。
测试命令如下:
补充参数说明
对于Intel CPU的测试优化手段
3 SPEC JVM 2008
1、安装步骤
2、配置JAVA_HOME
3、优化操作
4、测试
4 LTP测试
测试步骤
5 lmbench测试(用时3小时)
测试简单的系统调用时间、shell命令启动时间、系统信号处理时间、统计2p/16K的上下文切换性能、16p/64K的上下文切换性能、0K/10K文件创建时间、0K/10K文件删除时间
1、源码包准备:
2、编译前的准备:
3、优化操作:
4、编译并测试
5、读取测试结果
6、错误处理
错误一:
错误二:
错误三:
6 文件读写测试
测试硬盘内文件(10G)拷贝性能,记录时间
测试步骤
7 USB存储设备读写性能
测试USB存储设备读写性能(Mb/s),平均读写速度等
8 硬盘读写测试-IOZONE
1、准备源码:
2、参数说明:
3、执行:df -h,查看可用空间需大于2倍内存大小的路径。
4、优化操作
5、编译
6、测试
1、测试硬盘读写性能(Mb/s),包括随机和顺序读写平均读写速度(IOzone设置块大小16M,文件大小为物理内存2倍、1倍、1/2倍三组数据)
9 硬盘测试-FIO
1、配置优化
2、安装编译
3、开始测试
10 内存读写性能测试-Stream
STREAM是一套综合性能测试程序集,通过fortran和C两种高级且高效的语言编写完成,由于这两种语言在数学计算方面的高效率, 使得 STREAM 测试例程可以充分发挥出内存的能力。Stream测试是内存测试中业界公认的内存带宽性能测试基准工具。
用户测试内存单线程和并发读写性能(Mb/s)
1、编译安装
2、系统优化
3、单线程测试
4、多线程测试(双路128核CPU)
11 操作系统综合性能测试-unixbench(用时1小时)
系统优化:
开始测试:
12 显卡性能测试-unixbench(用时约半小时)
1、测试2D显示处理性能,主要包括画点、画线、画三角形、画平行四边形、画正方形、画多边形等性能测试
2、测试3D显示处理性能,主要包括3D的显示、色彩填充、渲染、旋转等性能测试
编译Unibench
编译运行
3D测试优化
13 显卡测试-Glmark2
安装
测试
14 显卡测试-Glxgears
安装
测试
15 网络性能测试-iperf3
测试网络传输速率、重传等
可以用源安装或者编译安装
常用参数:
使用方法:
16 网络性能-Netperf
1、安装编译
2、优化操作
3、开始测试
17 CPU、内存压测-stress
stress是一款压力测试工具,可以用它来对系统CPU,内存,以及磁盘IO生成负载。
安装stress
使用stress
使用stress进行CPU压测
使用stress进行内存压测
使用stress进行磁盘压测
同时对多个指标进行压力测试,只需要把上面的参数组合起来就行
18 NPB测试
NAS并行基准测试程序(NPB),是由美国航空航天局开发的一套代表流体动力学计算的应用程序集,它已经成为公认的用于测评大规模并行机和超级计算机的标准测试程序。NPB可用于常用的编程模型,如MPI和OpenMP。
1、工具安装
2、测试步骤
19 Linpack测试
Linpack是国际上使用最广泛的测试高性能计算机系统浮点性能的基准测试。通过对高性能计算机采用高斯消元法求解一元 N次稠密线性代数方程组的测试,评价高性能计算机的浮点计算性能。Linpack的结果按每秒浮点运算次数(flops)表示。
N ^ 2 * 8 = 总内存
1、工具安装
2、测试步骤
用mpirun提交xhplrun.sh效果更好
3、测试优化
一、计算理论内存总带宽
二、使用stream测试实际内存总带宽
如果可以达到90%或以上,说明内存带宽正常, 继续Linpack测试
三、计算CPU理论峰值
四、使用Linapack测试CPU实际峰值
先测stream,判断带宽是否正常,再测linpack,然后再测Spec Cpu
4、Intel平台
5、HPL.dat修改
6、测试脚本编写
本地mpirun测试脚本(Intel版本)
Slurm srun测试脚本(FT版本)
yhrun 提交作业 runpro.sh
bios设置
7、结果反馈
20 风冷系统linpack测试全过程记录
1、了解风冷系统的架构
按批次测试,测完一批换下一批
一批为192个节点,每个框32个节点,共6个框
每个节点128G内存,芯片为FT2000+, 通过mhz获取频率为2000(降频),64物理核
系统版本: 4.19.46-cn+
2、计算每个节点的理论峰值
2000 * 128 / 64 * 2 * 64= 512000
3、开始测试
runpro.sh脚本参数说明:
单节点测试:
不需要互联测试网络联通性,仅对单节点进行压力测试
多节点测试:
需要互联测试网络联通性, 2,4, 8, 16, 32, 64, 128,如果要求测多节点稳定性,测试的8点8进8线,结果按章节6.8反馈
问题解决一:
测试到128节点,性能异常,效率仅有43%
互联那边回应:
节点数超过64,通信就跨框
琦哥建议的做法:
把128个节点分到4个框,测试一下,看是不是带宽的原因
最后的解决方法:
网络拓扑更换,矩阵值不能相等,使用原本32 x 32,改为16 x 64,但是换成160节点后还是有问题
21 附录
19.1 Linpack脚本
runpro.sh
./runpro.sh nodes_list nodes_num proc_per_node mem_per_proc logdir
node_list 节点列表
nodes_num 几个点连在一起跑,单点 双点 多点
proc_per_node 每个节点跑几个进程,看node分为几个,FT一般是8
mem 12000 每个进程分配的内存,*8 大概= 总内存的80%
logdir 日志文件
单点8进程,一轮≈35分钟
xhplrun.sh