我一直在尝试在具有8个固定项+ 2个二次项和随机截距的线性混合模型(pdredge
中的MuMIn
)上使用lmer
中的lme4
(7个级别)作为在使用16个内核的超级计算机上的试用。
我想检查并行化是否在我的情况下节省了时间,所以我用以下方法运行了相同的模型:
p1 <- print(system.time(dredge(m_BCI_mock_2, subset = subset)))
p2 <- print(system.time(pdredge(m_BCI_mock_2, cluster = FALSE, subset = msubset)))
p3 <- print(system.time(pdredge(m_BCI_mock_2, cluster = clust, subset = msubset)))
如果在笔记本电脑上使用R,一切正常,并且并行化可以减少运行时间:
> p1
user system elapsed
17.45 0.36 17.53
> p2
user system elapsed
20.01 0.30 20.50
> p3
user system elapsed
0.23 0.03 6.75
模型输出在那里,一切运行都没有警告。
在超级计算机上使用SLURM并运行作业时,前两种方法都可以正常工作,但是尝试使用并行化(p3)会出现以下错误:
在checkConv(attr(opt,“ derivs”),opt $ par,ctrl = control $ checkConv,中: 模型无法与max | grad |收敛= 0.0026257(tol = 0.002,组件1)
但是所有型号仍然产生与在笔记本电脑上运行相同的结果。
为什么仅在尝试使用并行模型选择并且仅作为批处理作业时才出现模型收敛性问题?鉴于模型输出是相同的,并且在笔记本电脑上的R中运行时没有警告,我是否需要担心这一点?
使用R 3.6.1
和MuMIn 1.43.17