Back to directory

Dagger.jl

A Julia framework that automatically parallelizes code across CPU cores, GPUs, and multiple machines by scheduling tasks as a directed-acyclic graph, without manual coordination.

Dagger.jl

Dagger.jl speeds up Julia code by running tasks in parallel across CPU cores, GPUs, and multiple computers, without the developer managing the coordination directly. Wrapping a function call with its spawn macro, similar to Julia's async, lets Dagger decide how to distribute the work and move data between workers, which is useful for nested loops, large datasets, and GPU-accelerated computation.

At its core is a scheduler, inspired by Dask, that represents computations as directed-acyclic graphs and runs them across Julia worker processes, through Distributed.jl or MPI, and threads, as well as GPUs. A separate distributed table type that once lived in this repository has since moved to its own package.

It installs through Julia's package manager and is used by loading the Dagger package, optionally alongside Distributed.jl for multi-process parallelism.

More in Libraries

See all 292
  • OpenDecision

    deepanwadhwa.github.io

    An open-source Python package that answers typed questions about application state or documents using a local natural-language-inference model, returning structured choice, score, yes/no or evidence-relation values instead of free text.

  • TradeCanvas

    bonguynvan.github.io

    A zero-dependency canvas charting engine for building TradingView-style trading charts in JavaScript, with 66 technical indicators, 24 drawing tools, 17 chart types, and real-time streaming.

  • 3d retro graphics

    3d-retro.com

    A free, CC0-licensed library of copy-paste retro 3D and demoscene graphics effects, such as plasma, raytracing, and voxel terrain, runnable as WebGL 1 or plain 2D canvas.