我有一个关于r-并行计算的问题。我用的是:
cl.tmp = makeCluster(10, type="SOCK")
registerDoParallel(cl.tmp)
AA <- foreach(i = 1:48, .inorder = TRUE, .combine = rbind, .verbose=TRUE) %dopar% {
# A function that depends on some selected objects in current environment
}
stopCluster(cl.tmp)
如何识别当前环境中的某些特定对象,将其分布到处理器内核中,从而用于某些功能?我不需要R将环境中的整个对象复制到不同的核中,只需要一些选定的对象。在我的项目中,我有大的R对象,我不需要将它们复制/分发到内核中,以避免ram问题。有解决办法吗?
谢谢
看一下这个:在R
中使用foreach读取全局变量只有在foreach循环中引用的变量才会从全局环境中复制。