All Projects â†’ tlverse â†’ delayed

tlverse / delayed

Licence: GPL-3.0 License
🕟 💻 Dependent Delayed Computation

Programming Languages

r
7636 projects
Makefile
30231 projects
TeX
3793 projects

Projects that are alternatives of or similar to delayed

sph opengl
SPH simulation in OpenGL compute shader.
Stars: ✭ 57 (+307.14%)
Mutual labels:  parallel-computing
OpenPH
Parallel reduction of boundary matrices for Persistent Homology with CUDA
Stars: ✭ 14 (+0%)
Mutual labels:  parallel-computing
TopOpt in PETSc wrapped in Python
Topology optimization using PETSc: a Python wrapper and extended functionality
Stars: ✭ 24 (+71.43%)
Mutual labels:  parallel-computing
ludwig
A lattice Boltzmann code for complex fluids
Stars: ✭ 35 (+150%)
Mutual labels:  parallel-computing
RXMD
RXMD : Linear-Scaling Parallel Reactive Molecular Dynamics Simulation Engine
Stars: ✭ 13 (-7.14%)
Mutual labels:  parallel-computing
distex
Distributed process pool for Python
Stars: ✭ 101 (+621.43%)
Mutual labels:  parallel-computing
VoxelTerrain
This project's main goal is to generate and visualize terrain built using voxels. It was achieved using different approaches and computing technologies just for the sake of performance and implementation comparison.
Stars: ✭ 37 (+164.29%)
Mutual labels:  parallel-computing
hero-sdk
â›” DEPRECATED â›” HERO Software Development Kit
Stars: ✭ 21 (+50%)
Mutual labels:  parallel-computing
cruise
User space POSIX-like file system in main memory
Stars: ✭ 27 (+92.86%)
Mutual labels:  parallel-computing
RocketJoe
RocketJoe is a software development platform for creating high-performance applications.
Stars: ✭ 31 (+121.43%)
Mutual labels:  parallel-computing
future.callr
🚀 R package future.callr: A Future API for Parallel Processing using 'callr'
Stars: ✭ 52 (+271.43%)
Mutual labels:  parallel-computing
course
高性能并行编程与优化 - 课件
Stars: ✭ 1,610 (+11400%)
Mutual labels:  parallel-computing
php-slang
The place where PHP meets Functional Programming
Stars: ✭ 107 (+664.29%)
Mutual labels:  parallel-computing
auryn
Auryn: A fast simulator for spiking neural networks with synaptic plasticity
Stars: ✭ 77 (+450%)
Mutual labels:  parallel-computing
nnpso
Training of Neural Network using Particle Swarm Optimization
Stars: ✭ 24 (+71.43%)
Mutual labels:  parallel-computing
sph vulkan
SPH simulation in Vulkan compute shader.
Stars: ✭ 29 (+107.14%)
Mutual labels:  parallel-computing
b-rabbit
A thread safe library that aims to provide a simple API for interfacing with RabbitMQ. Built on top of rabbitpy, the library make it very easy to use the RabbitMQ message broker with just few lines of code. It implements all messaging pattern used by message brokers
Stars: ✭ 15 (+7.14%)
Mutual labels:  parallel-computing
PyMFEM
Python wrapper for MFEM
Stars: ✭ 91 (+550%)
Mutual labels:  parallel-computing
framework
The Arcane Framework for HPC codes
Stars: ✭ 15 (+7.14%)
Mutual labels:  parallel-computing
ProbQA
Probabilistic question-asking system: the program asks, the users answer. The minimal goal of the program is to identify what the user needs (a target), even if the user is not aware of the existence of such a thing/product/service.
Stars: ✭ 43 (+207.14%)
Mutual labels:  parallel-computing

R/delayed

R-CMD-check Coverage Status CRAN CRAN downloads CRAN total downloads Project Status: Active – The project has reached a stable, usable state and is being actively developed. License: GPL v3

A framework for parallelizing dependent tasks

Author: Jeremy Coyle


What’s delayed?

delayed is an R package that provides a framework for parallelizing dependent tasks in an efficient manner. It brings to R a subset of the functionality implemented in Python’s Dask library. For details on how best to use delayed, please consult the package documentation and vignette online, or do so from within R.


Installation

For standard use, we recommend installing the package from CRAN via

install.packages("delayed")

Install the most recent stable release from GitHub via devtools:

devtools::install_github("tlverse/delayed")

Issues

If you encounter any bugs or have any specific feature requests, please file an issue.


Example

This minimal example shows how to use delayed to handle dependent computations via chaining of tasks:

library(delayed)
#> delayed v0.4.0: A Framework for Parallelizing Dependent Tasks

# delay a function that does a bit of math
mapfun <- function(x, y) {(x + y) / (x - y)}
delayed_mapfun <- delayed_fun(mapfun)

set.seed(14765)
library(future)
plan(multicore, workers = 2)
const <- 7

# re-define the delayed object from above
delayed_norm <- delayed(rnorm(n = const))
delayed_pois <- delayed(rpois(n = const, lambda = const))
chained_norm_pois <- delayed_mapfun(delayed_norm, delayed_pois)

# compute it using the future plan (multicore with 2 cores)
chained_norm_pois$compute(nworkers = 2, verbose = TRUE)
#> run:0 ready:2 workers:2
#> updating rnorm(n = const) from ready to running
#> run:1 ready:1 workers:2
#> updating rpois(n = const, lambda = const) from ready to running
#> run:2 ready:0 workers:2
#> updating rnorm(n = const) from running to resolved
#> updating rpois(n = const, lambda = const) from running to resolved
#> updating mapfun(x = delayed_norm, y = delayed_pois) from waiting to ready
#> run:0 ready:1 workers:2
#> updating mapfun(x = delayed_norm, y = delayed_pois) from ready to running
#> run:1 ready:0 workers:2
#> updating mapfun(x = delayed_norm, y = delayed_pois) from running to resolved
#> [1] -0.6688907 -1.2691496 -1.1808899 -1.7605806 -0.5992127 -0.6838026 -1.4086257

Remark: In the above, the delayed computation is carried out in parallel using the framework offered by the excellent future package and its associated ecosystem.


License

© 2017-2021 Jeremy R. Coyle

The contents of this repository are distributed under the GPL-3 license. See file LICENSE for details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].