第一次在这里发布海报。在发布之前,我阅读了常见问题和发布指南,因此我希望我能以正确的格式发布我的问题。使用doParallel集群(R)在foreach()中发生未知错误(工作器初始化失败:21)
我正在使用R 64位控制台v 3.1.2中的doParallel集群后端运行foreach()任务。在Windows 8上。相关软件包是foreach v。1.4.2和doParallel v。1.0.8。
一些示例代码,给你的,我做什么的想法:
out <- foreach (j = 1:nsim.times, .combine=rbind, .packages=c("vegan")) %dopar% {
b<-oecosimu(list.mat[[j]], compute.function, "quasiswap", nsimul=nsim.swap) ## where list.mat is a list of matrices and compute.function is a custom function
..... # some intermediate code
return(c(A,B)) ## where A and B are some emergent properties derived from object b from above
}
在我的任务之一,我遇到了我以前从未见过的错误。我试图在网上搜索错误,但无法找到任何线索。
错误是:
Error in e$fun(obj, substitute(ex), parent.frame(), e$data) :
worker initialization failed: 21
在有一次我得到这个错误,我停止以前的任务(使用R中控制台停止按钮)之后,但没有通过“关闭集群运行的代码STOPCLUSTER ()”。
在通过'stopCluster()'停止集群并注册一个新集群'makeCluster()'和'registerDoParallel()'后,我再次运行相同的代码,任务运行正常。
有没有人遇到这个错误,或者可能有任何线索/提示,我如何才能找出问题?错误可能与不停止以前的doParallel集群有关吗?
任何帮助或建议非常感谢!
干杯和谢谢!