首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让R使用计算机的所有核心?

如何让R使用计算机的所有核心?
EN

Stack Overflow用户
提问于 2011-11-11 17:01:39
回答 2查看 10.8K关注 0票数 14

我读到过R只使用一个CPU。如何让R使用所有可用的内核来运行统计算法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-11 17:26:58

是的,对于初学者,请参阅CRAN上的High Performance Computing任务视图。该表列出了可用于支持单机并行计算的包的详细信息。

从R版本2.14.0开始,通过parallel package内置了对并行计算的支持,其中包括对现有snow多核软件包的略微修改版本。parallel包中有一个您应该阅读的小插曲。您可以使用以下命令查看它:

代码语言:javascript
复制
vignette(package="parallel", topic = "parallel")

还有其他方法可以利用您的多核,例如,通过使用多线程BLAS进行线性代数计算。

这是否会加快您想要进行的“统计计算”,将取决于这些“统计计算”是什么。派生多个线程或工作线程需要开销成本来设置它们、管理它们并收集结果。一些操作看到了使用多核/线程的好处(一些大,一些小),其他的则因为这种额外的开销而变慢了。

简而言之,不要期望通过使用n个内核而不是只使用1个内核来减少n倍的计算时间。

票数 23
EN

Stack Overflow用户

发布于 2011-11-11 17:34:26

如果你碰巧对同一件事进行了很少的*次迭代(或者相同的代码只有几个*不同的参数),最简单的方法就是运行R的几个副本-- OS会将工作分配到不同的内核上。

在相反的情况下,去学习如何使用真正的并行扩展。

对于这个答案,很少意味着内核数量少于或等于内核数量。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8091674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档