Personal tools

ThreadScope Tour

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
(feedback link)
m
Line 12: Line 12:
 
* GHC 7.4 or higher. You could try earlier versions, but more advanced features such as spark events will not available
 
* GHC 7.4 or higher. You could try earlier versions, but more advanced features such as spark events will not available
   
''This tutorial was initially written by Well-Typed in the context of the [[Parallel GHC]] project. [mailto:eric@well-typed.com Feedback] would be most appreciated!''
+
''This tutorial was initially written by Well-Typed in the context of the [[Parallel GHC Project]]. [mailto:eric@well-typed.com Feedback] would be most appreciated!''
   
 
== Getting Started ==
 
== Getting Started ==

Revision as of 11:06, 9 December 2011


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.

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.

Note that you will need:

  • ThreadScope 0.2.1 or higher
  • GHC 7.4 or higher. You could try earlier versions, but more advanced features such as spark events will not available

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

1 Getting Started

  1. Installation: install ThreadScope and run a sample trace
  2. Hello world: run ThreadScope on a small test program

2 Basic skills

  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: zooming and bookmarking

3 Digging into a program with spark events

  1. Spark overview
  2. Spark rates: study spark creation/conversion
  3. Spark rates 2: spark debugging continued

4 Reference

5 Planned

  1. Trace: custom events
  2. Consolidate: tease out the sequential parts of code