Difference between revisions of "ThreadScope Tour"
Jump to navigation
Jump to search
m |
(try some section thumbnails) |
||
Line 15: | Line 15: | ||
<div class="subtitle">Getting started</div> |
<div class="subtitle">Getting started</div> |
||
− | [[Image:ThreadScope-ch8.png| |
+ | [[Image:ThreadScope-ch8.png|thumb]] |
# [[ThreadScope_Tour/Install|Installation]]: install ThreadScope and run a sample trace |
# [[ThreadScope_Tour/Install|Installation]]: install ThreadScope and run a sample trace |
||
Line 21: | Line 21: | ||
<div class="subtitle">Basic skills</div> |
<div class="subtitle">Basic skills</div> |
||
+ | |||
+ | [[Image:ThreadScope-sudoku2.png|thumb]] |
||
<ol start="3" style="list-style-type: decimal;"> |
<ol start="3" style="list-style-type: decimal;"> |
||
<li>[[ThreadScope_Tour/Statistics|Initial statistics]]: collect some simple statistics</li> |
<li>[[ThreadScope_Tour/Statistics|Initial statistics]]: collect some simple statistics</li> |
||
− | <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> |
<li>[[ThreadScope_Tour/Zoom|Zoom]]: zooming and bookmarking</li> |
||
Line 30: | Line 32: | ||
<div class="subtitle">Digging into a program with spark events</div> |
<div class="subtitle">Digging into a program with spark events</div> |
||
+ | |||
<ol start="8" style="list-style-type: decimal;"> |
<ol start="8" style="list-style-type: decimal;"> |
||
Line 37: | Line 40: | ||
<li>[[:Image:spark-lifecycle.png|Spark lifecycle]]: Lifecycle of a spark</li></ul> |
<li>[[:Image:spark-lifecycle.png|Spark lifecycle]]: Lifecycle of a spark</li></ul> |
||
</li> |
</li> |
||
− | <li>[[ThreadScope_Tour/Spark|Spark rates]]: study spark creation/conversion |
+ | <li>[[ThreadScope_Tour/Spark|Spark rates]]: study spark creation/conversion |
+ | </li> |
||
<li>[[ThreadScope_Tour/Spark2|Spark rates 2]]: spark debugging continued</li> |
<li>[[ThreadScope_Tour/Spark2|Spark rates 2]]: spark debugging continued</li> |
||
</ol> |
</ol> |
Revision as of 18:45, 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!
Getting started
- Installation: install ThreadScope and run a sample trace
- Hello world: run ThreadScope on a small test program
Basic skills
- Initial statistics: collect some simple statistics
- Profile: examine the profile for a real program
- Profile 2: examine the profile for an improved program
- Zoom: zooming and bookmarking
- Consolidate: tease out the sequential parts of code
Digging into a program with spark events
- Spark overview
- GHC RTS flags: a subset of flags relevant to ThreadScope
- Spark lifecycle: Lifecycle of a spark
- Spark rates: study spark creation/conversion
- Spark rates 2: spark debugging continued
Reference
- Downloads: examples used in this tutorial