【问题标题】:Current status of automatic parallelism in Haskell [duplicate]Haskell中自动并行的现状[重复]
【发布时间】:2011-06-09 17:29:24
【问题描述】:

可能重复:
What's the status of multicore programming in Haskell?

特别是在 GHC 中的状态如何?它是不是很流行,还是还在试验阶段?

编译器在决定何时以及如何进行并行化时有多谨慎/细粒度?运行时是否适当地选择了线程池的大小,还是我们必须通过命令行指定?

【问题讨论】:

  • 天哪,谁刚刚对我投了反对票?我失去了 2 次代表!!!

标签: optimization haskell parallel-processing multicore ghc


【解决方案1】:

长答案是 Don 的回复中链接的论文。简短的回答:

  1. GHC 不会自动并行化您的程序。

  2. 但是,通过 par 组合器引入并行性变得非常容易。对此的更高级别接口是提到的"strategies" Don。

  3. 简单地添加par 是否会加速你的程序很大程度上取决于你的算法。好处是,没有陷阱——你不能引入死锁或竞争(除非你在欺骗类型系统)。

【讨论】:

    【解决方案2】:

    GHC 目前的调度、线程池和迁移策略在论文“Runtime Support for Multicore Haskell”中有描述。在撰写本文时,“策略”风格-自动并行已被广泛使用。

    【讨论】:

      【解决方案3】:

      也许你所说的“自动并行”是指Data Parallel Haskell?据我所知,从 2010 年 4 月起,a video presentation by Simon Peyton Jones 提供了有关此项目的最新信息。

      【讨论】:

        猜你喜欢
        • 2014-11-22
        • 2013-02-22
        • 1970-01-01
        • 2012-10-08
        • 1970-01-01
        • 2019-10-04
        • 1970-01-01
        • 1970-01-01
        • 2011-08-01
        相关资源
        最近更新 更多