Najprostszym sposobem na skorzystanie z wieloprocesorów jest pakiet multicore
, który zawiera funkcję mclapply(). mclapply() to wielordzeniowa wersja lapply(). Zatem każdy proces, który może używać lapply(), może być łatwo przekonwertowany do procesu mclapply(). Jednak multicore nie działa w systemie Windows. Napisałem post na blogu o tym last year, który może być pomocny. Pakiet stworzony przez Revolution Analytics, doSMP, NIE jest wielowątkową wersją R. Jest to efektywnie wersja wielordzeniowa systemu Windows.
Jeśli twoja praca to embarrassingly parallel, dobrze jest wygodnie opanować strukturę typu lapply(). Da ci to łatwą zmianę w mclapply(), a nawet rozproszone przetwarzanie przy użyciu tej samej abstrakcji.
Rzeczy stają się znacznie trudniejsze dla operacji, które nie są "żenująco równoległe".
[EDIT]
Na marginesie, Rstudio jest coraz bardziej popularny jako front-end dla R. Kocham Rstudio i używać go codziennie. Jednak należy zauważyć, że Rstudio nie gra fajnie z Multicore (przynajmniej od października 2011 r. ... Rozumiem, że zespół RStudio to naprawi). Dzieje się tak dlatego, że Rstudio wykonuje kilka rozwidleń za kulisami, a te widły są sprzeczne z próbami rozwidlenia Multicore. Więc jeśli potrzebujesz Multicore, możesz napisać swój kod w Rstuido, ale uruchomić go w zwykłej sesji Jane R.
Rewolucje (http://www.revolutionanalytics.com/) oferują wielowątkowych wersji R. oczywiście swoją reklamę status wydaje się mieć polaryzujący efekt w społeczności R. –
Chciałbym również dodać, że wiele typowych zastosowań R nie będzie podatnych na automatyczną równoległość. Jeśli powiesz nam, co robisz, możesz uzyskać lepsze odpowiedzi. –
możliwy duplikat [Korzystanie z Multicore w R dla maszyny Pentium 4 HT] (http://stackoverflow.com/questions/3545559/using-multicore-in-r-for-a-pentium-4-ht-machine) –