The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.
The default is to use synchronous futures, but this default can be overridden via R options, system environment variables and command-line options as explained below as well as in help("future.options", package = "future")
.
The default strategy for resolving futures can be controlled via R option future.plan
. For instance, if we add
options(future.plan = "multisession")
to our ~/.Rprofile
startup script, the future package will resolve futures in parallel (asynchronously using all available cores), i.e.
$ Rscript -e "class(future::plan())"
[1] "multisession" "future" "function"
Option future.plan
is ignored if command-line option --parallel
(-p
) is specified.
An alternative to using options()
for setting option future.plan
is to specify system environment variable R_FUTURE_PLAN
. If set, then the future package will set future.plan
accordingly when loaded. For example,
$ export R_FUTURE_PLAN=multisession
$ Rscript -e "class(future::plan())"
[1] "multisession" "future" "function"
Environment variable R_FUTURE_PLAN
is ignored if either option future.plan
or command-line option --parallel
(-p
) is specified.
When loaded, the future package checks for the command-line option --parallel=ncores
(short -p ncores
) and sets the future strategy (via option future.plan
) and the number of available cores (via option mc.cores
) accordingly. This provides a convenient mechanism for specifying parallel future processing from the command line. For example, if we start R with
$ R --quiet --args --parallel=2
then future will interpret this as we wish to resolve futures in parallel using 2 cores. More specifically, we get that
> availableCores()
mc.cores
2
> class(future::plan())
[1] "FutureStrategy" "tweaked" "multisession" "future" "function"
We can use this command-line option also with Rscript
, which provides a convenient mechanism for launching future-enhanced R scripts such that they run in parallel, e.g.
$ Rscript analysis.R --parallel=4
This does, of course, require that the script uses futures and the future package.
If --parallel=1
is specified, or equivalently -p 1
, then futures are resolved using a single process.
Specifying these command-line options override any other startup settings.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.