首页 > 解决方案 > 在 DoMC 中使用 DoMC

问题描述

doMC我想使用和并行完成不同的任务foreach。我的工作流程如下所示:我想并行启动六个任务,效果很好。棘手的一点是这些任务之一包含也可以并行化的子任务。这可能吗?我的代码如下所示:

library(foreach) ##https://stackoverflow.com/questions/31137842/run-multiple-r-scripts-simultaneously
library(doMC)

registerDoMC(9)
modelList <- list("a.R","b.R","c.R","d.R","e.R","f.R")

out <- foreach(x=modelList, .verbose=TRUE) %dopar%{
  source(x)
}

a.R还包含一个foreach

task.list <- c("task1","task2","task3")

registerDoMC(3)
result.list <- foreach(c = 1:length(country),.verbose = TRUE) %dopar%{
                 some crazy stuff
}

如果这是有道理的。我应该如何以及在什么时候注册核心数量?我需要九个。那么我应该只在开始时分配它们并将其留在a.R吗?

谢谢您的帮助。

标签: r

解决方案


推荐阅读