2016-11-04 37 views
5

Jestem na Win7 OS z R 3.3.1 w Rstudio. Zamiarem jest użycie glmnet z przetwarzaniem równoległym. Z pomocą ?glmnet:Jak używać doMC w Windows lub alternatywnej implementacji przetwarzania równoległego dla glmnet?

parallel: Jeśli TRUE używać równoległego foreach aby dopasować każdą fałdę. Musi zarejestrować się równolegle przed strony, takie jak doMC lub innych. Zobacz przykład poniżej: .

Od odwołania przykład:

# Parallel 
require(doMC) 
registerDoMC(cores=4) 

install.packages('doMC') powraca pakiet nie jest dostępny. Ręczne sprawdzenie pod numerem CRAN umożliwia pobranie kodu UNIX, ale pliki binarne systemu Windows nie są dostępne.

Czy mogę nadal używać doMC jak kodu pod moim Win7 OS lub co jest użyteczną alternatywą?

Odpowiedz

8

Jak napisano w winieta do doMC

Pakiet doMC działa jako interfejs między foreach i funkcjonalności wielordzeniowych pakietu równoległych, napisany przez Simon Urbankowi i wprowadzone równolegle do R2.14.0 . Funkcjonalność wielordzeniowych obecnie działa tylko z systemami operacyjnymi obsługujących wywołania systemowego fork (co oznacza, że ​​system Windows nie jest obsługiwany)

można spróbować użyć pakietu snow i SOCK klastra zamiast. (Thx @HongOoi za wskazówkę, że ładowanie doSNOW naprawdę nie jest wymagane.)

library(doParallel) 

#the following line will create a local 4-node snow cluster 
workers=makeCluster(4,type="SOCK") 
registerDoParallel(workers) 

foreach(i=1:4) %dopar% Sys.getpid() 
+1

Tak naprawdę nie potrzeba doSNOW dla klastra śniegu; pakiet równoległy (dostarczany z R) i doParallel będzie również obsługiwał klastry Snow. –

+0

@HongOoi Thx, zaktualizuje się. – cryo111

+1

@HongOoi doSNOW ma pewne zalety w porównaniu do równoległego ze względu na ograniczenia w pakiecie równoległym. Na przykład doSNOW obsługuje paski postępu i wywoływanie funkcji kombajnu w locie. –