如何在Ubuntu Rstudio服务器上使用超过1个核心(8个可用)进行R?

时间:2018-01-18 06:43:05

标签: r lme4 rstudio-server cpu-cores rparallel

我想在glmer包中对大型数据集(250,000个观察点)运行lme4过程。该模型需要超过15分钟才能在笔记本电脑上运行。我们正在使用基于Ubuntu的Rstudio服务器。问题是这台服务器上有8个内核,但是当我运行glmer程序时,只有1个正在使用,并且需要1个多小时才能得到结果......我怎样才能解决这个问题提高时间效率?我在谷歌上发现我可能不得不使用parallel程序,但我对这些信息学程序并不熟悉,它们看起来非常复杂......任何人都可以通过一个简单的程序来解决这个问题吗? / p>

我知道他们已经就这个话题提出了问题,但那是7年前(R package that automatically uses several cores?)或3年前(How can I make R use more CPU and memory?)。我知道R包和程序正在发展,我希望得到你对这个主题的更新的帮助(希望是一个简单易用的解决方案)。

1 个答案:

答案 0 :(得分:1)

以下内容会有所帮助吗?

library(parallel)
f <- function(i) {
  lmer(Petal.Width ~ . - Species + (1 | Species), data = iris)
}
cls <- makeCluster(detectCores())
clusterEvalQ(cls, library(lme4))
mod <- parLapply(cls, 1, f)
stopCluster(cls)