Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Prism

BSD licensed Build Status Docs Status Experimental

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

Prism Overview


Install

💥 C++14 compiler support is required 💥
💥 cmake v3 required 💥
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:

  • Compute - IOPs & FLOPs
  • Memory - data access
  • Synchronization - task-level create, join, sync, et al
  • Context - markers for basic blocks, subroutines, instructions, etc
  • Control Flow support is pending community demand

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

Example Usage

  • Valgrind is the default frontend for generating events, if no option is specified
  • SynchroTraceGen backend processing events into a special event trace

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

Users supply at least 2 arguments to Prism:

  • the backend analysis tool used to process events
  • the application

A third frontend argument can be supplied

  • --frontend=FRONTEND
  • --frontend=dynamorio is experimental

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

You can’t perform that action at this time.