Hi Eliot Moss, It really help me confirm if I'm doing the right operate. > The BBV file simply says how many times each block of code is executed within a given time window. ---> Our views on this are the same, Generating BBV has nothing to do with multi-core (multi-thread)
We encountered another problem when restoring the checkpoint: The stats.txt data of the other three cores are almost all 0 or nan system.switch_cpus0.cpi 0.831076 # CPI: Cycles Per Instruction system.switch_cpus1.cpi nan # CPI: Cycles Per Instruction system.switch_cpus2.cpi nan # CPI: Cycles Per Instruction system.switch_cpus3.cpi nan # CPI: Cycles Per Instruction The number of their submitted instructions, the number of I/DCache hits etc. are all 0/nan. It looks like the other three cpus are not working. Is this caused by the cpu multi-core scheduling strategy? For example, the CPU usage of the current program is relatively low, so the program only runs on cpu0 Thanks -----邮件原件----- 发件人: Eliot Moss <m...@cs.umass.edu> 发送时间: 2022年12月27日 22:34 收件人: 李南松 <linans...@vivo.com>; The gem5 Users mailing list <gem5-users@gem5.org> 抄送: 张文军-软件 <zhangwenjunr...@vivo.com>; 钟婷 <zhongt...@vivo.com>; 夏亚东 <yadong....@vivo.com> 主题: Re: 答复: [gem5-users] Re: [Multi-core restore checkpoint failed] [你通常不会收到来自 m...@cs.umass.edu 的电子邮件。请访问 https://aka.ms/LearnAboutSenderIdentification,以了解这一点为什么很重要] On 12/27/2022 2:48 AM, 李南松 wrote: > Hi Eliot Moss, > > Thanks for your reply. > I am generating Checkpoint for SPEC2017. Do I need to regenerate my BBV > file under N cpus system? > There is a condition here that the simpoint_profile (BBV) cannot be > generated when n > 1. > $vim ./configs/example/fs.py +210 > 205 # Sanity check > 206 if options.simpoint_profile: > 207 if not ObjectList.is_noncaching_cpu(TestCPUClass): > 208 fatal("SimPoint generation should be done with atomic > cpu") > 209 if np > 1: > 210 fatal("SimPoint generation not supported with more than > one CPUs") > > How should I generate my BBV file? Clearly, with one cpu. The BBV file simply says how many times each block of code is executed within a given time window. I believe that if you take k simpoints, that implies k time windows. So it's just gathering statistics. Separately you run simulations that determine the amount of time the blocks take and the BBV is then used to extrapolate the total amount of time without running a detailed simulation of everything. It is not clear to me that the methodology works with multiple CPUs, but it's not something I've used or have deep knowledge of. (A quick glance on the web suggests that simpoints is a single-threaded technique.) Apparently there are other methods people have researched for multi-threaded applications. The hard thing there is that the different threads interact, even if only my their simultaneous impact on the memory system. So performance is hard to determined. Hope this helps -- EM _______________________________________________ gem5-users mailing list -- gem5-users@gem5.org To unsubscribe send an email to gem5-users-le...@gem5.org