Nikos Anastopoulos wrote:
Hi,
I have some questions about m5 v2.0b1.
1) For SE mode, is there a PARMACS m5-specific implementation I could use in order to write multithreaded (shared memory) programs? I know I can use pthreads in FS mode instead, but I would like to exploit the SMT feature which is currently available only in SE.

There is no PARMACS support in v2.0b1, since MP coherence isn't quite working. v1.1 supports PARMACS for Tru64 via an m5-specific library. I've been working on PARMACS/pthreads SE-mode support for v2.0 but haven't finished it yet. The good news is that once I get it done it will be (a) for Linux rather than Tru64 and (b) hopefully a little more realistic than the Tru64 model, which relies too much on special m5 syscalls for things like condition variables.

In case that I can use the PARMACS model to write multithreaded apps, is there a way then to map specific threads onto specific logical processors (e.g. in a system with CMPs of SMTs, etc.)?

Not out of the box, but it should be possible to add.


2) How can I learn about all the available statistics that are correlated with a specific component (e.g. caches or branch predictors)? How can I get them printed? Are they printed on m5stats file by default, or should I add some extra lines on the simulation script?

All meaningful (basically non-zero) stats are printed in the m5stats file. It's my philosophy (that I've effectively imposed on everyone else :-) ) that you never want to have to redo a multi-hour simulation run just because you didn't collect some statistic that you didn't think was relevant at the time you ran it but later changed your mind.

The easiest way to see all the stats for a particular object is to look in the appropriate .cc file in that object's regStats() method. Looking in the m5stats file is even easier, but you might miss some stats that happened to be zero-valued for that run.


3) Which is the proposed way to get accurate measurements and statistics for the execution of a specific app in FS mode (i.e., excluding all statistics regarding the boot process and so on)? Should I add on my .rcS file the "m5 dumpstats" command before and after the execution of the application, and then get a diff?

There's a call to reset all the stats; I'm not sure if that happens automatically when you do dumpstats or if it's a separate operation. Do that before your app and then call dumpstats afterward and you'll get the stats for your app directly.


4) How can I start m5 with a checkpoint obtained from a previous execution? I am not sure I have read something about on the wiki pages...

Right now checkpointing only works in FS mode. I think there is documentation on the wiki on how to use it.


Thanks in advance,
Nick.

_______________________________________________
m5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/m5-users
_______________________________________________
m5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/m5-users

Reply via email to