Hi!
I'm trying to execute several slightly different executions of the same
application using the Detailed (DerivO3CPU) CPU mode and compare then. For the
purpose, my idea was executing the application and create a checkpoint at the
end. However, the checkpoint is never complete. I trace the cause to the drain
function in gem5-stable/src/python/m5/simulate.py, where the simulator is
called again and so remaining in the loop forever. My question is if I can
comment/change this line and do not perform the drain() without changing the
final results.
def drain(root): # Try to drain all objects. Draining might not be completed
unless # all objects return that they are drained on the first call. This
# is because as objects drain they may cause other objects to no # longer be
drained. def _drain(): all_drained = False dm =
internal.drain.createDrainManager() unready_objs = sum(obj.drain(dm) for
obj in root.descendants()) # If we've got some objects that can't drain
immediately, then simulate if unready_objs > 0:
dm.setCount(unready_objs) #WARNING: if a valid exit event occurs
while draining, it will not # get returned to the user script
exit_event = simulate() while exit_event.getCause() != 'Finished
drain': exit_event = simulate() else:
all_drained = True internal.drain.cleanupDrainManager(dm) return
all_drained
all_drained = _drain() while (not all_drained): all_drained =
_drain()
def checkpoint(dir): root = objects.Root.getInstance() if not
isinstance(root, objects.Root): raise TypeError, "Checkpoint must be
called on a root object." drain(root) memWriteback(root) print
"Writing checkpoint" internal.core.serializeAll(dir) resume(root)
Command:./build/ARM/gem5.opt ./configs/example/se.py -c queens -o 10
--cpu-type=detailed --caches --l1i_size=32kB --l1i_assoc=4 --l1d_size=32kB
--l1d_assoc=4 --l2_size=512kB --l2_assoc=8 --checkpoint-at-end
Thanks in advance!
Best regards, Felipe Rocha da Rosa
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users