小编H. *_*ell的帖子

knuthBendix算法不能通过Control.Parallel并行化?

我正在尝试将knuthBendix应用于大量的重写规则.因此,我尝试让它在不同的集合上并行工作.

例如,我尝试运行:

import Control.Parallel
import Control.Parallel.Strategies
import Math.Algebra.Group.StringRewriting

knuthBendixOptimized rs = as' `par` bs' `pseq` as' ++ bs' where
    (as, bs) = splitAt 3000 rs
    as' = knuthBendix as
    bs' = knuthBendix bs
Run Code Online (Sandbox Code Playgroud)

我编译使用ghc -threaded,我执行通过+RTS -N.如果我并行运行其他算法,它就可以工作.但对于knuthBendix,它没有.

有人知道解决方案吗?

谢谢,弗兰兹

parallel-processing multithreading haskell knuth

3
推荐指数
1
解决办法
190
查看次数