Batch solving
cubie.batchsolving
The Solver interface is the main entry point. It brings together batch
grids, array managers, GPU program builds, and system details into a coordinated
integration pipeline, while solve_ivp() offers a shortcut for common
workflows. Supporting modules prepare the GPU programs, describe solver
outputs, and provide data checks used by attrs-based containers.
Subpackages
Core API
Solver – high-level manager that drives CUDA kernel launches.
solve_ivp – convenience wrapper for single-run solver configuration.
SolveResult – captures state, summaries, and diagnostic metadata.
SolveSpec – checked configuration describing a solver invocation.
Supporting infrastructure
BatchGridBuilder – prepares chunked integration grids.
BatchSolverConfig – attrs container that tracks solver metadata.
BatchSolverKernel – compiles device kernels for batch integration.
SystemInterface – adapts
cubie.odesystems.baseODE.BaseODEinstances for CUDA execution.
Input checks
cuda_array_validator – checks required 1D CUDA arrays.
cuda_array_validator_2d – checks required 2D CUDA arrays.
cuda_array_validator_3d – checks required 3D CUDA arrays.
optional_cuda_array_validator – optional 1D array check.
optional_cuda_array_validator_2d – optional 2D array check.
optional_cuda_array_validator_3d – optional 3D array check.
Dependencies
Batch kernel compilation extends
cubie.CUDAFactoryand relies oncubie.integrators.algorithms,cubie.integrators.step_control, andcubie.integrators.array_interpolatorfor loop callables and driver interpolation.Array managers size buffers with
cubie.outputhandling.output_sizesand allocate memory throughcubie.memorymanagers.Solver results surface summary metrics registered via
cubie.outputhandling.summarymetricsand adopt data checks fromcubie.batchsolving._utils.