Posts

Showing posts from October, 2017

Using SimPoint in Gem5 to Speed up Simulation

Introduction If you ever used Gem5 simulator, you know how slow it is. It is a common complaint from across the entire community, and people brings solutions to this problem. In this article, I’ll introduce SimPoint, a profiling & sampling method which is integrated into Gem5 to help speed up simulations. What is SimPoint? The original project could be found here: https://cseweb.ucsd.edu/~calder/simpoint/ . But like most university projects, when the students who developed the tool graduated and/or the funding ended, the project discontinued in 2006… which is not a huge problem as long as it still works. But anyways, SimPoint samples programs with a various of features like IPC, branch prediction, cache hit/miss rates and obtain a phase analysis of the program. e.g. A simple program may have initialization phase, some computation phases, and a finalization phase. Often times, programs runs in loops, so they would have periodical behaviors. From a simulation’s perspecti