使用mclapply的并行包只能使用2个内核而不是全部4个内核

时间:2014-12-04 17:56:20

标签: r parallel-processing

我有这个示例数据

library("parallel")
DV<-runif(1000,min=-5,max=5)
RV_1<-runif(1000,min=-5,max=5)
RV_2<--runif(1000,min=-5,max=5)
df<-data.frame(DV,RV_1,RV_2)
fun<-function(x){
  n<-neuralnet(DV~RV_1+RV_2,data=df,hidden=x)
  return(n)
}

如果我使用例如

mclapply(c(1:5),fun)

任务管理器显示只有2个核心可以100%运行。 但如果我检查一下

detectCores()

它可以看到所有4个核心。 有什么建议如何解决? 我买了新的i5-4960k以提高我的计算速度,但这种方式不会好多少。谢谢任何人

1 个答案:

答案 0 :(得分:0)

使用mclapply解决(c(1:5),fun,mc.cores = 4)