R

时间:2019-03-19 16:52:21

标签: r parallel-foreach domc

我正在尝试完成以下操作:并行运行3个不同的实验,并且每个实验都使用库dclone进行并行MCMC模拟。总的来说,我想在一台32核的机器上并行运行12个进程(每个实验4个* 3个实验)。

我天真的尝试是:

library(foreach)
library(doMC)
library(dclone)

registerDoMC(3)

foreach(i in 1:3) %dopar% {
  y = generate_data(i)
  cl <- makePSOCKcluster(4)
  mod = parJagsModel(cl, name="Model", file=myfilename)
  samples = parCodaSamples(cl=cl, model="Model")
  stopCluster(cl)
  saveRds(samples, outfile[i])
}

但是我得到的错误是:

Error in { : task 1 failed - "cannot open the connection"

但是,可以很好地执行3个“上层”任务之一(即外部dopar)!

如果我只使用%dopar%而不是%do%,那么效果很好

0 个答案:

没有答案