swarp Logo

Getting started

  • Installation
    • From a clone
    • Extras
    • Verifying the install
    • GPU notes
    • The VMAS clone fallback
  • Quickstart
    • The shortest loop
    • Constructing it explicitly
    • What step returns
    • Resetting
    • Graph observations
    • Where to go next

User guide

  • The environment loop
    • Actions
      • Action bounds are physical
    • Returns
    • Resetting without a host sync
    • Reading the state
    • Neighbors and the radius graph
    • Determinism and seeding
    • Rendering
    • Closing
  • Agents and dynamics models
    • The four models
      • Control modes
      • Per-slot action bounds
      • The quadrotor
    • Configuration fields
    • Heterogeneous fleets
    • Per-env parameter randomization
  • World, contacts and sensing
    • Overriding a scenario’s engine settings
    • Soft contacts
    • Bounds
    • Obstacles
    • Movable and compound rigid bodies
    • Neighbor search
    • Lidar
  • Scenarios
    • The ten built-ins
    • The three that are not monotone
    • The registry
    • Two execution paths
    • Reward structure
    • Writing your own
  • Differentiability
    • How the bridge works
    • Optimizing through the physics
      • Reusing the taped scratch
    • Correctness
    • What is not differentiable
    • The functional-step invariant
  • Visualization
    • Try it immediately
    • From your own code
    • The mosaic
    • Controls
    • Styling
    • Custom drawables
    • Video and notebooks
  • Performance and interop
    • The no-grad hot path
      • Fused obs/reward kernels
      • Whole-step CUDA graph
    • torch.compile
    • TorchRL
    • Choosing a batch shape
    • The cost of auto_reset
    • Running the benchmarks

Extending

  • Writing a scenario
    • Tier 1: the plain Scenario ABC
      • make_world owns all allocation
      • make_world must honour world_config
      • reset_world must be host-sync-free
      • obs_only
    • Tier 2: FusedScenario
      • The buffer spec
      • launch_fused and FusedPass
      • Capture safety — the one rule that bites
      • The torch reference path is the parity oracle
    • Registering it
  • Architecture
    • Layering
    • Package layout
    • Design invariants
    • Non-goals
    • Roadmap
    • Contributing

Reference

  • Benchmarks
    • Throughput
    • vs. VMAS
    • vs. JaxMARL & CAMAR
      • Setting up the venvs
      • Getting JaxMARL onto the GPU (do this — it silently runs on CPU otherwise)
      • Running it
      • swarp configurations
      • swarp (optimized) vs the field — matched task & observations
  • Changelog
    • Unreleased
      • Fixed
      • Added
      • Performance
      • Changed
      • Breaking changes
      • Fixed
      • Scenarios
      • Performance
      • Visualization
      • Sensors & dynamics
      • Interop
      • Core
      • Repo
swarp
  • Search


© Copyright 2025, Davide De Benedittis.

Built with Sphinx using a theme provided by Read the Docs.