2012-06-20 2 views
3

Мне нужно выполнить параллельную обработку на Intel i7 (8 ядер) и использовать Ubuntu 12.04 (64 бит) с R2.15.0 (из RStudio). Я сделал это успешно в течение нескольких недель, но начиная с вчерашней попытки параллельной R-обработки замедляет обработку, поэтому она почти мертва. Сам компьютер так же велик, как и когда-либо (просмотр веб-страниц и т. Д.), Но R просто ждет и ждет. Обычно я обновляю Ubuntu (Update Manager) каждый день, но не уверен, что это актуально здесь.mclapply, но не lapply останавливается R

Этот код останавливает работу моего R. Пожалуйста, не запускайте его, если вы не в порядке с разбивающихся R, и знаете, как использовать «УБИТЬ -9» ...

library(parallel) 
library(gsubfn) 

doSomething <- function(xx) { 
    test <- 16 
    return(test) 
} 

in.list <- list(1, 2, 3) 

out.list.1 <- lapply(in.list, doSomething)    # Works well (< 1s) 
out.list.2 <- mclapply(in.list, doSomething)    # Takes tens of minutes 
out.list.3 <- mclapply(in.list, doSomething, mc.cores=1) # Works well (< 1s) 
out.list.4 <- mclapply(in.list, doSomething, mc.cores=2) # Takes tens of minutes 

После долгих испытаний и «убить -9», я думаю, что я изолирован проблема с «library (gsubfn)». Он автоматически загружает «Загрузка требуемого пакета: прото Загрузка требуемого пространства имен: tcltk Загрузка интерфейса Tcl/Tk ... сделано»

мне нужен gsubfn-пакет, так что это не вариант, чтобы исключить его. Можно ли что-либо сделать, чтобы избежать этой проблемы?

Спасибо всем, кто внес вклад в R-tag!

/Chris

+1

'mclapply' берет начало в пакете' multicore'. В прошлом (по крайней мере), 'Rstudio' не поддерживал' multicore' [см. Здесь] (http://support.rstudio.org/help/discussions/questions/82-multicore-package-calls-within-rstudio) , Что произойдет, если вы запустите этот скрипт вне 'Rstudio? ' – mnel

+0

Проблема также возникает вне RStudio. –

ответ

1

Этот код все работает отлично и мгновенно для меня. Я запускаю R 3.0.2 под Fedora 20, используя более старую машину, чем ваша. Возможно, вам нужно обновить свою установку R и повторите попытку.

Как и в предыдущем комментарии, всегда выполняйте параллельный код с терминала R. Я выполняю большую работу mclapply и редко или никогда не работает в RStudio.

Смежные вопросы