Как сделать R, используя более 1 ядра (8 доступных) на сервере Ubuntu Rstudio?

Я хочу запустить glmer процедура в lme4 пакет на большом наборе данных (250000 наблюдений). Модель занимает более 15 минут, чтобы работать на ноутбуке. Мы используем сервер Rstudio на основе Ubuntu. Проблема в том, что на этом сервере доступно 8 ядер, но когда я запускаю glmer Процедура, только 1 из них используется, и это займет более 1 часа, чтобы получить результаты... Как я могу решить эту проблему и повысить эффективность времени? Я нашел в Google, мне, возможно, придется использовать parallel процедура, но я совсем не знаком с этими процедурами информатики, и они кажутся мне очень сложными... Может кто-нибудь помочь с простой процедурой для решения проблемы?

Я знаю, что они уже были вопросами по этой теме, но это было 7 лет назад ( пакет R, который автоматически использует несколько ядер?) Или 3 года назад ( Как я могу заставить R использовать больше ЦП и памяти?). Я знаю, что пакеты и процедуры R развиваются, и мне нужна ваша помощь в обновлении этой темы (и, надеюсь, простое, простое решение).

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)
Другие вопросы по тегам