I am using an sge template.
Is there a native way in future plan to have elements of a list be allocated to each available core in preset number of workers (ie chunking the list)?
ie if i have a workers with 8 cores and a vector (x) of length 16, i want future to send each element to a core on the workers to run in parallel. (assuming i am sending out jobs from the remote master)
sge<-future::tweak(
future.batchtools::batchtools_sge,
template='batchtools.sge-mrg.tmpl',
workers=2,
resources=list(slots=1)
)
future::plan(list(sge))
x<- vector('list',16)
ret<-furrr::future_map(x, .f=foo)
#!/bin/bash## The name of the job, can be anything, simply used when displaying the list of running jobs#$ -N <%= job.name %>## Combining output/error messages into one file#$ -j y## Giving the name of the output log file#$ -o <%= log.file %>## One needs to tell the queue system to use the current directory as the working directory## Or else the script may fail as it will execute in your top level home directory /home/username#$ -cwd## Use environment variables#$ -V## Use correct queue##$ -q all.q#$ -pe smp <%= resources[["slots"]] %>## Export value of DEBUGME environemnt var to slaveexport DEBUGME=<%= Sys.getenv("DEBUGME") %><%= sprintf("export OMP_NUM_THREADS=%i", resources$omp.threads) -%><%= sprintf("export OPENBLAS_NUM_THREADS=%i", resources$blas.threads) -%><%= sprintf("export MKL_NUM_THREADS=%i", resources$blas.threads) -%>
Rscript -e 'batchtools::doJobCollection("<%= uri %>")'exit 0
cc @wlandau
I am using an sge template.
Is there a native way in future plan to have elements of a list be allocated to each available core in preset number of workers (ie chunking the list)?
ie if i have a workers with 8 cores and a vector (x) of length 16, i want future to send each element to a core on the workers to run in parallel. (assuming i am sending out jobs from the remote master)
cc @wlandau