What's the difference between doParallel
and doMC
in R concerning foreach
function? doParallel
supports windows, unix-like, while doMC
supports unix-like only. In other words, why doParallel
cannot replace doMC
directly? Thank you.
Update:
doParallel
is built on parallel
, which is essentially a merger of multicore
and snow
and automatically uses the appropriate tool for your system. As a result, we can use doParallel
to support multi systems. In other words, we can use doParallel
to replace doMC
.
ref: http://michaeljkoontz.weebly.com/uploads/1/9/9/4/19940979/parallel.pdf
BTW, what is the difference between registerDoParallel(ncores=3)
and
cl <- makeCluster(3)
registerDoParallel(cl)
It seems registerDoParallel(ncores=3)
can stop cluster automatically, while the second do not stop automatically and needs stopCluster(cl)
.
ref: http://cran.r-project.org/web/packages/doParallel/vignettes/gettingstartedParallel.pdf