Hello,
Looking into "energystats.py" , I see that apart from ("core", "L1-I", "L1-D" , "L2" ), you also register "dram". So I modified stattrace.py to extract the power of "dram" also. I would also like to extract the power of "L3" in the same way, but when I add similar code to that of "dram" , both in "energystats" and "stattrace", I get errors. Can you help me with that?
Also, I am trying to make sense of the power stats which are written in three different outputs : 1) power.txt 2) energystats.py 3) the output of mcpat.py in the terminal
Both 2) and 3) are using data from 1 ).
The data in 3) refer to a single core , right ?
Am I right to assume that the data in 3) are calculated using the "power_stack" function in "mcpat.py"? If so, the connection between 1) and 3) is straightforward.
I cannot understand the connection between 2) and 3). Shouldn't , for example, the L1-I power in 3), be equal to the sum of static+dynamic power for all periods for a single core in 2) ?
Also, why do we have this line in "energystats":
self.power[('core', core)] = get_power(power['Core'][core]) - (self.power[('L1-I', core)] + self.power[('L1-D', core)] + self.power[('L2', core)])
but in the terminal stats the total core power seems to be the sum of the core-* components ?
I sure am missing a lot of things. I hope you can help me. I intended to use the power output of energystats (+L3 +dram) in a thermal simulator, but now I am not sure my thinking is correct.
Thank you very much,
Alex