Hi, I had problems that sound very similar to your case just a couple days ago. Did you happen to have to write a module yourself? or did you have to call « schedule » inside your module in order to tick your own clock?
Thanks, Timothy Chong Boston University > Le Feb 10, 2016 à 1:31 PM, Felipe Rocha da Rosa <[email protected]> > a écrit : > > 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] <mailto:[email protected]> > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users > <http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users>
_______________________________________________ gem5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
