library(Rmpi)
library(snow)

assign(".MPIrun", function() 
{
    if (mpi.comm.rank(0) > 0){
        sys.load.image(".RData",TRUE)
        .First.sys()
	sink(file="/dev/null")
        workLoop(makeMPImaster())
        mpi.quit()
    }
    else {
        makeMPIcluster()
        .Last <<- function(){
            cl <- getMPIcluster()
            if (! is.null(cl))
                stopCluster(cl)
            mpi.quit()
        }
    }
}, .GlobalEnv)

.MPIrun()
