Как сделать 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)