# CPUBench **Repository Path**: bench_performance/cpubench ## Basic Information - **Project Name**: CPUBench - **Description**: 通用计算CPU性能测试基准工具 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 4 - **Created**: 2021-12-04 - **Last Updated**: 2026-08-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: benchmark, CPU性能测试 ## README # 📊 CPUBench > 通用计算 CPU 性能测试基准工具 ## 🧾 项目简介 CPUBench 是由中国电子技术标准化研究院、华为技术有限公司、海光信息技术股份有限公司、上海兆芯集成电路股份有限公司、飞腾信息技术有限公司、龙芯中科技术股份有限公司、无锡先进技术研究院、深圳市中兴微电子技术有限公司、阿里巴巴达摩院(杭州)科技有限公司、超睿科技(上海)有限公司等联合推出的通用计算CPU性能测试基准工具。 工具的核心评估目标: 1. CPU 单核/多核的整型/浮点计算能力 2. 内存子系统 3. 编译链、JVM 等底层软件优化能力 ## 🆕 v1\.5 版本更新日志 1. 新增 JDK25 完整适配支持,兼容新旧多版本 Java 运行环境 2. 新增 NUMA 绑核调度功能,支持自定义 CPU 节点绑定测试 3. 新增 loongarch\-abi2\.0 架构标准适配,完善龙芯新 ABI 兼容 4. 扩充测试负载集合: - 整型新增:int\_qpp - 浮点新增:float\_quicksilver、float\_roms 5. PDF 测试报告版权年份统一调整为 **2026** 6. 修复高版本编译器兼容性异常问题 7. 修复一些操作系统兼容性异常问题 ## 🏗️ 整体设计与测试指标 ### 四大测试套件说明 工具按**运算类型(整型 / 浮点)** \+ **并发规模(单核 / 多核)** 划分 四大套件,每个套件支持 `typical`、`extreme` 两种测试模式,合计 8 项核心性能指标: | 测试套件 | 输出性能指标 | 评估目标 | | --------------- | -------------------------------------------------------- | ---------- | | IntSingle | int\_single\_typical
int\_single\_extreme | 单核整型运算能力 | | IntConcurrent | int\_concurrent\_typical
int\_concurrent\_extreme | 多核整型并发运算能力 | | FloatSingle | float\_single\_typical
float\_single\_extreme | 单核浮点运算能力 | | FloatConcurrent | float\_concurrent\_typical
float\_concurrent\_extreme | 多核浮点并发运算能力 | ### Typical / Extreme 两种测试模式 1. **typical(通用优化模式)** 要求不同负载必须使用相同的性能优化措施,体现性能优化的通用性。比如,测试套件中相同语言的负载编译优化参数必须相同。 2. **extreme(极限优化模式)** 允许不同负载使用不同的性能优化措施,体现该系统极限优化的性能水平。比如,不同测试负载使用不同的编译优化参数。 ### 业务负载清单 #### 整型负载(IntSingle / IntConcurrent) | 负载名称 | 所属应用领域 | | ------------- | ------------ | | int_gcc | 编译器 | | int_x264 | 视频编码 | | int_gzip | 数据压缩 | | int_tpcc | 数据库事务处理 | | int_tpch | 数据库在线分析 | | int_kmeans | 机器学习 \- 聚类算法 | | int_wordcount | 大数据-统计 | | int_velvet | 基因序列拼接 | | int_openssl | 加解密 | | int_rapidjson | JSON 解析/生成 | | int_python | Python 解释器 | | int_xz | 数据压缩 | | int\_qpp | 量子计算仿真 | #### 浮点负载(FloatSingle / FloatConcurrent) | 负载名称 | 所属应用领域 | | ------------------ | --------------- | | float_lightgbm | 机器学习 \- 梯度提升决策树 | | float_nektar | 气动声学 | | float_phenglei | 流体动力学 | | float_phyml | 基因分析 | | float_gromacs | 分子动力学 | | float_povray | 光线追踪 | | float_lammps | 分子动力学 | | float_cube | 天体物理 | | float_openfoam | 电磁学 | | float_wrf | 天气预报 | | float\_quicksilver | 粒子输运数值模拟 | | float\_roms | 区域海洋环流数值模拟 | ## ⚙️ 软硬件运行要求 ### 资源规格 1. 内存:单实例占用约 2GB 2. 磁盘 - Single 单核模式:最低 20GB 空闲空间 - Concurrent 多核模式:每并发实例额外增加 2GB 3. 共享内存 `/dev/shm`:至少预留 3GB ### 软件依赖 1. 编译工具:C/C\+\+/Fortran 编译器、CMake ≥ 3\.14\.1 2. Java:JDK 17 \~ JDK25 全版本兼容 3. 系统工具:numactl、perl 4. Python3 及第三方库 ```bash pip3 install PyPDF2 reportlab ``` ### 支持硬件架构 x86\_64、aarch64、risc-v、loongarch64、sw\_64、ppc64le > v1\.5 新增 loongarch\-abi2\.0 标准适配 > 内置适配对应架构的 CMake、Python3,仅需手动安装编译器与 JDK ## 📦 快速安装指南 ### 1\. 依赖环境安装 #### RedHat / CentOS / Rocky 系 ```bash yum install -y perl gcc gcc-c++ gcc-gfortran java numactl ``` #### Debian / Ubuntu 系 ```bash apt-get install -y perl gcc g++ gfortran default-jdk numactl ``` > 离线部署参考文档:`docs/install.md` 本地镜像配置方案 ### 2\. 软件包解压部署 CPUBench 免安装,下载 `CPUBench.tar.gz` 解压即可使用 ```bash tar -zxvf CPUBench.tar.gz cd CPUBench ``` ## ▶️ 测试运行教程 ### 配置文件说明 配置模板文件:`config/config-template.ini` 规则: - 配置区分大小写 - 注释使用 `#` / `;` 开头 - 缩进 / 空格换行代表上一配置项附属参数 - v1\.5 新增 NUMA 绑核相关配置项,可在配置文件指定 NUMA 节点、CPU 核心绑定策略 完整参数说明:\[配置文件使用指南\]\(\./docs/config\.md\) ### 常用运行命令 1. 使用默认模板配置全量测试 ```bash ./cpubench.sh ``` 2. 指定自定义配置文件运行 ```bash ./cpubench.sh -c config/xxx.ini ``` 3. 单独指定某一套测试套件执行 ```bash # 单核整型 ./cpubench.sh -b IntSingle # 多核整型并发 ./cpubench.sh -b IntConcurrent # 单核浮点 ./cpubench.sh -b FloatSingle # 多核浮点并发 ./cpubench.sh -b FloatConcurrent ``` 4. 查看全部启动参数帮助 ```bash ./cpubench.sh -h ``` ## 📑 测试报告查看 1. 报告根目录:`安装目录/work_dir` 2. 每次执行自动新建独立结果文件夹,命名格式 `result_年月日时分秒` 示例:`result_20260810145648` 3. 输出文件:标准化 PDF 性能报告 示例:`CPUBench_int_concurrent_20260810154050.pdf` > v1\.5 更新:PDF 报告内版权、文档年份统一修改为 2026 ## 🔧 扩展开发文档 如需新增自定义测试负载、业务场景 Benchmark: \[新增 Benchmark 开发指南\]\(\./docs/benchmark\.md\) ## 📚 配套详细文档 | 文档路径 | 文档用途 | | --------------------------------------- | ----------------------------- | | docs/\[install\.md\]\(install\.md\) | 多系统完整离线安装步骤 | | docs/\[config\.md\]\(config\.md\) | 配置文件全参数详解(含 v1\.5 NUMA 绑核配置) | | docs/\[benchmark\.md\]\(benchmark\.md\) | 自定义负载开发教程 | | docs/\[FAQ\.md\]\(FAQ\.md\) | 运行报错、资源异常解决方案(新增高版本编译器兼容问题排查) | ## ❓ 常见问题 运行内存不足、磁盘空间报错、编译失败、报告生成异常、多架构兼容、JDK 新版本适配、NUMA 绑核异常、高版本编译器编译报错等统一查阅: 👉 \[FAQ 问题排查手册\]\(\./docs/FAQ\.md\) ## 📜 License CPUBench v1.5 is licensed under the **Apache‑2.0 License**. See the [LICENSE](./license.txt) file for full license text. Copyright © 2026 CPUBench Project Contributors. --- 当前版本:CPUBench v1\.5 如果本基准套件对你的硬件性能测试工作有帮助,欢迎 Star 支持本项目。