der Unterschied zwischen doMC und doParallel in R
Was ist der Unterschied zwischen doParallel
und doMC
in R über foreach
Funktion? doParallel
unterstützt windows -, unix-like, während doMC
unterstützt unix-like nur. In anderen Worten, warum doParallel
nicht ersetzen doMC
direkt? Danke.
Update:
doParallel
ist gebaut auf parallel
, die ist im wesentlichen ein Zusammenschluss von multicore
und snow
und verwendet automatisch das entsprechende tool für Ihr system. Als Ergebnis können wir doParallel
zur Unterstützung von multi-Systeme. In anderen Worten, wir können doParallel
zu ersetzen doMC
.
ref: http://michaeljkoontz.weebly.com/uploads/1/9/9/4/19940979/parallel.pdf
BTW, was ist der Unterschied zwischen registerDoParallel(ncores=3)
und
cl <- makeCluster(3)
registerDoParallel(cl)
Scheint es registerDoParallel(ncores=3)
stoppen können cluster automatisch, während die zweite nicht stoppen automatisch und braucht stopCluster(cl)
.
ref: http://cran.r-project.org/web/packages/doParallel/vignettes/gettingstartedParallel.pdf
- nur so, dass die beiden sich mit stackoverflow.com/questions/28829300/...
- Mögliche Duplikate von doParallel, cluster-vs-Kerne
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
doParallel
Paket ist ein Zusammenschluss vondoSNOW
unddoMC
viel wieparallel
ist ein Zusammenschluss vonsnow
undmulticore
. Aber obwohldoParallel
hat alle Funktionen, die vondoMC
, mir wurde gesagt, durch Reiche Calaway von Revolution Analytics, den Sie halten wolltendoMC
um, weil es effizienter war, die in bestimmten Situationen, obwohldoMC
jetzt verwendetparallel
wiedoParallel
. Ich habe nicht persönlich laufen alle benchmarks, um zu bestimmen, ob und Wann es einen bedeutenden Unterschied.Neige ich zum
doMC
auf einem Linux-oder Mac OS X computerdoParallel
auf einem Windows-computer, unddoMPI
auf einem Linux-cluster, aberdoParallel
funktioniert auf allen diesen Plattformen.Als für die verschiedenen Registrierung-Methoden, wenn Sie ausführen:
auf einer Windows-Maschine, wird es erstellen Sie eine cluster-Objekt implizit für die spätere Verwendung mit
clusterApplyLB
, in der Erwägung, dass auf Linux und Mac OS X, keine cluster-Objekt erzeugt und verwendet. Die Anzahl der Kerne wird einfach gespeichert und verwendet, als der Wert dermc.cores
argument später beim Aufrufmclapply
.Wenn Sie ausführen:
dann die registrierten cluster-Objekt verwendet werden
clusterApplyLB
unabhängig von der Plattform. Sie sind richtig, dass in diesem Fall liegt es in Ihrer Verantwortung zur Abschaltung des cluster-Objekt, da Sie es erstellt haben, in der Erwägung, dass die implizite cluster-Objekt automatisch Herunterfahren.doMC
aus Reichen Calaway von Revolution Analytics? Darüber hinaus gibt es einen Unterschied in Anbetracht der Leistung in derncores
undmakeCluster
situation? Ich entwickelte ein R cogena Paket, wo parallel wurde kopiert mitdoMC
ursprünglich. Ich habe gerade es geändertdoParallel
für die Unterstützung von Windows paar Stunden. Es ist ein Wurf-Komplex überNAMESPACE
undimport
bei der Umsetzung durch mischen vondoMC
unddoParallel
. Danke.doParallel
und halten Sie auf aktualisieren.cores
nichtncores
. Es würde nicht lassen Sie mich Bearbeiten Sie Ihre Antwort mit weniger als 6 Zeichen ist.