This repository contains an application for estimating performance of parallel programs on parallel architectures. In addition, Python scripts and Pin tools are included for generating the inputs to the application. These scripts are designed to be used with the PARSEC benchmarks (including SPLASH-2x), but can be adapted for other benchmark suites.
CMake can configure the project for different build systems and IDEs (type cmake --help for a list of generators available for your platform).
We recommend you create a build directory before invoking CMake to configure the project (cmake -B).
For example, we can perform the configuration step from the project root directory:
cmake -H. -Bcmake-build-release -DCMAKE_BUILD_TYPE=Release cmake -H. -Bcmake-build-debug -DCMAKE_BUILD_TYPE=Debug
After the configuration step, you can ask CMake to build the project.
cmake --build cmake-build-release/ --target all cmake --build cmake-build-debug/ --target all
Once compiled, you will find the rhythm executable in the bin directory.
Use the --help argument for information on the command line interface.
See scripts/estimate-parsec.py for help.
A Pin tool for generating synchronization traces can be found in the pin-tools directory.
The Pin tool has been tested using Pin versions 2 and 3.
To compile the tool, make sure you have defined the PIN_ROOT environment variable to point to the root directory of your Pin installation.
To use the tool, run Pin with the compiled library (e.g., pthread-trace.so) and a multithreaded application that uses the pthread library.
See scripts/instrument-parsec.py for help.