并联haskell(ghc 6.10.4)不接受-N大于-N1

Ben*_*ord 0 parallel-processing multithreading haskell multicore

我正在尝试在OS X 10.5上的GHC 6.10.4(来自MacPorts)中运行并行代码

我在makefile中使用-threaded构建:

GHC=ghc -prof -auto-all -O -threaded

glicko: glicko.hs Lib.hs
        $(GHC) --make -main-is Glicko glicko.hs lib.hs

当我调用./glicko +RTS -N./glicko +RTS -N1代码运行时,似乎只使用一个CPU.如果我调用as ./glicko +RTS -N2,那么我将获得记录命令行参数的运行时帮助消息; 但是文档表明这应该运行该程序.

为什么-N2不起作用?

这里有更多时间信息:

$ ./glicko +RTS --info
 [("GHC RTS", "YES")
 ,("GHC version", "6.10.4")
 ,("RTS way", "rts_thr_p")
 ,("Host platform", "i386-apple-darwin")
 ,("Host architecture", "i386")
 ,("Host OS", "darwin")
 ,("Host vendor", "apple")
 ,("Build platform", "i386-apple-darwin")
 ,("Build architecture", "i386")
 ,("Build OS", "darwin")
 ,("Build vendor", "apple")
 ,("Target platform", "i386-apple-darwin")
 ,("Target architecture", "i386")
 ,("Target OS", "darwin")
 ,("Target vendor", "apple")
 ,("Word size", "32")
 ,("Compiler unregisterised", "NO")
 ,("Tables next to code", "YES")
 ]

Don*_*art 5

RTS方式","rts_thr_p"

您已使用分析线程编译.探查器仅在具有1个cpu的多核模式下工作(运行时中的分析数据结构尚不是线程安全的).

编译您的程序而不进行分析,您将能够使用超过-N1.

票#886