我正在R
探索并行编程,我对foreach
函数的工作原理有很好的理解,但我不理解parallel
,{{doparallel
之间的差异1}},doMC
,doSNOW
,SNOW
,multicore
等。
在做了一堆阅读之后,看起来这些软件包的工作方式有所不同,具体取决于操作系统,我看到一些软件包使用了多核这个词,而其他软件包使用了集群(我不确定它们是否有所不同),但除此之外目前还不清楚各自有哪些优点或缺点。
我正在使用Windows,我想使用并行重复权重来计算标准错误,所以我不必一次计算每个复制一个(如果我有n个核,我应该可以重复立刻)。我能够使用doSNOW
实现它,但它看起来像plyr
,R社区通常使用doMC
所以我想知道使用doSNOW
是否是一个错误。< / p>
此致 卡尔
答案 0 :(得分:1)
我的理解是parallel
是snow
和multicore
的集合体,旨在合并两者的最佳部分。
对于单台计算机上的并行计算,我发现parallel
非常有效。
对于使用多台计算机集群的并行计算,我从未成功使用parallel
完成集群设置,但已成功使用snow
。
我从未使用任何do*
套餐,所以我担心我无法发表评论。