NVlabs/timeloop

Timeloop Accelergy Memory Energy

Omar-Abdul-Aziz opened this issue · 5 comments

I tried before changing the MAC energy in Aladdin Table and it changed in the ERT_summary and in the mapper.stats.txt.
But I'm changing now the energy value that are generated by CACTI to simulate a new SRAM. However, the values of read write energy arechanging in the timeloop-mapper.ERT_summary.yaml, but the not in the timelopo-mapper.stats.txt.
Could you support on this?

Is the energy value in stats.txt the same as what you had before the SRAM change? If not, it might be worth checking if there is any energy specification in the architecture spec overwriting the ERT numbers.

The first step of the project was to change the energy of the mac in Aladdin Table. This step works and the energy of the mac in the ERT and stats.txt is the same.
However, I checked now the energy value in stats.txt before changing the SRAM and DRAM energy in the CACTI_wrapper.py, the enrgy in the ERT and stats.txt are not the same!
After doing these changes, the energy of the DRAM and SRAM change in the ERT but for the stats.txt the values are the same.

There is not overwite in the architecture specs.
in the arch.yaml:
The class of the SRAM is smatbuffer_SRAM and the attributes are the standards.
Timeloop might be doing another energy calculation for the DRAM and SRAM?
Where timeloop search for the energy value from accelergy files(ERT , ART)?

Please share your inputs files and your generated output files for us to better understand/reproduce your problem.

Here are the inputs and the output files.

test.zip

The old simulation file is before changing anything in cacti_wrapper.py.The new simulation file is after changing the MAC energy in Aladdin Table and the L1, L2 and Main Memory energy. However, we see that the MAC energy is changed in the stats.txt, but the SRAM and DRAM memories are the same in the old and new simulation.

In other word, how and where is calculated the vector access energy?

Thanks for the examples.

Is your timeloop the most up-to-date version? If you are using the newest version, the output stats should theoretically show the source of the estimation: https://github.com/NVlabs/timeloop/blob/master/src/model/buffer.cpp#L1871

Please check if you are having the same problem as discussed in this issue.