This project analyses gem5 simulation data, combines it with data collected from a hardware platform (e.g. collected with GemStone-Profiler-Automate) and applies statistical techniques to observe the difference between the gem5 modle and real hardware platform, and identify sources of errors in the model.
It has three main functions handled by three main scripts:
gem5_combine_experiments.py
: Automatically finds gem5 experiments, converts the stats.txt file into a csv file and then combines the experiments into one tab-separated csv file. A tutorial on this step is actually presented at the end of the gem5 and GemStone-Gem5-Automate tutorial.combine_gem5_hw.py
: Combines the processed data from the hardware platform with the gem5 experiment data (described in this tutorial).validation.py
: Conducts the correlation, hierarchical cluster, and regression analysis as well as direct hardware PMC event to modelled gem5 event comparisons.
Usage instructions and tutorials available at GemStone.
Matthew J. Walker - University of Southampton
This project supports the paper:
M. J. Walker, S. Bischoff, S. Diestelhorst, G V. Merrett, and B M. Al-Hashimi, "Hardware-Validated CPU Performance and Energy Modelling", in IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS), Belfast, Northern Ireland, UK, April, 2018 [Accepted]
This work is supported by Arm Research, EPSRC, and the PRiME Project.
This project is licensed under the 3-clause BSD license. See LICENSE.md for details.