Squashed commit of the following:
commit 1f482ec251e7fa0ca70ff52cb2d8525a34973ffd Author: LinWang linwang2048@163.com Date: Thu Sep 4 15:20:18 2025 +0700
fix: 将文件复制失败日志从error改为warning级别 修改日志级别以避免误报,同时添加说明性提示告知用户某些情况下可忽略该警告commit 408d3aa961f69a34dc99e79d9b886bfd24add27e Author: LinWang linwang2048@163.com Date: Thu Aug 28 16:49:44 2025 +0700
docs: 更新文档并添加datetime导入 在pack_spec.py中添加datetime导入 在main.py.example中添加SPEC2006_v1.2基准套件选项commit c21ad72d45a06c31ffa0374851b0763c67f4e6fc Author: LinWang linwang2048@163.com Date: Thu Aug 28 16:40:03 2025 +0700
feat(SPEC): 添加spec2006_v1_2支持并增加调试模式 添加SPEC2006 v1.2版本的临时支持方案 增加debug_mode参数用于调试信息输出 添加print_base_info方法显示打包基本信息commit c4ea444b7e3ced1d5c935a81b03b4a190b596b6e Author: LinWang linwang2048@163.com Date: Fri Aug 22 09:29:42 2025 +0700
refactor(pack_utils): 移除execute_commands方法的返回类型注解commit 85b86e69742461477b7686ff0345f03bd32d5c9b Author: LinWang linwang2048@163.com Date: Thu Aug 21 09:54:28 2025 +0700
fix(pack_spec): 修正日志文件路径使用SCRIPT_DIR变量 feat(cal_score): 添加SPEC基准测试分类并分别计算分数 在pack_spec.py中修复日志文件路径,使用SCRIPT_DIR变量确保路径正确 在cal_score.py中添加SPEC2006和SPEC2017的基准测试分类功能,分别计算整数和浮点测试的几何平均分数
PackSPEC 项目
项目简介
PackSPEC 是一个用于自动化打包和管理SPEC CPU基准测试文件的工具,支持SPEC2006和SPEC2017版本。
主要功能
枚举类说明
SPECName: 指定SPEC版本(spec2006/spec2017)TuneType: 优化级别(base/peak/all)InputType: 输入类型(test/train/ref/all)SPECSubBench: 基准测试子集(all/int/fp)ActionType: 操作类型(build/run)安装步骤
安装依赖:
配置项目: 将
config.py.example复制为config.py并编辑配置文件, 将main.py.example复制为main.py:编辑config.py文件配置以下信息:
SPEC2006_PATH: SPEC2006安装目录路径SPEC2017_PATH: SPEC2017安装目录路径BOSC_API_KEY: (可选)钉钉机器人API密钥BOSC_AT_USER: (可选)钉钉通知手机号使用说明
基本用法
高级功能
iterations参数设置test_core_num参数设置示例
PackSPEC类初始化参数
参数说明:
spec_name: 指定SPEC版本(spec2006或spec2017)spec_benches: 基准测试子集,可以是”all”(全部)、”int”(整数)或”fp”(浮点),也可以是具体基准测试名称tune_type: 优化级别,base(基础优化)、peak(峰值优化)或all(两者)input_type: 输入数据集类型,test(测试)、train(训练)、ref(参考)或all(全部)iterations: 测试运行迭代次数,默认为3test_core_num: 测试绑定的CPU核心编号,默认为4rebuild: 是否重新构建测试环境,默认为True主要方法
analyze_spec_config(spec_cfg: str) -> str: 分析SPEC配置文件获取构建标签run_setup_spec(spec_cfg: str, tune_type: TuneType, input_type: InputType, rebuild: bool = True) -> str: 设置并编译SPEC环境get_bench_path(label: str, action_type: ActionType, tune_type: TuneType, input_type: InputType) -> list: 获取基准测试路径copy_binarys(label: str, tune_type: TuneType, input_type: InputType, dest_binary_dir: str = "") -> str: 复制二进制文件copy_benches(label: str, tune_type: TuneType, input_type: InputType, with_build: bool = False, dest_bench_dir: str = "") -> list: 复制完整测试环境pack_binarys_cfg(spec_cfg: str): 打包二进制文件及相关配置文件spec_cfg: SPEC配置文件名packer.pack_binarys_cfg("my_config.cfg")pack_benches_cfg(spec_cfg: str, with_build=False): 打包完整测试环境及相关配置文件spec_cfg: SPEC配置文件名with_build: 是否包含构建目录(默认False)packer.pack_benches_cfg("my_config.cfg", with_build=True)基本示例
高级示例