On 2011-05-17, at 11:22 AM, Bruno Dufour wrote:
On 2011-05-17, at 11:06 , Marc Feeley wrote:
Bruno, have you tried or know anything about the ptlsim x86 cycle accurate simulator?
I only know of it, but I've never tried it.
It might be a valuable tool to understand the performance of specific x86 code sequences.
Are there other similar tools? Ptlsim does not seem to be in active development (last commit in 2009). But I did get it to work... but I don't know how to analyze the results!
IIRC, the most famous tool in the microarchitecture community seems to be SimpleScalar (http://www.simplescalar.com/). I haven't used it myself, but I've heard about it from a few sources.
Is anyone interested in getting it to work, and to understand the output of ptlstats (the program that analyses the statistics gathered during execution)?
Bruno, perhaps this could be integrated to your profiling work.
Do you mean that the simulator could be used to explain the dynamic data, or that the dynamic data can somehow enhance the simulator results (e.g. by providing some frequencies, or even validating the simulations)?
No, I simply mean that executing our code on ptlsim could provide much more detailed profiles (including branch mispredictions, cache misses, etc) than executing on a real CPU. In other words the dynamic data would be generated by an execution on ptlsim. An advantage I see is that it would eliminate the run time overhead of adding machine instructions to measure run time properties of the program, which can adversely affect the measurements. The simulator could do this with no (simulated) time overhead.
Marc