Skip to content

A tool to profile and analyze applications' power and performance behavior

License

Notifications You must be signed in to change notification settings

uart/powersleuth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PowerSleuth

PowerSleuth is a tool that profiles your applications power/performance and phase behavior.

See uart/power_sleuth for more information.

Prerequisites

General

PowerSleuth is built around ScarPhase. See scarphase for more instructions.

Quick Start

1. Install ScarPhase

git clone https://github.com/uart/scarphase.git

cd scarphase
git submodule update --init

cmake .
make

2. Install PowerSleuth

git clone https://github.com/uart/powersleuth.git
cd powersleuth

export PYTHONPATH=/path/to/scarphase

Usage

Help

./powersleuth -h
usage: ./powersleuth <command> [<args>]

Commands:
   profile      Profile stuff
   plot         Plot power and performance data
   dump         Dump power and performance data
   show         Show stuff
   raw-dump     Dump raw performance counter data
   simpoint     Find simpoints
   refine       Refine data
   raw-plot     Plot raw performance counter data

See './powersleuth help <command>' for more information.

1. Profile

This profiles and finds runtime phases in gcc from SPEC2006, with input 166.i. The profile is saved in gcc.profile and is used in the succeeding examples to plot and dump gcc's phases.

./powersleuth profile \
    --scarphase-conf configs/scarphase/example0.conf \
    --counter-conf configs/intel/nehalem/i7-920.counters.json \
    --counter-limit=3 \
    gcc.profile \
    -- /path/to/gcc 166.i -o 166.s
  • ./powersleuth profile - scarphase command
  • --scarphase-conf configs/scarphase/example0.conf - contains the configuration settings for the ScarPhase library.
  • --counter-conf configs/counters/list0.json - a list of performance counter to sample
  • --counter-limit - number of available hardware performance counters
  • gcc.profile - output file
  • -- gcc 166.i -o 166.s - command to run (use absolute paths)

2. Plot results

This plots the performance data and the detected phases from the example above.

./powersleuth plot power-heatmap \
    --cpu-info configs/intel/nehalem/i7-920.cfg \
    --profile-frequency 2.4 --thread 0 gcc.profile
  • ./powersleuth plot - scarphase command
  • power-heatmap - subcommand: plots power heatmap
  • --cpu-info configs/intel/nehalem/i7-920.cfg - config for the processor
  • --profile-frequency 2.4 - the frequency the profiling was done at
  • --thread 0 - which thread
  • gcc.profile - profile from example 1

gcc/166

Publications using PowerSleuth

2012

  • Power-Sleuth: A Tool for Investigating your Program's Power Behavior Vasileios Spiliopoulos, Andreas Sembrant and Stefanos Kaxiras. In International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems (MASCOTS'12)

About

A tool to profile and analyze applications' power and performance behavior

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages