|
From: Mohit T. <moh...@gm...> - 2006-10-05 18:18:14
|
Hello, I notice that running the floating point benchmarks (like ammp) takes a substantial time. (ammp took ~15min natively and 1.5 hrs using nulgrind) With Memcheck's ~50X overhead, it might take this 12.5 hrs to finish. Is there a way I can switch between native and valgrind executions of a program, so I could use a phase analyzing software like Simpoint to simulate only certain instructions. (A simulator like ptlsim can do such switching...) I saw in the tool_iface that any particular function can be wrapped around with macros to execute them natively, but is there a way I can insert switch_to_native() or switch_to_VG() calls in the profiled program's (like ammp) code? Thanks a lot, Mohit |
|
From: Nicholas N. <nj...@cs...> - 2006-10-05 21:19:48
|
On Thu, 5 Oct 2006, Mohit Tiwari wrote: > I notice that running the floating point benchmarks (like ammp) takes a > substantial time. (ammp took ~15min natively and 1.5 hrs using nulgrind) > With Memcheck's ~50X overhead, it might take this 12.5 hrs to finish. Is > there a way I can switch between native and valgrind executions of a > program, so I could use a phase analyzing software like Simpoint to simulate > only certain instructions. Depends which tool you're using -- I think Callgrind might have some support for this. The other tools don't. I have found that the 'reference' data sets for SPEC are too big to benchmark, but the 'train' ones are doable, ie. they take less than a day for the full suite. Nick |
|
From: Josef W. <Jos...@gm...> - 2006-10-06 11:59:30
|
On Thursday 05 October 2006 23:19, Nicholas Nethercote wrote: > On Thu, 5 Oct 2006, Mohit Tiwari wrote: > > > I notice that running the floating point benchmarks (like ammp) takes a > > substantial time. (ammp took ~15min natively and 1.5 hrs using nulgrind) > > With Memcheck's ~50X overhead, it might take this 12.5 hrs to finish. Is > > there a way I can switch between native and valgrind executions of a > > program, so I could use a phase analyzing software like Simpoint to simulate > > only certain instructions. > > Depends which tool you're using -- I think Callgrind might have some support > for this. In Callgrind, you temporarily can switch off full instrumentation to get the speed of nulgrind. Of course, cache simulator is off then, too, and the cache state will be flushed on such switches. The instrumentation mode at startup can be specified with "--instr-atstart=yes/no", interactivly changed with "callgrind_control -i on/off", and per client request in the code with CALLGRIND_START/STOP_INSTRUMENTATION. It probably would be nice to switch it on/off when entering a given function, but this checking would need instrumentation itself. Josef |