hpcpilot性能测试宝典:快速搭建HPL、OSU、STREAM测试环境
hpcpilot性能测试宝典:快速搭建HPL、OSU、STREAM测试环境
【免费下载链接】hpcpilotA collection of HPC delivery tools, including basic system configuration, node inspection, performance testing, third-party service installation, etc.项目地址: https://gitcode.com/openeuler/hpcpilot
前往项目官网免费下载:https://ar.openeuler.org/ar/
高性能计算(HPC)性能测试是评估集群系统能力的关键环节,而hpcpilot作为一款专业的HPC交付工具合集,提供了快速搭建HPL、OSU、STREAM测试环境的完整解决方案。本文将详细介绍如何利用hpcpilot工具一键安装配置三大主流性能测试工具,帮助用户快速构建专业的HPC性能测试平台。
🚀 为什么选择hpcpilot进行性能测试?
在传统的HPC集群部署中,性能测试环境的搭建往往需要手动安装编译器、MPI库、数学库等复杂依赖,配置过程繁琐且容易出错。hpcpilot通过自动化脚本解决了这一痛点,它集成了毕昇编译器、HMPI、KML数学库等关键组件,并提供了一键式安装和配置功能,大大简化了性能测试环境的搭建流程。
hpcpilot支持在多种操作系统上部署,包括:
- CentOS 7.6 ARM64
- CentOS 8.2 ARM64
- Kylin-Server-10-SP2
- openEuler-20.03-LTS-SP3
📦 准备工作与环境配置
获取hpcpilot工具包
首先需要从官方仓库克隆hpcpilot项目:
git clone https://gitcode.com/openeuler/hpcpilot安装依赖准备
hpcpilot性能测试环境需要以下关键依赖包:
| 依赖包 | 用途说明 |
|---|---|
| BiSheng-compiler-2.5.0-aarch64-linux.tar.gz | 毕昇编译器 |
| Hyper-MPI_1.2.1_Sources.tar.gz | HMPI并行计算库 |
| BoostKit-kml_1.7.0_bisheng.zip | KML数学加速库 |
| hpl-2.3.tar.gz | HPL性能测试程序 |
| osu-micro-benchmarks-5.9.tar.gz | OSU网络性能测试 |
| stream.c | STREAM内存带宽测试 |
将这些依赖包放置在指定目录/opt/hpcpilot/sourcecode/中。
配置文件设置
hpcpilot使用三个核心配置文件来管理集群配置:
- hostname.csv- 节点信息配置
- setting.ini- 系统参数配置
- users.json- 用户信息配置
这些文件位于hpc_script/目录下,需要根据实际集群环境进行相应调整。
🔧 一键安装性能测试工具
hpcpilot提供了简洁的菜单式操作界面,通过执行以下命令进入主菜单:
cd /opt/hpcpilot/hpc_script/ chmod 775 *.sh ./auto_install_tools.sh在主菜单中选择第6项"auto run benchmark tools and cuda toolkit installation scripts",即可进入性能测试工具安装菜单。
性能测试工具安装菜单
hpcpilot提供了灵活的安装选项:
| 菜单选项 | 功能描述 |
|---|---|
| 1) auto run cuda toolkit script | 安装CUDA工具包 |
| 2) auto run benchmark all scripts | 一键安装所有性能测试工具 |
| 3) auto run bisheng_hmpi_kml script | 安装毕昇编译器、HMPI和KML |
| 4) auto run osu script | 安装OSU微基准测试 |
| 5) auto run stream script | 安装STREAM内存测试 |
| 6) auto run hpl script | 安装HPL高性能Linpack测试 |
对于初次使用者,推荐选择选项2进行一键式完整安装。
📊 三大性能测试工具详解
1. HPL(High Performance Linpack)测试
HPL是衡量超级计算机浮点计算性能的标准测试程序,hpcpilot通过compile_hpl.sh脚本自动完成HPL的编译和配置。
安装流程:
- 检查毕昇编译器、HMPI、KML依赖
- 解压HPL源码并配置编译环境
- 自动生成适配Kunpeng架构的Makefile
- 编译生成可执行文件
xhpl
关键配置文件路径:hpc_script/benchmark_script/compile_hpl.sh
运行HPL测试:
# 单节点测试 ./run_hpl.sh node # 集群测试 ./run_hpl.sh cluster测试结果将保存在logs/hpl_log/目录中。
2. OSU(Ohio State University)微基准测试
OSU微基准测试套件用于评估MPI通信性能,hpcpilot通过compile_osu.sh脚本自动编译安装。
支持的测试类型:
- 带宽测试(osu_bw)- 测量点对点通信带宽
- 延迟测试(osu_latency)- 测量点对点通信延迟
- 集合通信测试(allreduce、bcast、alltoall)
安装流程:
- 检查毕昇编译器和HMPI依赖
- 配置并编译OSU测试套件
- 安装到指定目录
关键配置文件路径:hpc_script/benchmark_script/compile_osu.sh
运行OSU测试:
# 运行不同测试类型 ./run_osu.sh latency # 延迟测试 ./run_osu.sh bw # 带宽测试 ./run_osu.sh allreduce # 集合通信测试3. STREAM内存带宽测试
STREAM是业界标准的内存带宽基准测试程序,hpcpilot通过compile_stream.sh脚本自动编译优化版本。
测试特点:
- 使用毕昇编译器进行深度优化
- 支持OpenMP并行
- 大数组测试(800,000,000个元素)
- 自动调整透明大页设置
安装流程:
- 检查毕昇编译器依赖
- 复制stream.c源文件
- 使用优化参数编译
关键配置文件路径:hpc_script/benchmark_script/compile_stream.sh
运行STREAM测试:
./run_stream.sh🎯 性能测试最佳实践
测试环境优化建议
网络配置优化
- 确保IB或RoCE网络正确配置
- 检查UCX传输层设置
- 验证网络设备识别
内存配置优化
- 调整透明大页设置
- 确保足够的内存空间
- 配置NUMA绑定
编译器优化
- 使用毕昇编译器的最新版本
- 启用适当的优化标志
- 针对特定架构调优
测试执行顺序
建议按以下顺序执行性能测试:
- 基础环境验证- 使用hpcpilot的检查功能
- STREAM测试- 验证内存带宽性能
- OSU测试- 验证网络通信性能
- HPL测试- 验证整体计算性能
结果分析与解读
所有测试结果都保存在对应的日志目录中:
- HPL结果:
benchmark/logs/hpl_log/ - OSU结果:
benchmark/logs/osu_log/ - STREAM结果:
benchmark/logs/stream_log/
🔍 常见问题与解决方案
1. 依赖包缺失问题
症状:编译时提示缺少依赖文件
解决方案:
- 检查
/opt/hpcpilot/sourcecode/目录下的文件 - 确保所有必需的依赖包已正确放置
- 验证文件权限和完整性
2. 环境变量配置问题
症状:运行时提示找不到编译器或库
解决方案:
- 检查module环境是否正确加载
- 验证毕昇、HMPI、KML的安装状态
- 重新执行环境变量加载脚本
3. 网络通信问题
症状:OSU测试失败或性能异常
解决方案:
- 检查hostfile配置
- 验证节点间网络连通性
- 调整UCX网络参数
📈 性能调优技巧
HPL性能调优
- 问题规模调整- 根据内存容量调整N值
- 进程网格配置- 优化P×Q的乘积等于总进程数
- 块大小优化- 根据CPU缓存调整NB值
OSU性能调优
- 消息大小选择- 从小消息到大消息全面测试
- 进程数配置- 根据实际应用场景选择
- 网络参数优化- 调整UCX参数提升性能
STREAM性能调优
- 数组大小调整- 确保数据量大于缓存容量
- 线程数配置- 根据CPU核心数优化
- 内存绑定- 使用NUMA绑定提升性能
🏆 总结
hpcpilot为HPC性能测试提供了完整的一站式解决方案,通过自动化脚本大大简化了HPL、OSU、STREAM三大性能测试工具的安装和配置过程。无论是单节点测试还是集群测试,hpcpilot都能提供稳定可靠的测试环境。
核心优势:
- ✅ 一键式安装配置,降低使用门槛
- ✅ 支持多种操作系统和架构
- ✅ 完整的依赖管理,避免环境冲突
- ✅ 详细的日志记录,便于问题排查
- ✅ 灵活的测试选项,满足不同需求
通过本文的指导,您可以快速掌握使用hpcpilot搭建专业HPC性能测试环境的技巧,为您的HPC集群提供准确的性能评估数据。无论您是HPC新手还是有经验的管理员,hpcpilot都能帮助您高效完成性能测试任务。
开始您的HPC性能测试之旅,让hpcpilot成为您最得力的助手! 🚀
【免费下载链接】hpcpilotA collection of HPC delivery tools, including basic system configuration, node inspection, performance testing, third-party service installation, etc.项目地址: https://gitcode.com/openeuler/hpcpilot
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
