相关疑难解决方法(0)

Repa 2和3 API之间的主要区别是什么?

更具体地说,我有以下看似无害的小修复3程序:

{-# LANGUAGE QuasiQuotes #-}

import Prelude hiding (map, zipWith)
import System.Environment (getArgs)
import Data.Word (Word8)
import Data.Array.Repa
import Data.Array.Repa.IO.DevIL
import Data.Array.Repa.Stencil
import Data.Array.Repa.Stencil.Dim2

main = do
  [s] <- getArgs
  img <- runIL $ readImage s

  let out = output x where RGB x = img
  runIL . writeImage "out.bmp" . Grey =<< computeP out

output img = map cast . blur . blur $ blur grey
  where
    grey              = traverse img to2D luminance
    cast n            = floor n :: …
Run Code Online (Sandbox Code Playgroud)

parallel-processing haskell image-processing repa data-parallel-haskell

11
推荐指数
2
解决办法
772
查看次数

写"fib"并行运行:-N2比较慢?

我正在学习Haskell并尝试编写代码以并行执行,但Haskell总是按顺序运行它.当我使用-N2运行时标志执行时,执行的时间比省略此标志要多.

这是代码:

import Control.Parallel
import Control.Parallel.Strategies

fib :: Int -> Int
fib 1 = 1
fib 0 = 1
fib n = fib (n - 1) + fib (n - 2)

fib2 :: Int -> Int
fib2 n = a `par` (b `pseq` (a+b))
    where a = fib n
          b = fib n + 1

fib3 :: Int -> Int
fib3 n = runEval $ do
                a <- rpar (fib n)
                b <- rpar (fib n + 1) …
Run Code Online (Sandbox Code Playgroud)

parallel-processing haskell ghc

7
推荐指数
1
解决办法
537
查看次数