Closed mrutt92 closed 2 years ago
Very excited to see this merged in
@tommydcjung anything else? remove the macros and then good-to-go?
@tommydcjung anything else? remove the macros and then good-to-go?
Can we remove the macros so we can look at the resulting code? we might find more issues then
@tommydcjung anything else? remove the macros and then good-to-go? Can we remove the macros so we can look at the resulting code? we might find more issues then
Are we done reviewing everything else?
i went ahead and removed the macros.
Ok good to go?
good-to-go?
We have a PC histogram tool currently that parses a cycle-by-cycle trace file from simulation. The functionality is very helpful, but it comes at ~3x cost to simulation time and the trace file can grown to GBs in size for even relatively short simulations.
This PR provides a fast-functional PC histogram. The histogram is stored in memory while simulation is running and dumped to a file at the end of simulation. Some level of detail is lost such as the instruction opcode (instead we see either 'instr' or 'fp_instr'). However, the stall type information is retained.
The overhead from using the fast PC histogram was never more than 20% over fast non-profiling simulation and as much as 3x faster than enabling the trace.
Note that this is unsuitable for blood graph generation. You still need to use tracing for that.