Code for submission to ASPLOS 2026.
The files for gem5 simulation can be found in the gem5 directory. The files are obtained from version 24.1 of gem5.
Requirements for gem5:
- gcc version >= 10
- Clang 7 to 16
- SCons 3.0 or greater
- Python 3.6+
- protobuf 2.1+
Python requirements for plotting results:
- NumPy
- Matplotlib
Scripts for running the gem5 simulations can be found in the directory gem5-scripts.
Instructions for reproducing the figures from gem5 simulation:
- Enter the gem5 script directory:
cd gem5-scripts - Run the script to set up and build gem5:
./setup-gem5.bash - Run the script to run all simulations:
./run-gem5.bash - Set the python command in line 3 of
plot-gem5.bash(default ispython3) - Run the script to plot all simulation results:
./plot-gem5.bash
Plots can be found in the directory gem5-scripts/plots.
Scripts for building and running CACTI can be found in the directory cacti-scripts.
Instructions for obtaining the CACTI results:
git submodule initgit submodule update- Enter the CACTI script directory:
cd gem5-scripts - Build CACTI:
./build_cacti.bash - Run CACTI:
./run_cacti.bash
Results can be found in the directory cacti-scripts/results.