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.
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)
- Installation: install ThreadScope and run a sample trace
- Hello world: run ThreadScope on a small test program
- Initial statistics: collect some simple statistics
- Profile: examine the profile for a real program
- Profile 2: examine the profile for an improved program
- Zoom: zoom in to see performance behaviour at a finer resolution
- Bookmark: place a temporary marker in the eventlog
- Consolidate: tease out the sequential parts of code
- Spark overview
- Spark rates: study spark creation/conversion
- Spark rates 2: spark debugging continued
- Downloads: examples used in this tutorial