Dynamics module# Architecture Overview Inheritance hierarchy Quick-start Key concepts Hooks — Observe & Modify The Hook protocol Hook stages Registration and execution Built-in hooks reference Usage examples Hooks inside FusedStage Convergence Criteria Quick examples How convergence criteria work Criterion specification Convenience constructors Status migration for FusedStage Attaching to dynamics FusedStage — Single-GPU Orchestration The + operator How it works: status codes and masked updates Convergence-driven stage migration Running a FusedStage Using a CUDA stream torch.compile support Combining with hooks and sinks Explicit construction Summary of syntactic sugars DistributedPipeline — Multi-GPU Workflows The | operator Running a pipeline How it works Communication modes Inflight batching on the first stage Data sinks for the final stage Combining FusedStage and DistributedPipeline Summary of syntactic sugars Full end-to-end example Buffers & Data Flow The three buffer layers Pre-allocated communication buffers The communication protocol Back-pressure Data routing helpers Sample lifecycle Data sinks Implementing Custom Dynamics The developer contract Walkthrough: DemoDynamics (Velocity Verlet) How step() orchestrates everything masked_update for FusedStage compatibility Checklist for a new integrator API Reference Core classes Protocols and enums Convergence Hooks Data sinks Sampling