【问题标题】:How do I determine which parallel processing package for R to use? [closed]如何确定 R 使用哪个并行处理包? [关闭]
【发布时间】:2015-10-21 18:53:45
【问题描述】:

我正在探索R 中的并行编程,我对foreach 函数的工作原理有很好的理解,但我不明白parallel,doparallel,doMC,@987654326 之间的区别@,SNOW,multicore

在做了一堆阅读之后,似乎这些包的工作方式因操作系统而异,我看到一些包使用多核这个词,而另一些则使用集群(我不确定它们是否不同),但除此之外目前尚不清楚它们各自有什么优点或缺点。

我正在使用 Windows,我想使用并行复制权重计算标准误差,因此我不必一次计算每个复制(如果我有 n 个内核,我应该能够一次执行 n 个复制)。我可以使用doSNOW 来实现它,但它看起来像plyr,而R 社区通常使用doMC,所以我想知道使用doSNOW 是否是一个错误。

问候, 卡尔

【问题讨论】:

  • 我倾向于使用parallel,但我不知道哪个是“最好的”

标签: r parallel-processing parallel-foreach


【解决方案1】:

我的理解是parallelsnowmulticore 的集合体,旨在合并两者的最佳部分。

对于单机并行计算,我发现parallel 非常有效。

对于使用多台机器的集群进行并行计算,我从未成功使用parallel 完成集群设置,但使用snow 成功。

我从未使用过任何do* 软件包,所以恐怕无法发表评论。

【讨论】:

  • 单机多核并行设置和集群设置一样吗?我想在我的电脑上简单地使用核心,但我必须使用的功能是makeCluster所以我设置并行不正确还是我误解了核心和集群之间的区别?
  • 一个集群是一组核心。因此,如果您在一台计算机上使用 4 个内核,那么您将拥有一个由 4 个内核组成的集群。如果您在本地计算机上使用 4 个内核,在远程计算机上使用 4 个内核,则您拥有一个由 8 个内核组成的集群。 makeCluster 只是将内核绑定在一起并协调发送到每个内核的信息的机制。据我所知,听起来你做得对。
猜你喜欢
  • 2022-08-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-20
  • 2021-07-28
  • 2017-07-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多