【发布时间】:2023-01-17 04:10:58
【问题描述】:
我在一台机器上构建并在另一台机器上运行。
建造:
runcpu --action build --config xxx
跑步:
runcpu --action run --config xxx --nobuild
所有案例都报告校验和不匹配。我该如何解决这个问题。
【问题讨论】:
标签: linux compilation checksum
我在一台机器上构建并在另一台机器上运行。
建造:
runcpu --action build --config xxx
跑步:
runcpu --action run --config xxx --nobuild
所有案例都报告校验和不匹配。我该如何解决这个问题。
【问题讨论】:
标签: linux compilation checksum
对于 SPEC CPU 2017,请查看 config file options for runcpu。它列出了两个您可能感兴趣的选项,您可以将它们放入header section:strict_rundir_verify 和verify_binaries。我在下面粘贴了他们的描述。
strict_rundir_verify=[yes|no]:
设置后,工具将验证现有运行目录中的文件内容是否与预期的校验和匹配。通常,它应该始终打开,可报告的运行将强制它打开。在调整基准时,关闭它可能会使设置阶段进行得更快一些。
开发人员说明:设置
strict_rundir_verify=no在对工作负载的更改进行原型设计或测试不同工作负载的影响时可能很有用。但是请注意,一旦您开始为此目的更改已安装的树,就很容易迷路;您不妨保留一棵未经修改的原始树,并使用您convert_to_development 的第二棵树。
verify_binaries=[yes|no]:
runcpu使用校验和来验证可执行文件是否与调用它们的配置文件匹配,如果不匹配,runcpu会强制重新编译。您可以通过设置verify_binaries=no来关闭该功能。警告:强烈建议您将此选项保留为默认值,yes(即启用)。如果您禁用此功能,您实际上是在说您愿意运行基准测试,即使您不知道您做了什么或您是如何做的——也就是说,您缺乏关于它是如何构建的信息!
可以关闭该功能,因为有时在调试时这样做可能很有用(例如,请参阅env_vars),但不应定期禁用它。
由于 SPEC 要求您公开如何构建基准,可报告运行(使用命令行开关
--reportable或配置文件设置reportable=yes)将导致自动启用verify_binaries。对于 CPU 2017,此字段替换字段 check_md5。对于SPEC CPU 2006,这两个选项也存在,但注意
verify_binaries曾经被称为check_md5。
例子
例子.我最近构建了 SPEC CPU 2017 二进制文件,对它们进行了修补(在它们各自的
exe目录中),然后执行了(不可报告的)运行。为此,我将以下内容放入配置文件的“全局选项”标题部分:#--------- Global Settings ---------------------------------------------------- ... reportable = 0 verify_binaries = 0 ...在构建、修补和运行(使用
--nobuild标志)套件之前。
【讨论】: