??I installed Microsoft MPI. Then installed the foreach and Rmpi packages.
Then built doMPI from source. mpi.remote.exec works. foreach hangs with the main process and all worker processes idle. I launch my script with mpiexec: "C:\Program Files\Microsoft MPI\Bin\mpiexec" -n 3 "C:\Program Files\R\R-3.2.0\bin\x64\Rterm.exe" --no-save -q -f "MPI Test.r" The script is: library(Rmpi) library(doMPI) library(foreach) cl <- startMPIcluster() print(cl) registerDoMPI(cl) mpi.remote.exec(paste(Sys.info()[['nodename']], Sys.getpid(), mpi.comm.rank(), "of", mpi.comm.size())) # Hangs at this point # Main process and worker processes are all idle ni <- foreach(i=1:10) %dopar% { paste(Sys.info()[['nodename']], Sys.getpid(), mpi.comm.rank(), "of", mpi.comm.size()) } mpi.close.Rslaves() mpi.quit() Prints: C:\Users\dteller\Documents\MPI>"C:\Program Files\Microsoft MPI\Bin\mpiexec" -n 3 "C:\Program Files\R\R-3.2.0\bin\x64\Rterm.exe" --no-save -q -f "MPI Test.r" master (rank 0, comm 1) of size 3 is running on: dteller-dv7 slave1 (rank 1, comm 1) of size 3 is running on: dteller-dv7 slave2 (rank 2, comm 1) of size 3 is running on: dteller-dv7 > library(Rmpi) > library(doMPI) Loading required package: foreach Loading required package: iterators > library(foreach) > > cl <- startMPIcluster() > print(cl) $comm [1] 0 $workerCount [1] 2 $workerid [1] 0 $verbose [1] FALSE $mtag [1] 10 $wtag [1] 11 attr(,"class") [1] "mpicluster" "dompicluster" > registerDoMPI(cl) > > mpi.remote.exec(paste(Sys.info()[['nodename']], Sys.getpid(), mpi.comm.rank(), "of", mpi.comm.size())) $slave1 [1] "DTELLER-DV7 1116 1 of 3" $slave2 [1] "DTELLER-DV7 9436 2 of 3" > > ni <- foreach(i=1:10) %dopar% { + paste(Sys.info()[['nodename']], Sys.getpid(), mpi.comm.rank(), "of", mpi.com m.size()) + } Thanks for any help. Dave Teller [[alternative HTML version deleted]] ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel