[Haskell-cafe] Parallel compilation and execution?

michael rice nowgate at yahoo.com
Fri May 27 02:23:43 CEST 2011


Are the tools of Control.Parallel comparable to OpenMP?
Michael

--- On Thu, 5/26/11, michael rice <nowgate at yahoo.com> wrote:

From: michael rice <nowgate at yahoo.com>
Subject: Re: [Haskell-cafe] Parallel compilation and execution?
To: "David Virebayre" <dav.vire+haskell at gmail.com>
Cc: "Daniel Fischer" <daniel.is.fischer at googlemail.com>, haskell-cafe at haskell.org
Date: Thursday, May 26, 2011, 9:32 AM

Fair question. I copied the parallel version from:

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 <dav.vire+haskell at gmail.com> wrote:

From: David Virebayre <dav.vire+haskell at gmail.com>
Subject: Re:
 [Haskell-cafe] Parallel compilation and execution?
To: "michael rice" <nowgate at yahoo.com>
Cc: haskell-cafe at haskell.org, "Daniel Fischer" <daniel.is.fischer at googlemail.com>
Date: Thursday, May 26, 2011, 8:56 AM



2011/5/26 michael rice <nowgate at yahoo.com>

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 -> Intnfib 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 at hostname ~]$ ghc --make -threaded nfib.hs
[1 of 1] Compiling Main             ( nfib.hs, nfib.o )Linking nfib ...
[michael at hostname ~]$ ./nfib +RTS -N3204668309[michael at hostname ~]$ ghc --make nfib.hs
[1 of 1] Compiling Main             ( nfib.hs, nfib.o )Linking nfib
 ...[michael at hostname ~]$ ./nfib102334155[michael at hostname ~]$ 




-----Inline Attachment Follows-----

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe at haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20110526/35b0e1b2/attachment.htm>


More information about the Haskell-Cafe mailing list