Giter VIP home page Giter VIP logo

stat's Introduction

STAT Logo STAT: the Stack Trace Analysis Tool

Build Status codecov

OVERVIEW

The Stack Trace Analysis Tool (STAT) is a highly scalable, lightweight tool that gathers and merges stack traces from all of the processes of a parallel application to form call graph prefix trees. STAT generates two prefix trees termed 2D-trace-space and 3D-trace-space-time. The 2D-trace-space prefix tree is a merge of a single stack trace from each task in the parallel application. The 3D-trace-space-time prefix tree is a merge of several stack traces from each task gathered over time. The latter provides insight into whether tasks are making progress or are in a hang state (livelock, deadlock, infiite loop, etc.). The call graph prefix trees also identify processes equivalence classes, processes exhibitin similar behavior with respect to their call paths. A representative task from each equivalence class can then be fed into a full-featured debugger for root cause analysis at a manageable scale.

STAT's source code also includes STATBench, a tool to emulate STAT. STATBench enables the benchmarking of STAT on arbitrary machine architectures and applications by fully utilizing parallel resources and generating artificial stack traces.

License

STAT is released under the Berkeley Software Distribution (BSD) license. Please see LICENSE for usage terms.

BUILDING STAT

STAT has several dependent libraries that must be installed:

In addition, the STAT GUI requires Python with PyGTK, both of which are commonly preinstalled with many Linux operating systems. STAT can be built with Python 2.X and PyGTK 2.X. However, starting with STAT version 4.0.1, STAT can optionally be built with Python 3.X. The use of Python 3.X also requires PyGTK version 3.X and requires you to manually install the xdot package.

Please refer to INSTALL for detailed instructions on building STAT. The reccomended method for building STAT is to use the Spack package manager with the following commands:

git clone https://github.com/spack/spack.git
cd spack
./bin/spack install stat

For STAT 4.0.1 and beyond, the spack build of STAT requires Python 3 and will require the activation of the py-xdot package:

./bin/spack activate py-xdot

For versions up to and including STAT 4.0.0, the spack build of STAT requires Python 2 and requires the activation of the py-pygtk and py-enum34 packages:

./bin/spack activate py-pygtk
./bin/spack activate py-enum34

SUPPORTED PLATFORMS

STAT is able to run on any machine where all of the dependent libraries run. This currently includes:

  • IBM BlueGene/L
  • IBM BlueGene/P
  • IBM BlueGene/Q
  • x86-based architectures with SLURM
  • x86-based architectures with OpenMPI
  • Cray XT
  • Cray XE
  • Cray XK

CONTACT

Please direct any questions to Gregory Lee.

stat's People

Contributors

alkino avatar dongahn avatar ianlee1521 avatar johnlvogt avatar lee218llnl avatar moguzhankarakaya avatar mplegendre avatar roblatham00 avatar wslack avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.