Personal tools

ThreadScope Tour

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
(more prominent links to TS)
(make it a bit clearer that this is *the* user's guide)
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
''A guided tour of [[ThreadScope]]''
+
''A guided tour of ThreadScope''
   
In this tutorial, we'll be working through concrete examples on using ThreadScope to debug the performance of parallel programs.
+
Want to get the best performance out of your parallel Haskell program? [[ThreadScope]] is just the tool for the job. We in the ThreadScope
  +
team have put together a little user guide to help you get started and
  +
hopefully make the most of ThreadScope.
   
We aim to keep each module in the tutorial self-contained, so you can either follow the progression suggested or jump to just the sections we need.
+
In this tutorial, we'll be working through concrete examples on using ThreadScope to debug the performance of parallel programs. We aim to keep each module in the tutorial self-contained, so you can either follow the progression suggested or jump to just the sections we need.
   
 
<div class="subtitle">Software</div>
 
<div class="subtitle">Software</div>

Revision as of 07:40, 17 May 2012

A guided tour of ThreadScope

Want to get the best performance out of your parallel Haskell program? ThreadScope is just the tool for the job. We in the ThreadScope team have put together a little user guide to help you get started and hopefully make the most of ThreadScope.

In this tutorial, we'll be working through concrete examples on using ThreadScope to debug the performance of parallel programs. We aim to keep each module in the tutorial self-contained, so you can either follow the progression suggested or jump to just the sections we need.

Software

This tutorial is written with the following software versions in mind.

  • ThreadScope 0.2.1
  • GHC 7.4. (earlier versions work, but lack more advanced features like spark events)
Getting started
ThreadScope-ch8.png
  1. Installation: install ThreadScope and run a sample trace
  2. Hello world: run ThreadScope on a small test program
Basic skills
ThreadScope-sudoku2.png
  1. Initial statistics: collect some simple statistics
  2. Profile: examine the profile for a real program
  3. Profile 2: examine the profile for an improved program
  4. Zoom: zoom in to see performance behaviour at a finer resolution
  5. Bookmark: place a temporary marker in the eventlog
  6. Consolidate: tease out the sequential parts of code
Digging into a program with spark events
Spark-lifecycle.png
  1. Spark overview
  2. Spark rates: study spark creation/conversion
  3. Spark rates 2: spark debugging continued
Reference

This tutorial was initially written by Well-Typed in the context of the Parallel GHC Project. Feedback would be most appreciated!