Hi Bryson,

I have two questions about the environment:

1) How were the multicore SimPoints created? Were they created in gem5 with
the SimPoint profiler? (
https://github.com/gem5/gem5/blob/stable/src/cpu/simple/probes/SimPoint.py#L40
)
2) What does it mean by "as soon as one of the cores is done the system
ends up running"? Does it mean as soon as one core reaches the interval
length, the simulation raises an exit event?

If the environment is created to restore SimPoints for multithreaded
applications. IIRC, there isn't an instruction-count-based termination
event for multicore in gem5 because those events require to be scheduled
ahead at the start for each core separately(e.g.
https://github.com/gem5/gem5/blob/stable/src/cpu/base.cc#L742). The
solution might be making a global instruction tracker with probe listener
objects to raise an exit event when the sum of all cores'
executed/committed instructions reach the interval length.

I hope this helps.

Best,
Zhantong

On Wed, Aug 9, 2023 at 2:12 AM 洪柏勝 via gem5-users <gem5-users@gem5.org>
wrote:

> Hi,
> I'm building an environment that can restore multicore simpoint in se mode.
> Currently facing a challenge is when I run multi-core, as soon as one of
> the cores is done the system ends up running.
> So I would like to ask what method the native gem5 uses to ensure and
> control the system until the last core is completed.
> If possible, please provide the file name and function name for me.
>
> Best regards
> Bryson Hong
> _______________________________________________
> gem5-users mailing list -- gem5-users@gem5.org
> To unsubscribe send an email to gem5-users-le...@gem5.org
>
_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org

Reply via email to