ACS Simulation Tools Installation

Home
RPT

IVM CDIF Forum
Resources



Welcome to the ACS Simulation Tools install section. Here, we provide the necessary steps to download, install, and make use of our simulation tools.

Running the rePLay Transmogrifier

Download packages

First, download rpt-1.0.tar.gz, rpt-bochs-2.1.1.tar.gz and rpt-1.0-bench.tar.gz. Then, extract the three files into a work directory on your machine. While the software may run on other platforms, we have developed this software mainly on GNU/Linux/x86 platforms.

# cd {work_directory}
# tar -zxvf {path_to_downloads}/rpt-1.0.tar.gz
# tar -zxvf {path_to_downloads}/rpt-bochs-2.1.1.tar.gz
# tar -zxvf {path_to_downloads}/rpt-1.0-bench.tar.gz

Build the tool

Now that the files have been extracted, you are ready to build the rePLay Transmogrifier with the modified bochs source. Currently, we have only tested the source with a gcc compiler suite on various GNU/Linux machines. We are currently developing with the gcc-3.3.x, and we have also tested with various minor versions from gcc-2.95 to gcc-3.4.x. If you are using a version of the Standard Template Library (STL) that comes with gcc-3.0 and below, there are known issues with compiling certain non-standard STL containers. This issue is caused by the relocation of the non-standard STL containers into a seperate directory. As a result, the #include directives and some of the namespaces need to change with the gcc upgrades. For example, if you run into such a problem with files like "ext/hash_map", older gcc versions used "hash_map". If you have any issues compiling, please post to the mailing list (coming soon), or email . This should be a simple issue to resolve and will hopefully be non-existent in future releases.

# cd rpt-1.0
# make depend
# make

Run the test program with the bochs frontend

If all went as well as we had hoped, your build was successful, and you are ready to run RPT. Since this tool is meant as a simulator frontend, we have packaged this tool with a simple main loop that repeatedly fetches rePLay micro-operations from the Transmogrifier. This example tool will fetch and print out N x86 instructions from the bochs frontend, where N is a user-specified command line parameter. Here, in this example, we will run the tool on the bochs test images that were downloaded earlier, and we will run for 100 x86 instructions.

# ./rpt -trace bench/crafty-ref.rc -rpt:limit 100

Incorporate RPT into your simulator

The rePLay Transmogrifier is one piece of a larger puzzle. In order to take advantage of RPT, we would like to do more than just print out the raw micro-op stream that is spooling from the example program which we packaged up for this release. From here, the next step is getting to know the tool's source. The best place to get started is the interface and main RPT object (class arch_c in arch/arch.h) and also to take a look at the micro-operation object (class arch_uop_c in arch/arch-uop.h).

We strive to keep the code clear, concise, and well documented. Obviously, learning a new tool through code review is not always the easiest way to delve into uncharted territory. If you have any questions, don't hesitate to post to the development mailing list (coming soon), or email . We want to make this as straight forward as possible.


Copyright 2003 Advanced Computing Systems (ACS). Feedback? Email .