Skip to content

MARSSx86 with DRAMSim2

dramninjasUMD edited this page Mar 29, 2011 · 4 revisions

NOTE: For the time being the DRAMSim2 bindings require that you use the flag -corefreq 2000000000 (2GHz) in the configuration for MARSS. Essentially DRAMSim2 simulates a 667MHz part and the memory clock is hardcoded to divide the CPU clock by 3 to obtain this rate. If your core frequency varies, the memory results will be off.

Running MARSSx86 with DRAMSim2 is rather simple. You’ll need to checkout the ‘dramsim’ branch of MARSSx86 available from our github account:

git clone git://github.com/dramninjasUMD/marss.dramsim.git

You could also checkout the master branch of MARSSx86 from Github and add our branch via the git remote add command (see here for details).

After you have a checkout of the dramsim branch of marss, you will need to checkout a copy of DRAMSim2 into a separate folder:

cd ~ && git clone git://github.com/dramninjasUMD/DRAMSim2.git

Go into the DRAMSim2 directory and type make libdramsim.so. Then, go into the marss folder and type scons dramsim=/full/path/to/DRAMSim2. (Note that for now, scons doesn’t cache the value of the dramsim= parameter so you’ll have to enter it every time you use scons to build marss. Alternatively you can modify the SConstruct file so that the default value for dramsim matches your paths).

If you want to double check that DRAMSim2 was added, you can type ldd qemu/qemu-system-x86_64 | grep dramsim and make sure that libdramsim.so is listed.

If it is, you’re done! When you start a simulation with MARSSx86, DRAMSim2 will create a .vis file in the DRAMSim2/results/MARSS/device_name/devicedescription.vis file, along with a dramsim.log file in the marss directory.

Clone this wiki locally