On 30/11/2008, at 10:43, Sebastian Sylvan wrote:
This, on the other hand does not use more than one core:
-- compiler command line (from shootout code): ghc --make -fcpr-off -
threaded -fdph-par -package dph-base -Odph -XPArr parr2.hs
-- execution as before
main = print $ [: True | n <- [: 1000 .. 5000 :], fac n == 0 :]
Unfortunately, that's not enough to get parallelism. You also need to -
fvectorise the computation, i.e., everything that comes after $ (but
not print because that can't be vectorised yet). At the moment, this
means that you have to split your code in two modules because -
fvectorise is a module-wide flag. Please take a look at dph/examples/
dotp to see how this is done. Sorry that this is so inconvenient at
the moment but we're working on it!
Roman
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe