library(Rmpi) id <- mpi.comm.rank(comm = 0) np <- mpi.comm.size(comm = 0) hostname <- mpi.get.processor.name() # Generate k normal observations per process k <- 5 x <- rnorm(k) # Combine the x vectors together on every process gather.result <- mpi.gather(x, type = 2, rdata = numeric(k * np), comm = 0) # Log out for each process: # 1) The local part x # 2) The combined vector gather.result logfile <- sprintf("process-%03d.log", id) sink(logfile) cat("local x:\n") print(x) cat("\ngather.result:\n") print(gather.result) sink(NULL) mpi.barrier(comm = 0) mpi.finalize()