Loops

cubie.integrators.loops

The loop package supplies the CUDA-oriented orchestration layer for Cubie’s integrators. The IVPLoop factory compiles a device function that drives per-step algorithms, manages shared-memory buffers, and coordinates summary collection through the provided callbacks. Supporting configuration classes in cubie.integrators.loops.ode_loop_config describe shared and persistent local memory layouts expected during kernel launches.

Loop factory

  • IVPLoop – builds compiled CUDA loops that step through IVP integrations.

Configuration helpers

  • ODELoopConfig – captures metadata describing loop memory layout and dimensions.

  • LoopSharedIndices – describes offsets for shared-memory buffers.

  • LoopLocalIndices – indexes persistent local buffers and device scratch space.

Dependencies

  • Relies on cubie.CUDAFactory for caching compiled device functions.

  • Consumes CUDA device callbacks supplied by cubie.integrators.algorithms and cubie.integrators.step_control.

  • Shares precision helpers with cubie._utils to standardise float handling across the integrator stack.