Software I've Worked On
As a grad student I've worked on various projects. When the code I made is available there will be a link to it. If there's no link it probably means it is not in a releasable state; please e-mail me if you are interested and I'd be glad to share what I have with you.
Fusion Group Projects
- BBV Research - I've investigated various methods of generating Basic Block Vectors as needed by the SimPoint analysis tool.
- SimSnap - I've been doing a lot of work getting the SimSnap simulation acceleration environment to work on various platforms and simulators. Part of my work was adding File I/O checkpoint and resume, which the original tool did not have. Currently the code relies on the C pre-processor to intercept the I/O calls. Work is underway on a less obtrusive and more portable solution.
- Cache Tool - This tool gathers statistics on cache behavior, with the eventual goal of doing Cache-Conscious Data Placement.
Instrumentation Tools I've Used
- Atom - used for various projects
- FIT - used for a cache performance tool. Contributed code to the FIT developers which has been merged into the main codebase.
- Valgrind
- cachetool - made a plugin for Valgrind that generates memory traces for use with my cache tool.
- exp-bbv - made a Valgrind plugin that generates SimPoint info, enabling Basic Block Vectors (BBVs).
- valtaxi - made a Valgrind plugin that produces TAXI-compatible input streams (TAXI decodes pre-decoded x86 instruction streams into PISA uops and runs through a modified version of the PISA SimpleScalar).
- Valgrind - Ruby - an attempt to generate multi-core memory simulatios by using Valgrind and the Ruby multi-core cache simulator from GEMS/m5.
- Qemu
- qemusim - a patch to Qemu to generate SimPoint Basic Block Vectors (BBVs).
- qemu-trace - a patch to Qemu that generates memory traces for cache simulators.
Simulators I've Worked with:
- GEMS - class project
- nursim - new version of ursim that runs Irix MIPS binaries. Lots of hacking trying to get simsnap binaries to run.
- Qemu - Investigated using qemu to generate memory traces (project info here).
- SimpleScalar Alpha - various projects
- SimpleScalar x86 - trying to get simsnap binaries to run.
- TAXI - I created a valgrind plugin (rather than the original BOCHS frontend) for TAXI and used it to simulate x86 binaries.
- m5 - You can find details of my work on m5 here
Miscellaneous Tools
- wattsup-0.2-vmw.tar.gz (9kB) a slightly modified driver for the Watts Up? Pro power meter. This works with the specific version of the meter we have, it is posted here only for reference.
- html2simpoint-0.1.tar.gz (2kB) Code that converts the Alpha/atom BBV results on the SimPoint website back into discrete bbv files.
- convolve-0.1.tar.gz (241k) Simple image convolution example. Gives your cache a workout.
Class Projects
- Some code that does a simple implementation of Steengaard's algorithm (May 2006)
- A paper on using machine learning techniques to optimize ATLAS (May 2006)
Back to my main page...
