Valtaxi Plugin for Valgrind by Vince Weaver vince _at_ csl.cornell.edu Background ~~~~~~~~~~ This plugin was designed when we were desperately trying to find a usable x86 cycle-accurate simulator for our SimSnap checkpointing work. We found TAXI which is a version of simple-scalar that was hacked to take an instruction trace and memory trace generated by the BOCHS simulator. This instruction trace was then converted to PISA ops (under the idea they are similar to x86 uops) and then run through simple-scalar. You can read more about TAXI here http://www.vlaovic.com/ What this valgrind plugin does is simply generate the memory and cpu traces in a way compatible to the original BOCHS output. In the end, the paper we used this plugin for was rejected (for reasons having nothing to do with valgrind or taxi) How to Use ~~~~~~~~~~ Command line options: --tracecpu= file for cpu trace file --tracemem= file for mem trace file --fastforward= number of insns(*100 000 000) to ffwd --countmagic= ffwd until see the magic insn times The fastforward option was useful if you were running simpoints. The magic nop that is used to count to find simpoints more accurately is mov %ecx,%ecx Compiling ~~~~~~~~~ First download the newest version of valgrind from www.valgrind.org. Version 3.2.0 is the newest version tested Unpack, and configure with: ./configure --prefix=/fusion/scratch2/vince/valgrind/ That installs it in your own subdirectory, as not to interfere with the system-wide valgrind install. Compile with: make and then make install Copy this cachetool directory into place. * Edit the file "configure". Search for the string none/docs/Makefile and immediately after it put: valtaxi/Makefile * go into the cachetool director and run make; make install # leftover.. what was this for? # cd .. && /bin/sh ./config.status cachetool/Makefile depfiles