33得票1回答
在数据并行 Haskell 中,PArray 和 [::] 有什么区别?

我一直在研究Data Parallel Haskell,发现了两种不同的并行数组类型。在研究论文中,[::]类型似乎更常见,也似乎是理想的类型,但是PArray似乎无处不在。该主题的维基页面非常清楚地表明,[::]类型的数组不能传递给未矢量化的代码。为什么?为什么会有这个中间的PArray类型...

12得票2回答
如何在GHC中协助SpecConstr?

我正在使用GHC 7.4.1尝试编译一个使用Repa的程序。但是在编译过程中,我的内存不足了。通过ghc -v,我可以看到它卡在了SpecConstr阶段。 SpecConstr是GHC的核心转换之一。Simon Peyton Jones在这里有一个很好的描述,这里here有一些代码,但对于...

11得票2回答
Repa 2和3 API之间的主要区别是什么?

更具体地说,我有以下看起来无害的小 Repa 3 程序:{-# LANGUAGE QuasiQuotes #-} import Prelude hiding (map, zipWith) import System.Environment (getArgs) import Data.Word...

9得票1回答
为什么在DPH程序中会出现“无法将表达式GHC.Prim.Int#向量化”的错误?

我想用DPH实现N皇后问题,但最终遇到了“无法对GHC.Prim.Int#进行向量化”的错误。当我在Google上搜索这个错误时,我发现一个GHC bug,它讨论了用于模式匹配的文本向量化(http://haskell.1045720.n5.nabble.com/GHC-5702-Can-t-...

7得票1回答
Repa和DPH的区别

我最近阅读了有关vector和DPH库中即将到来的广义流融合的论文。这似乎是非常有趣的发展。我现在开始尝试使用DPH(从GHC 7.6开始,并计划在7.8 SIMD版本发布后升级)。我还从Repa库文档中看到它可以处理并行数组工作。与DPH相比,Repa似乎是成熟版本,因为截至GHC 7.4时...