Difference between revisions of "ThreadScope Tour/Run"
Jump to navigation
Jump to search
(→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