-
Notifications
You must be signed in to change notification settings - Fork 150
DRAMSim v2.1 Changes
Starting with commit 0b3ee6799a (tagged in git as v2.1), there were several big changes in DRAMSim2.
The multichannel branch is now merged into master. The MultiChannelMemorySystem now replaces the old MemorySystem object as the top-level simulation wrapper. This object correctly handles the instantiation of a single channel and a multi channel memory system based on the parameters in the system.ini file. Note that because the top-level object has changed the API/ABI has also changed meaning that if you update to this version of DRAMSim2, you will have to update your simulator bindings.
Overall, the actual API changes are trivial. See DRAMSim.h for details.
For MARSSx86, please make sure you update to tag DRAMSim-v2.1 or later, which contains the binding updates.
New stats output format. The new stats files are meant to be easier to use with graphing tools such as gnuplot and the marss.utils graphing scripts.
While the old format contained key-value pairs within each epoch, this format was clunky since it was hard to human read and parsing it with standard tools was a pain. The new output format contains some header information with simulation parameters. After the !!EPOCH_DATA
line, there is a header line of the field names followed by CSV data. The CSV data ends on the line that reads !!HISTOGRAM_DATA
.
If you want to use the marss.utils scripts, make sure you update to tag DRAMSim-v2.1 or later. This tag contains functionality to read multi-dimensional parameters (such as per channel, per rank, per bank).
If you update to this version of marss.utils, you can convert old .vis files into the new format by using the dramsimvis2csv.py script.
At this point, DRAMVis is deprecated since no one has time to maintain it (and it won't output vector graphs). The new output format is not at all compatible with DRAMVis.