我正在尝试将 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
我使用编译ghc -threaded
并通过执行+RTS -N
。如果我并行运行其他算法,它会起作用。但对于 knuthBendix,它没有。
有人知道解决方案吗?
谢谢,弗兰兹