Difference between revisions of "ThreadScope Tour"

From HaskellWiki
Jump to navigation Jump to search
(jazz up a little bit)
(module on sequential/parallel consolidation)
Line 27: Line 27:
 
<li>[[ThreadScope_Tour/Profile|Profile]]: examine the profile for a real program</li>
 
<li>[[ThreadScope_Tour/Profile|Profile]]: examine the profile for a real program</li>
 
<li>[[ThreadScope_Tour/Profile2|Profile 2]]: examine the profile for an improved program</li>
 
<li>[[ThreadScope_Tour/Profile2|Profile 2]]: examine the profile for an improved program</li>
<li>[[ThreadScope_Tour/Zoom|Zoom]]: zooming and bookmarking</li></ol>
+
<li>[[ThreadScope_Tour/Zoom|Zoom]]: zooming and bookmarking</li>
 
<li>[[ThreadScope_Tour/Consolidate|Consolidate]]: tease out the sequential parts of code</li></ol>
   
 
== Digging into a program with spark events ==
 
== Digging into a program with spark events ==
   
<ol start="7" style="list-style-type: decimal;">
+
<ol start="8" style="list-style-type: decimal;">
 
<li>[[ThreadScope_Tour/SparkOverview|Spark overview]]
 
<li>[[ThreadScope_Tour/SparkOverview|Spark overview]]
 
<ul>
 
<ul>
Line 48: Line 49:
   
 
# [[ThreadScope_Tour/Trace|Trace]]: custom events
 
# [[ThreadScope_Tour/Trace|Trace]]: custom events
# [[ThreadScope_Tour/Consolidate|Consolidate]]: tease out the sequential parts of code
 

Revision as of 15:51, 9 December 2011


A guided tour of ThreadScope

ThreadScope-ch8.png

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!

Getting Started

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

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
  5. Consolidate: tease out the sequential parts of code

Digging into a program with spark events

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

Reference

Planned

  1. Trace: custom events