[R] foreach + dopar: how to check progress of parallel computations?
Marius Hofert
m_hofert at web.de
Tue Dec 28 10:57:21 CET 2010
Dear expeRts,
I use foreach to do parallel computations. Is it possible to have some progress output written while the computations are done? In the minimal example below, I just print a number ("n") to check the progress. If you run this example with "%do%" instead of "%dopar%", then the computations are done sequentially and the number n is printed to the console. I am looking for something similar but with %dopar%. In the minimal example you can see that n is not written to the console if the computations are done in parallel. How [with which construction] can I check the progress?
Cheers,
Marius
## load packages
library(doSNOW)
library(Rmpi)
library(foreach)
## parameters
param.1 <- 1:2 #c("a1", "b1")
param.2 <- 1:4 #c("a2", "b2", "c2", "d2")
## setup cluster
cl <- makeCluster(mpi.universe.size(), type ="MPI")
registerDoSNOW(cl)
## main work
n <- 1
res <- foreach(p1 = param.1) %:% foreach(p2 = param.2) %dopar% {
print(n)
p1 * p2
n <- n + 1
}
stopCluster(cl) # stop cluster
res # result
More information about the R-help
mailing list