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
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to