1

我正在尝试将并行计算选项添加到基于 doMC 和多核的 R (netresponse) 包中。该脚本工作正常,但仅在第二次试用时。

要重现该错误,请启动 R 并运行以下脚本。它卡在最后一行。用 ctrl-c 打断后,我收到几条“选择:系统调用中断”的消息。然后,再次运行相同的脚本将给出预期的结果而不会出现问题。

是否需要进一步初始化才能在第一次运行时正常工作?或者有什么其他技巧吗?

感谢您的支持,-L


require(netresponse)
require(multicore)
require(doMC)   
registerDoMC(3)
print(getDoParWorkers())
res <- foreach(i = 1:100, .combine = cbind, 
        .packages = "netresponse") %dopar% netresponse::vdp.mixt(matrix(rnorm(1000), 100, 10))
4

2 回答 2

1

以下是 netresponse 包帮助页面中的依赖项列表:“依赖:方法、igraph、graph、minet”。我怀疑您并没有通过在.packages论点中列出“网络响应”来将所有这些都传达给工人。

于 2011-07-15T20:20:07.380 回答
0

foreach %dopar% 问题的快速解决方法是重新安装这些软件包:

install.packages("doSNOW")

install.packages("doParallel") 

install.packages("doMPI")

正如 StackOverflow 的各种线程中所提到的,这些线程负责 R 中的并行性。这些包的旧版本中存在的错误现在已被删除。我应该提一下,即使您没有在项目/包中使用这些包,它也很可能会有所帮助。

于 2017-08-21T09:00:55.290 回答