PMAM 2018 Reference Implementation
This repository is a reference implementation of the model presented at The Ninth International Workshop on Programming Models and Applications for Multicores and Manycores (PMAM 2018).
A Pin tool for generating synchronization traces can be found in the
The Pin tool has been tested using Pin version 3.
You should also be able to use Pin version 2 with some modifications.
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.
Generating Performance Estimates
The core library for generating estimates can be found in the
You can control the library via the command line using the
Both the library and the command line executable are compiled using CMake.
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 (
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
simsync-cl executable in a directory of the same name.
--help argument for information on the command line interface.
Architecture configurations used in the publication can be found in the
architecture-config directory for different benchmarks and number of threads/cores.