我看到过 R 只使用单个 CPU 的信息。如何让 R 使用所有可用的核心来运行统计算法?
首先,您可以查看CRAN上的高性能计算任务视图。此视图列出了可用于支持单台计算机上并行计算的软件包的详细信息。
R版本2.14.0及以上版本提供了内置的并行计算支持,使用parallel软件包,其中包含现有snow和multicore软件包的略微修改版本。 parallel软件包有一个vignette文档,您应该阅读。您可以使用以下命令查看:
vignette(package="parallel", topic = "parallel")
除了使用多线程的BLAS进行线性代数计算外,还有其他利用多个内核的方法。
无论这些“统计计算”是否能加速取决于它们是什么。创建多个线程或工作进程会带来额外的开销,包括设置它们、管理它们和收集结果。有些操作因使用多个内核/线程而受益(有些大,有些小),而其他操作由于额外的开销而变慢。
简而言之,不要期望通过使用n个内核而不是1个内核,将计算时间降低n倍。
vignette(package =“parallel”,topic =“parallel”)
。对我来说,如果我不添加topic =
,它只会列出vignette。 - Xu Wangvignnette
代码行在我这里是可以工作的,至少在 R v 3.0.3 下是可以的。 - Gavin Simpson