1  library(doParallel)


2  # Enable command line arguments


3  args<commandArgs(TRUE)


4 


5  # use the environment variable SLURM_NTASKS_PER_NODE to set the number of cores


6  registerDoParallel(cores=(as.integer(args[1])))


7 


8  # Bootstrapping iteration example


9  x < iris[which(iris[,5] != "setosa"), c(1,5)]


10  iterations < 10000# Number of iterations to run


11 


12  # Parallel version of code


13  # Note the '%dopar%' instruction


14  part < system.time({


15  r < foreach(icount(iterations), .combine=cbind) %dopar% {


16  ind < sample(100, 100, replace=TRUE)


17  result1 < glm(x[ind,2]~x[ind,1], family=binomial(logit))


18  coefficients(result1)


19  }


20  })[3]


21 


22  # Shows the number of Parallel Workers to be used


23  getDoParWorkers()


24  # Executes the functions


25  part

