Hi EM,
I have found the root cause of this issue.
My multicore system didn't really work because I didn't modify the dtb
file.
So only one cpu is visible in my system /proc/cpuinfo file.
After recompiling the multi-core dtb file, the data of other cores in
stats.txt is also normal
Thanks
-----邮件原件-----
发件人: 李南松 via gem5-users <[email protected]>
发送时间: 2022年12月28日 14:23
收件人: [email protected]; The gem5 Users mailing list <[email protected]>
抄送: 张文军-软件 <[email protected]>; 钟婷 <[email protected]>; 夏亚东
<[email protected]>; 李南松 <[email protected]>
主题: [gem5-users] 答复: 答复: Re: [Multi-core restore checkpoint failed]
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 <[email protected]>
发送时间: 2022年12月27日 22:34
收件人: 李南松 <[email protected]>; The gem5 Users mailing list <[email protected]>
抄送: 张文军-软件 <[email protected]>; 钟婷 <[email protected]>; 夏亚东
<[email protected]>
主题: Re: 答复: [gem5-users] Re: [Multi-core restore checkpoint failed]
[你通常不会收到来自 [email protected] 的电子邮件。请访问
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 -- [email protected] To unsubscribe send an email to
[email protected]
_______________________________________________
gem5-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]