Azadeh,
You can use util/tracediff to compare the output of gem5 for two
different (but concurrent) runs. If you want to compare the application
outputs, you need to have it outputs on stdout or stderr. You can tune
what you cant to compare in gem5 by selecting the flags you want.
For instance:
util/tracediff 'build/X86/#gem5.correct|gem5.faulty' --debug-flags=All
etc will run gem5.correct and gem5.faulty and diff All the flags.
I usually use the following flags: ExecAll(to get retired insts +
results), -ExecTicks(so tracediff does not desynchronise on the
ticks),-ExecFetchSeq(so tracediff does not desynchronize on the fetch
sequence number).
The syntax for the parameters is either
'param_for_executable1|param_for_executable2' (e.g. '--l2cache|' meaning
the first executable will have L2 and the second will not) or
'param=#value_for_exe1|value_for_exec2' (e.g. '--l2size=#512kB|1MB').
However, tracediff exits as soon as it desynchronizes, so you may have
to tweak the script to continue/try to resynchronize harder. It mostly
depends on if your control flow is going to diverge or not I think.
If you just diff the application output, this should be fine.
Hope it helps,
Arthur.
Le 19/02/2015 09:40, Azadeh Shirvanian via gem5-users a écrit :
Dear all
I am working on X86, classical memory and running in SE mode.
I need to compare the application outputs in a loop. One output is
always fault-free and the other is always faulty because of random
fault injections.
I would like to know how such comparison is possible in gem5 and how I
can do that.
I would appreciate any help.
Azadeh
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
--
Arthur Perais
INRIA Bretagne Atlantique
Bâtiment 12E, Bureau E303, Campus de Beaulieu
35042 Rennes, France
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users