Hi Stephen,

The 'TraceTracker.initialize()' call only works for the FastCache component
of the TraceFlex(TraceCMPFlex) simulator. However, the FastCMPCache
component doesn't allow you to load the TraceTracker component. Hence the L2
accesses cannot be traced. Also, for CMPFlex/UniFlex type of simulators,
neither of Cache or CMPCache component has TraceTracking options. How do I
enable tracking for L2 cache under such circumstances? Is there a way
around?

Thanks,
Abhishek

-----Original Message-----
From: simflex-bounces at ece.cmu.edu [mailto:simflex-bounces at ece.cmu.edu] On
Behalf Of Stephen Somogyi
Sent: Thursday, April 30, 2009 10:17 AM
To: SimFlex software support
Subject: Re: [Simflex] memory access traces

Hi Abhishek,

Actually, the TraceTracker works a bit strangely compared with most of the
other Flexus components.  You can get callbacks into TraceTracker even if
the TraceTrackerComponent is not enabled (basically, the code in
components/Common/TraceTracker.* is always active, even if the component
in components/TraceTracker/ is not).

If you are using TraceFlex (or one of its variants), you will need to
enable the callbacks from within the caches, for example:
 - at run-time: flexus.set "-L1d:trace_tracker_on"  "1"
 - at compile time (in wiring.cpp, initializeParameters() function:
   theL1DCfg.TraceTracker.initialize(true);

The easiest way to get a list of all the parameters supported by a
particular Flexus simulator is to load the simulator in Simics and run,
even if just for one cycle.  Then look at the configuration.out file that
was generated - this lists all the parameters and their values.

Stephen


On Wed, 29 Apr 2009, Abhishek Das wrote:

> Hi Stephen,
>
> Thanks for the reply. I have put my own debugging statements in the
> components/Common/TraceTracker.cpp file. However, it seems that I need to
> enable the trace-tracking option in order to get the extra information.
The
> components/TraceTrackerComponent.hpp has a parameter called "enable" which
> is set to 'false' by default. How can I enable this option? Should I
include
> the command { flexus.set "trace-tracker:enable" "true" } in the
> config/flexpoint/start.simics ?
>
> Also, in general where can I get the complete list of component names and
> corresponding parameters which can be used for the 'flexus.set'
statements.
> Currently, I am just looking at the *.hpp files in the components
directory,
> but I am unsure of the names of the components to use.
>
> regards,
> Abhishek
>
> -----Original Message-----
> From: simflex-bounces at ece.cmu.edu [mailto:simflex-bounces at ece.cmu.edu] 
> On
> Behalf Of Stephen Somogyi
> Sent: Tuesday, April 28, 2009 11:05 AM
> To: SimFlex software support
> Subject: Re: [Simflex] memory access traces
>
> Dear Abhishek,
>
> Probably the easiest way to accomplish this in Flexus is through the
> TraceTracker.  Each cache makes a call into TraceTracker on every access,
> which should provide the information you require.  The default
> TraceTracker functions perform no actions, but it is simple to add
> whatever code you need (components/Common/TraceTracker.cpp).  To get the
> current cycle, call "theFlexus->cycleCount()".
>
> Cheers,
> Stephen
>
>
> On Mon, 27 Apr 2009, Abhishek Das wrote:
>
> > Hi,
> >
> >
> >
> > I am trying to generate memory traces for some applications using
Flexus.
> > Particularly, I want to track memory accesses by each thread/cpu (read,
> > write, load, store) to physical addresses in memory. I want an output
> > registers the follwwing information:
> >
> > Cpu/Thread        Memory Request            Physical Addres
> > Cycle
> >
> > ---------------       ----------------------
> --------------------
> > ----------
> >
> >
> >
> > I was wondering whether Simflex has debugging options that can enable
such
> > memory access tracing. If yes, what specific debug flags need to be set?
> Or
> > do I have to change in the source code in Flexus to do the same?
> >
> >
> >
> > Thanks,
> >
> > Abhishek
> >
> >
> _______________________________________________
> SimFlex mailing list
> SimFlex at ece.cmu.edu
> https://sos.ece.cmu.edu/mailman/listinfo/simflex
> SimFlex web page: http://www.ece.cmu.edu/~simflex
>
> _______________________________________________
> SimFlex mailing list
> SimFlex at ece.cmu.edu
> https://sos.ece.cmu.edu/mailman/listinfo/simflex
> SimFlex web page: http://www.ece.cmu.edu/~simflex
>
_______________________________________________
SimFlex mailing list
SimFlex at ece.cmu.edu
https://sos.ece.cmu.edu/mailman/listinfo/simflex
SimFlex web page: http://www.ece.cmu.edu/~simflex

Reply via email to