在寻找加快仿真速度的方法时,我遇到了--force-lto
选项。
我以前听说过LTO(链接时间优化),所以让我想知道为什么--force-lto
在构建gem5时不是默认设置?
与gem5.opt构建相比,使模拟进行的速度比gem5.fast构建快得多吗?
答案 0 :(得分:0)
在gem5 fe15312aae8007967812350f8cdac9ad766dcff7(2019)中,默认情况下,gem5.fast构建已启用LTO,因此您通常不希望显式使用该选项,而只希望使用gem5.opt
。
存在该选项是因为更常见的gem5.opt
版本也使用partial linking,在某些GCC版本中,该版本与LTO不兼容。
因此,顾名思义,--force-lto
强制将LTO与部分链接一起使用,这可能是不稳定的。因此,我建议您使用gem5.fast
而不是触摸--force-lto
。
部分链接的目的大概是为了加快链接步骤,这很容易成为“更改文件,重建,重新链接,测试”循环的瓶颈,尽管在我的实验中尚不清楚它是否有效在这样做。今天,它可能只是过去的遗物。
要尝试加快链接速度,建议您尝试使用scons --gold-linker
,即uses the GOLD linker instead of ld。请注意,此选项对gem5.debug更为有效。
我发现对于原子CPU,gem5.fast
通常比gem5.opt
快20%。