Re: [gem5-users] Failed to find stat 'system.bigCluster.clk_domain.clock' and others

2018-06-01 Thread Jason Lowe-Power
Hi Yara,

I'm not very familiar with the power modeling in gem5, but this seems like
you found and then fixed a bug! We would really appreciate it if you
contributed this change to the mainline. You can find a description of how
to do this in the CONTRIBUTING document (
https://gem5.googlesource.com/public/gem5/+/master/CONTRIBUTING.md).

If you have any questions, don't hesitate to ask!

Jason

On Fri, Jun 1, 2018 at 4:42 AM Yara Gowayed  wrote:

> I think I found a solution to this problem. It required changing something
> in the src file gem5/src/sim/power/mathexpr_powermodel.cc.
>
> In the startup function the stats are being recorded from the statsList to
> the stats_map which will be used by the power model to find the
> corresponding value to each element in the power expressions.
> The problem with the current implementation that it was taking a substring
> from the name removing the basename which is the name of the object. So
> when I try to access it from outside all objects it gives me an error.
>
>  for (auto & i: Stats::statsList()) {
>if (i->name.find(basename) == 0) {
>  // Add stats for this sim object and its child objects
> stats_map[i->name.substr(basename.size())] = i;
>} else if (i->name.find(".") == std::string::npos) {
> // Add global stats (sim_seconds, for example)
> stats_map[i->name] = i;
>}
>   }
> What I did and was compatible with what I need to achieve was replacing
> the whole part with simply this
> for (auto & i: Stats::statsList()) {
>
> stats_map[i->name] = i;
>
>}
>
>
> On 23 May 2018 at 17:47, Yara Gowayed  wrote:
>
>> Hi all
>>
>> I am currently working on power modeling using gem5 for arm bigLITTLE
>> architecture. I am using the fs_power.py script already found in the gem5
>> repo but I wanted to change the dummy equations for static and dynamic
>> power to more meaningful equations.
>> The stats I need to do so are all found in stats.txt but when I try to
>> formulate the equations it gives me "failed to find stat" error.
>>
>> I already can use some stats like dcache.overall_misses ,
>> dcache.overall_accesses,
>> numCycles,voltage, dtb_walker_cache.overall_misses, icache.overall_misses
>> , icache.overall_accesses.
>>  But when it comes to :
>> system.clk_domain.clock,system.bigCluster.cpus0.iew.iewExecutedInsts,system.bigCluster.cpus2.iq.FU_type_0::IntAlu
>> or any other instructions(MULT,DIV) it fails.
>>
>> I kind of have an intuition where the problem is, I went through the
>> documentation of doxygen and all the stats that failed needs to be accessed
>> from a certain object that I dont know.
>>
>> For example the stats::overall_misses should be accessed from BaseCache
>> class and I did so in dcache.overall_misses but for the others I tried to
>> do the same and it failed.
>>
>> Any clue how to be able to access the given stats? It doesn't have to be
>> per core a sum of them will do the same job.
>>
>> Also I tried to do the calculations after the simulation ends using
>> scripts that process data from the stats.txt and that worked, I just want
>> it now to be online during the simulation.
>>
>> Thanks alot!
>> Yara
>>
>>
> ___
> gem5-users mailing list
> gem5-users@gem5.org
> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
___
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Re: [gem5-users] Failed to find stat 'system.bigCluster.clk_domain.clock' and others

2018-06-01 Thread Yara Gowayed
I think I found a solution to this problem. It required changing something
in the src file gem5/src/sim/power/mathexpr_powermodel.cc.

In the startup function the stats are being recorded from the statsList to
the stats_map which will be used by the power model to find the
corresponding value to each element in the power expressions.
The problem with the current implementation that it was taking a substring
from the name removing the basename which is the name of the object. So
when I try to access it from outside all objects it gives me an error.

 for (auto & i: Stats::statsList()) {
   if (i->name.find(basename) == 0) {
 // Add stats for this sim object and its child objects
stats_map[i->name.substr(basename.size())] = i;
   } else if (i->name.find(".") == std::string::npos) {
// Add global stats (sim_seconds, for example)
stats_map[i->name] = i;
   }
  }
What I did and was compatible with what I need to achieve was replacing the
whole part with simply this
for (auto & i: Stats::statsList()) {

stats_map[i->name] = i;

   }


On 23 May 2018 at 17:47, Yara Gowayed  wrote:

> Hi all
>
> I am currently working on power modeling using gem5 for arm bigLITTLE
> architecture. I am using the fs_power.py script already found in the gem5
> repo but I wanted to change the dummy equations for static and dynamic
> power to more meaningful equations.
> The stats I need to do so are all found in stats.txt but when I try to
> formulate the equations it gives me "failed to find stat" error.
>
> I already can use some stats like dcache.overall_misses ,
> dcache.overall_accesses,
> numCycles,voltage, dtb_walker_cache.overall_misses, icache.overall_misses
> , icache.overall_accesses.
>  But when it comes to :
> system.clk_domain.clock,system.bigCluster.cpus0.iew.iewExecu
> tedInsts,system.bigCluster.cpus2.iq.FU_type_0::IntAlu or any other
> instructions(MULT,DIV) it fails.
>
> I kind of have an intuition where the problem is, I went through the
> documentation of doxygen and all the stats that failed needs to be accessed
> from a certain object that I dont know.
>
> For example the stats::overall_misses should be accessed from BaseCache
> class and I did so in dcache.overall_misses but for the others I tried to
> do the same and it failed.
>
> Any clue how to be able to access the given stats? It doesn't have to be
> per core a sum of them will do the same job.
>
> Also I tried to do the calculations after the simulation ends using
> scripts that process data from the stats.txt and that worked, I just want
> it now to be online during the simulation.
>
> Thanks alot!
> Yara
>
>
___
gem5-users mailing list
gem5-users@gem5.org
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users