VANDAL / prism

Modular, flexible, cross-platform workload profiling and characterization
BSD 3-Clause "New" or "Revised" License
14 stars 6 forks source link
characterization dynamorio instrumentation profiling valgrind

Prism

BSD licensed Build Status Docs Status Experimental

The intuitive, event-driven application profiling and characterization framework.

Prism Overview


Install

:boom: C++14 compiler support is required :boom:
:boom: cmake v3 required :boom:
See CentOS 7 Support

git clone https://github.com/vandal/prism
cd prism
mkdir build && cd build
cmake ..
make -j

The executable will be put in build/bin. It can be run in place, or the folder can be moved to an install location.

What is it?

Uses a straight-forward intermediate representation (IR) for system architecture and application behavior studies.
Prism provides the dynamic behavior of an application with 4 event primitives:

Each event has specific attributes that are accessible via the Prism API

Example Usage

$ bin/prism --backend=stgen --executable=./myprogram -with --args

Users supply at least 2 arguments to Prism:

A third frontend argument can be supplied

Platform support

Linux OSX/macOS Windows
64-bit CentOS 7 on x86_64 untested not supported
YMMV: ARM

CentOS 7 Support

sudo yum install epel-release
sudo yum install centos-release-scl
sudo yum install cmake3 devtoolset-7
scl enable devtoolset-7 bash
# use cmake3 and build and usual

See Software Collections for details.

Documentation

Read the docs