glmulti - 多核选项?

glmulti - multicore options?

我正在使用 'R' 库 "glmulti" 并执行详尽搜索。

相关代码:

local1.model <- glmulti(est, # use the model with built as a starting point
                        level = 1,  #  just look at main effects
                        method = "h",
                        crit="aicc") # use AICc because it works better than AIC for small sample sizes

变量"est"是一个通知glmulti的拟合GLM。

如果我是一个基于 Java 的程序,必须做同样的事情几十万次,那么我会使用多个内核。

我的 glmulti 没有有效地使用我的内核。

有没有办法切换它以充分利用我的系统?

注意:当我使用 'h2o' 时,它可以最大化 CPU 并且对内存产生很大的影响。

R 是单线程的(除非该函数建立在具有自己的线程的库上)。您可以使用 rparallel 库(核心 R 的一部分)手动将并行化添加到您的代码中:http://stat.ethz.ch/R-manual/R-devel/library/parallel/doc/parallel.pdf

我会 class 它的使用非常重要。它在 R 之上有点 hack,因此它会进行大量内存复制,如果您关心效率,则需要考虑发生了什么。

glmulti 看起来应该是并行的(即每个参数组合都可以并行完成,即使使用遗传算法也是如此)。我的猜测是他们打算添加它,但开发停止了(自 2009 年 9 月以来没有更新)。