2009-03-08 10 views
5

私はtutorialsonハスケルの番号を読んできました。しかし、私はウィンドウ(32ビット)にマルチコア(私はインテルクアッドコアを持っています)で動作するコンパイルされたアプリケーションを手に入れることができませんでした。Windows上のマルチコアHaskell

は、私は多くのことを試してみました:

しかし、運を。

コンパイルされたアプリケーションは、1つのコアでのみ100%実行されます。

アイデア?

コード:

import Control.Parallel 
import Control.Monad 
import Text.Printf 

fib :: Int -> Int 
fib 0 = 0 
fib 1 = 1 
fib n = l `pseq` r `pseq` l+r 
    where 
    l = fib (n-1) 
    r = fib (n-2) 

main = forM_ [0..350] $ \i -> 
     printf "n=%d => %d\n" i (fib i) 
+0

に関連するかもしれないが、あなたが実行しようとしているコードを追加してもらえますか? – vili

+0

32ビットまたは64ビットを実行していますか?それはおそらく重要です。 – MarkusQ

+0

両方のコミットの更新された質問 – cbrulak

答えて

5

VILIが(私はMSボックスを所有していないとして、私はテストすることはできません)正しい場合、それはthis bug

6

パーを使用する代わりに、PSEQそれを修正するようです。

+0

あなたはWindowsを実行していますか?それは私のために何もしなかったので – cbrulak

関連する問題