ThreadScope Tour/Run: Difference between revisions
(→Steps: remove past-o) |
m (→Steps) |
||
Line 31: | Line 31: | ||
<pre> ./hellofib +RTS -N2</pre></li> | <pre> ./hellofib +RTS -N2</pre></li> | ||
<li><p>View its trace</p> | <li><p>View its trace</p> | ||
<pre>threadscope hellofib.eventlog # on Windows, hellofib.exe.eventlog</pre></li></ol> | <pre>threadscope hellofib.eventlog # on Windows, may be hellofib.exe.eventlog</pre></li></ol> |
Revision as of 17:18, 7 December 2011
Objective
Run ThreadScope on a sample program and get a trace.
Steps
Copy the following parallel code to hellofib.hs
import Control.Parallel.Strategies import System.Environment fib 0 = 1 fib 1 = 1 fib n = runEval $ do x <- rpar (fib (n-1)) y <- rseq (fib (n-2)) return (x + y + 1) main = do args <- getArgs n <- case args of [] -> return 20 [x] -> return (read x) _ -> fail ("Usage: hellofib [n]") print (fib n)
Build hellofib.hs
ghc -O2 -rtsopts -eventlog -threaded hellofib
Run hellofib
./hellofib +RTS -N2
View its trace
threadscope hellofib.eventlog # on Windows, may be hellofib.exe.eventlog