Multi-Core Haskell no Windows
-
05-07-2019 - |
Pergunta
Estive lendo uma série de tutoriais em Haskell. No entanto, eu não tenho sido capaz de obter o aplicativo compilado para rodar em um multicore (Eu tenho um Core Intel Quad) em Windows (32 bits) .
Eu tentei uma série de coisas:
Mas sem sorte.
O aplicativo compilado é executado 100% em apenas um núcleo.
Todas as idéias?
Código:
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)
Solução
Se vili está correta (eu não posso teste como eu não possuo quaisquer caixas de MS), que pode estar relacionado com este bug
Outras dicas
Usando par em vez de pseq parece corrigi-lo.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow