Oops! Guess I'm going to have to refine my searching techniques. Thanks, Simon.
Michael

--- On Fri, 5/27/11, Simon Marlow <[email protected]> wrote:

From: Simon Marlow <[email protected]>
Subject: Re: Parallel compilation and execution?
To: "michael rice" <[email protected]>
Cc: "David Virebayre" <[email protected]>, "Daniel Fischer" 
<[email protected]>, [email protected]
Date: Friday, May 27, 2011, 7:08 AM

On 26/05/2011 14:32, michael rice wrote:
> Fair question. I copied the parallel version from:
>
> <http://www.haskell.org/ghc/docs/6.6/html/users_guide/lang-parallel.html>
> http://www.haskell.org/ghc/docs/6.6/html/users_guide/lang-parallel.html

That is the User Guide for GHC 6.6, incidentally.  If you're using a 
later version of GHC (highly recommended especially for parallel stuff), 
then you should look at the docs for your version.

Cheers,
    Simon




>
> <http://www.haskell.org/ghc/docs/6.6/html/users_guide/lang-parallel.html>but
> pulled the non-parallel version from a text.
>
> Michael
>
>
> --- On *Thu, 5/26/11, David Virebayre /<[email protected]>/* wrote:
>
>
>     From: David Virebayre <[email protected]>
>     Subject: Re: [Haskell-cafe] Parallel compilation and execution?
>     To: "michael rice" <[email protected]>
>     Cc: [email protected], "Daniel Fischer"
>     <[email protected]>
>     Date: Thursday, May 26, 2011, 8:56 AM
>
>
>
>     2011/5/26 michael rice <[email protected]
>     </mc/[email protected]>>
>
>         Thank, Daniel
>
>         Multiple threads are in evidence in my system monitor, but I
>         wonder why I'm getting two different answers, one twice the
>         other. The first is the parallel solution and the second is the non.
>
>
>     Why do you add n1+n2+1 in the parallel program, but only n1+n2 in
>     the non-parallel one ?
>
>
>         Michael
>
>         ===========
>
>         {-
>         import Control.Parallel
>
>         nfib :: Int -> Int
>         nfib n | n <= 1 = 1
>         | otherwise = par n1 (pseq n2 (n1 + n2 + 1))
>         where n1 = nfib (n-1)
>         n2 = nfib (n-2)
>         -}
>
>         nfib :: Int -> Int
>         nfib n | n <= 1 = 1
>         | otherwise = nfib (n-1) + nfib (n-2)
>
>         main = do putStrLn $ show $ nfib 39
>
>         =============
>
>         [michael@hostname ~]$ ghc --make -threaded nfib.hs
>         [1 of 1] Compiling Main ( nfib.hs, nfib.o )
>         Linking nfib ...
>         [michael@hostname ~]$ ./nfib +RTS -N3
>         204668309
>         [michael@hostname ~]$ ghc --make nfib.hs
>         [1 of 1] Compiling Main ( nfib.hs, nfib.o )
>         Linking nfib ...
>         [michael@hostname ~]$ ./nfib
>         102334155
>         [michael@hostname ~]$
>
>
>
>
> _______________________________________________
> Haskell-Cafe mailing list
> [email protected]
> http://www.haskell.org/mailman/listinfo/haskell-cafe

_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to