Я хочу полностью заполнить различные задачи параллельно, используя 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
?
Спасибо за вашу помощь.