多CPU Windows机器上的R并行

多CPU Windows机器上的R并行,r,parallel-processing,R,Parallel Processing,R能否正确识别多CPU上的所有内核?我们正在用Intel CPU设计一个并行计算系统,在一个主板上使用两个CPU。两个CPU之间总共有32个核(每个CPU 8个物理核,每个CPU最多16个逻辑核) 在我们花钱之前,我想确认一下,我的R代码将识别并访问所有(或几乎所有)核心(通常,我将除1之外的所有核心都放入集群)。我正在Win 10 Pro 64位工作站上成功地使用R doParallel和foreach软件包,该工作站有一个4核CPU和8个逻辑核。我可以毫无困难地运行我的R代码并请求7个内核。

R能否正确识别多CPU上的所有内核?我们正在用Intel CPU设计一个并行计算系统,在一个主板上使用两个CPU。两个CPU之间总共有32个核(每个CPU 8个物理核,每个CPU最多16个逻辑核)


在我们花钱之前,我想确认一下,我的R代码将识别并访问所有(或几乎所有)核心(通常,我将除1之外的所有核心都放入集群)。我正在Win 10 Pro 64位工作站上成功地使用R doParallel和foreach软件包,该工作站有一个4核CPU和8个逻辑核。我可以毫无困难地运行我的R代码并请求7个内核。

您应该能够在R中使用所有内核。R成功识别我的笔记本电脑和data science服务器上的所有可用内核

一旦您访问了要使用的其中一台计算机,您就可以从
并行
软件包中通过
detectCores()
函数了解R识别的核数

library(parallel)
detectCores()

退一步,您可能需要重新考虑系统的体系结构。如果您必须运行非常密集的程序,以至于需要大量多线程机器,您可能需要考虑重新编写代码以提高效率,或者集成
Rcpp
或使用其他语言。

您应该能够在R中使用所有内核。R成功识别我的笔记本电脑和数据科学服务器上的所有可用内核

一旦您访问了要使用的其中一台计算机,您就可以从
并行
软件包中通过
detectCores()
函数了解R识别的核数

library(parallel)
detectCores()

退一步,您可能需要重新考虑系统的体系结构。如果你必须运行一个需要大量多线程机器的高强度程序,你可能需要考虑重新编写代码以提高效率,或者集成
Rcpp
,或者换一种不同的语言。

我想他还没有买这台计算机。@F.PrivéGood point,我编辑我的答案是为了让它更普遍适用。我想他还没有买这台电脑。@F.PrivéGood point,我编辑我的答案是为了让它更普遍适用。你也可以使用windows linux子系统来运行本机ubuntu。linux上的R中有更多的并行选项,并且运行子系统的开销很小。您也可以使用windows linux子系统来运行本机ubuntu。linux上的R中有更多的并行选项,并且运行子系统的开销很小。