【发布时间】:2014-06-11 11:08:11
【问题描述】:
刚刚安装了一个装有两个 64 位 Intel Xeon X5680 3.33 GHz 处理器(每个 6 核)和 12 GB RAM 的 Windows 机器。我一直在一些大型数据集上使用 SAS,但它太慢了,所以我想设置 R 来进行并行处理。我希望能够进行矩阵运算,例如乘法和求逆。我的大部分数据都不大,3-4 GB 范围,但一个文件大约 50 GB。自从我使用 R 已经有一段时间了,所以我在网上四处查看,包括 CRAN HPC,看看有什么可用的。我认为 foreach 循环和 bigmemory 包将适用。我遇到了这篇文章:Is there a package for parallel matrix inversion in R,其中有一些有趣的建议。我想知道是否有人对 HIPLAR 包有经验。看起来 hiparlm 为矩阵包添加了功能,而 hiplarb 则完全添加了新功能。我的应用程序会推荐其中哪些?此外,还有对 PLASMA 库的参考。这有什么帮助吗?我的矩阵有很多零,所以我认为它们可以被认为是稀疏的。我没有看到任何关于如何将数据从 R 传递到 PLASMA 的示例,并且查看 PLASMA 文档,它说它不支持稀疏矩阵,所以我认为我不需要这个库。我在正确的轨道上吗?对其他方法有什么建议吗?
编辑:看起来 HIPLAR 和包 pbdr 没有帮助。我更倾向于大内存,尽管看起来 I/O 可能是个问题:http://files.meetup.com/1781511/bigmemoryRandLinearAlgebra_BryanLewis.pdf。本文讨论了虚拟关联矩阵的包 vam,但它必须是专有的。 package ff 在这里有什么帮助吗?我的 R 技能还不足以知道要追求的方向。很确定我可以使用 bigmemory 读取此内容,但不确定处理速度会非常快。
【问题讨论】:
-
ff 不会对矩阵运算有太大帮助。它更适合矩形对象。对于矩阵运算,你应该考虑r-pbd.org,即pbdDMAT包