Sorry, let me amend the second part of the answer. The *energy values are current multiplied by time which yields coulombs. So in printStats() we multiply the coulombs by voltage to get joules and divide by time to get watts.
In other words the final expression printed in printStats() ends up being (sum(current * time piece) * voltage)/total time which ends up yielding average power. However, the numerator of this formula is in fact energy. My second suggestion stands, though. You can just remove the division by elapsedCycles and you will get energy. On Fri, Jul 26, 2013 at 10:25 AM, Paul Rosenfeld <[email protected]>wrote: > In the future, could you please refrain from sending questions purely > about DRAMSim2 to the marss list? I don't want to hijack their list for > unrelated questions. > > The best way to get a question through is just to email dramninjas [at] > gmail or post an issue on github. I don't get a lot of time these days to > field DRAMSim2 questions, but I will do my best to get to them eventually. > > Computing the power on a per-transaction business is a bit tricky as there > are a lot of energy components that aren't tied to any particular > transaction (background/refresh). However, if, from these statistics, you > wanted to get the total energy, you'd just sum all of the watts numbers and > multiply by the length of the epoch in seconds. This would give you total > energy. > > You're right that burstEnergy (and the other *Energy) fields are poorly > named since they are in fact current, but all you have to do to convert > them to energy is to multiply by Vdd. So if you wanted joules instead of > watts, you could change these lines: > https://github.com/dramninjasUMD/DRAMSim2/blob/master/MemoryController.cpp#L866 > and just remove the division by elapsedCycles . > > > On Thu, Jul 25, 2013 at 11:10 AM, Hassan, Ahmad <[email protected]>wrote: > >> ** ** >> >> Hi,**** >> >> ** ** >> >> Please can someone describe how to measure energy for one read or write >> access (64Bytes) for DDR3 DRAM?**** >> >> ** ** >> >> DRAMSim2 only reports power and I couldn’t figure out how to get the >> energy of one read or write operation (64 Bytes) from that.**** >> >> ** ** >> >> I created the trace file with just one entry: **** >> >> 0x1FF96FC0 WRITE 20**** >> >> ** ** >> >> When I run DRAMsim2, it gives the following statistics but I couldn’t >> find out how to measure energy for that write operation (64bytes)**** >> >> ** ** >> >> == Power Data for Rank 1**** >> >> Average Power (watts) : 0.085**** >> >> -Background (watts) : 0.076**** >> >> -Act/Pre (watts) : 0.001**** >> >> -Burst (watts) : 0.001**** >> >> -Refresh (watts) : 0.008**** >> >> ** ** >> >> I can see an attribute burstEnergy in MemoryController.cpp but it is not >> the energy, it is the accumulated current.**** >> >> ** ** >> >> Thanks for the help**** >> >> ** ** >> >> Cheers. **** >> >> _______________________________________________ >> http://www.marss86.org >> Marss86-Devel mailing list >> [email protected] >> https://www.cs.binghamton.edu/mailman/listinfo/marss86-devel >> >> >
_______________________________________________ http://www.marss86.org Marss86-Devel mailing list [email protected] https://www.cs.binghamton.edu/mailman/listinfo/marss86-devel
