Parables.jl

Parables.jl is a Julia runtime for safe parallel execution. You annotate task effects (Read, Write, ReadWrite, Reduce) over explicit regions (Whole, Block, Key, ...), and Parables builds a dependency DAG that can run serially or on threads.

Start Here

  1. Read Getting Started
  2. Run one tutorial from Tutorials
  3. Use the Manual for deeper semantics and API details

Why Parables

  • You write task logic directly in Julia.
  • Access annotations make dependencies explicit and debuggable.
  • The same DAG can run with different execution backends.

Core API At A Glance

  • Effects: Read, Write, ReadWrite, Reduce
  • Regions: Whole, Block, Key, Tile, IndexSet
  • DAG building: @dag, @spawn, @task, @access, @accesses
  • Execution: execute!, execute_threads!, execute_serial!, execute_privatize!
  • Helpers: eachblock, parables_foreach, parables_map, parables_mapreduce