Package: future 1.34.0

future: Unified Parallel and Distributed Processing in R for Everyone

The purpose of this package is to provide a lightweight and unified Future API for sequential and parallel processing of R expression via futures. The simplest way to evaluate an expression in parallel is to use `x %<-% { expression }` with `plan(multisession)`. This package implements sequential, multicore, multisession, and cluster futures. With these, R expressions can be evaluated on the local machine, in parallel a set of local machines, or distributed on a mix of local and remote machines. Extensions to this package implement additional backends for processing futures via compute cluster schedulers, etc. Because of its unified API, there is no need to modify any code in order switch from sequential on the local machine to, say, distributed processing on a remote compute cluster. Another strength of this package is that global variables and functions are automatically identified and exported as needed, making it straightforward to tweak existing code to make use of futures.

Authors:Henrik Bengtsson [aut, cre, cph]

future_1.34.0.tar.gz
future_1.34.0.zip(r-4.5)future_1.34.0.zip(r-4.4)future_1.34.0.zip(r-4.3)
future_1.34.0.tgz(r-4.4-any)future_1.34.0.tgz(r-4.3-any)
future_1.34.0.tar.gz(r-4.5-noble)future_1.34.0.tar.gz(r-4.4-noble)
future_1.34.0.tgz(r-4.4-emscripten)future_1.34.0.tgz(r-4.3-emscripten)
future.pdf |future.html
future/json (API)
NEWS

# Install 'future' in R:
install.packages('future', repos = c('https://henrikbengtsson.r-universe.dev', 'https://cloud.r-project.org'))

Peer review:

Bug tracker:https://github.com/henrikbengtsson/future/issues

On CRAN:

asynchronousdistributed-computingfutureshpchpc-clustersparallel-computingparallel-processingparallelizationprogrammingpromises

68 exports 951 stars 13.27 score 5 dependencies 1067 dependents 2 mentions 13.7k scripts 215.9k downloads

Last updated 1 months agofrom:e11031e189 (on master). Checks:OK: 7. Indexed: yes.

TargetResultDate
Doc / VignettesOKAug 28 2024
R-4.5-winOKAug 28 2024
R-4.5-linuxOKAug 28 2024
R-4.4-winOKAug 28 2024
R-4.4-macOKAug 28 2024
R-4.3-winOKAug 28 2024
R-4.3-macOKAug 28 2024

Exports:%->%%<-%%conditions%%globals%%label%%lazy%%packages%%plan%%seed%%stdout%%tweak%as.clusteras.FutureGlobalsautoStopClusteravailableCoresavailableWorkersbacktraceclusterClusterFutureConstantFuturefutureFuturefutureAssignfutureCallFutureConditionFutureErrorFutureGlobalsFutureJournalConditionFutureMessagefutureOfFutureResultfuturesfutureSessionInfoFutureWarninggetExpressiongetGlobalsAndPackagesGlobalEnvFutureConditionGlobalEnvFutureErrorGlobalEnvFutureWarningmakeClusterMPImakeClusterPSOCKmakeNodePSOCKmandelbrotmandelbrot_tilesmulticoreMulticoreFutureMultiprocessFuturemultisessionMultisessionFuturenbrOfFreeWorkersnbrOfWorkersplanresetWorkersresolveresolvedresultRngFutureConditionRngFutureErrorRngFutureWarningrunsequentialSequentialFuturesessionDetailssupportsMulticoretweakUnexpectedFutureResultErrorUniprocessFuturevalue

Dependencies:codetoolsdigestglobalslistenvparallelly

A Future for R: A Comprehensive Overview

Rendered fromfuture-1-overview.md.rspusingR.rsp::rspon Aug 28 2024.

Last update: 2023-07-01
Started: 2016-02-23

A Future for R: Best Practices for Package Developers

Rendered fromfuture-7-for-package-developers.md.rspusingR.rsp::rspon Aug 28 2024.

Last update: 2024-03-26
Started: 2020-11-03

A Future for R: Common Issues with Solutions

Rendered fromfuture-4-issues.md.rspusingR.rsp::rspon Aug 28 2024.

Last update: 2023-07-01
Started: 2018-07-22

A Future for R: Controlling Default Future Strategy

Rendered fromfuture-5-startup.md.rspusingR.rsp::rspon Aug 28 2024.

Last update: 2023-02-01
Started: 2018-07-22

A Future for R: Future API Backend Specification

Rendered fromfuture-6-future-api-backend-specification.md.rspusingR.rsp::rspon Aug 28 2024.

Last update: 2022-12-16
Started: 2020-07-09

A Future for R: Future Topologies

Rendered fromfuture-3-topologies.md.rspusingR.rsp::rspon Aug 28 2024.

Last update: 2024-07-29
Started: 2016-04-10

A Future for R: How the Future Framework is Validated

Rendered fromfuture-8-how-future-is-validated.md.rspusingR.rsp::rspon Aug 28 2024.

Last update: 2024-07-29
Started: 2020-11-03

A Future for R: Non-Exportable Objects

Rendered fromfuture-4-non-exportable-objects.md.rspusingR.rsp::rspon Aug 28 2024.

Last update: 2024-07-29
Started: 2019-05-08

A Future for R: Text and Message Output

Rendered fromfuture-2-output.md.rspusingR.rsp::rspon Aug 28 2024.

Last update: 2023-02-01
Started: 2018-07-22

Readme and manuals

Help Manual

Help pageTopics
Control whether standard output should be captured or not%conditions%
Specify globals and packages for a future assignment%globals% %packages%
Specify label for a future assignment%label%
Control lazy / eager evaluation for a future assignment%lazy%
Use a specific plan for a future assignment%plan%
Set random seed for future assignment%seed%
Control whether standard output should be captured or not%stdout%
Temporarily tweaks the arguments of the current strategy%tweak%
Back trace the expressions evaluated when an error was caughtbacktrace
Create a cluster future whose value will be resolved asynchronously in a parallel processcluster
Export globals to the sticky-globals environment of the cluster nodesclusterExportSticky
Create a future%->% %<-% future futureAssign futureCall
Options used for futures.future.R future.cmdargs future.debug future.demo.mandelbrot.nrow future.demo.mandelbrot.region future.fork.multithreading.enable future.globalenv.onMisuse future.globals.maxSize future.globals.method future.globals.objectSize.method future.globals.onMissing future.globals.onReference future.globals.resolve future.journal future.onFutureCondition.keepFuture future.options future.output.windows.reencode future.plan future.resolve.recursive future.rng.onMisuse future.startup.script future.wait.alpha future.wait.interval future.wait.timeout R_FUTURE_DEBUG R_FUTURE_DEMO_MANDELBROT_NROW R_FUTURE_DEMO_MANDELBROT_REGION R_FUTURE_FORK_MULTITHREADING_ENABLE R_FUTURE_GLOBALENV_ONMISUSE R_FUTURE_GLOBALS_MAXSIZE R_FUTURE_GLOBALS_METHOD R_FUTURE_GLOBALS_OBJECTSIZE_METHOD R_FUTURE_GLOBALS_ONMISSING R_FUTURE_GLOBALS_ONREFERENCE R_FUTURE_GLOBALS_RESOLVE R_FUTURE_JOURNAL R_FUTURE_ONFUTURECONDITION_KEEPFUTURE R_FUTURE_OUTPUT_WINDOWS_REENCODE R_FUTURE_PLAN R_FUTURE_RESOLVED_TIMEOUT R_FUTURE_RESOLVE_RECURSIVE R_FUTURE_RNG_ONMISUSE R_FUTURE_STARTUP_SCRIPT R_FUTURE_WAIT_ALPHA R_FUTURE_WAIT_INTERVAL R_FUTURE_WAIT_TIMEOUT
Get the future of a future variablefutureOf
Get all futures in a containerfutures
Get future-specific session information and validate current backendfutureSessionInfo
Create a multicore future whose value will be resolved asynchronously in a forked parallel processmulticore
Create a multisession future whose value will be resolved asynchronously in a parallel R sessionmultisession
Get the number of workers availablenbrOfFreeWorkers nbrOfWorkers
Plan how to resolve a futureplan
Functions Moved to 'parallelly'as.cluster autoStopCluster availableCores availableWorkers makeClusterMPI makeClusterPSOCK makeNodePSOCK re-exports supportsMulticore
Resolve one or more futures synchronouslyresolve
Check whether a future is resolved or notresolved
Create a sequential future whose value will be in the current R sessionsequential uniprocess
Tweak a future function by adjusting its default argumentstweak
The value of a future or the values of all elements in a containervalue value.environment value.Future value.list value.listenv