Arrays
cubie.batchsolving.arrays
The batchsolving.arrays package coordinates host and device array
management for batch solver runs. InputArrays and OutputArrays are the
key classes: they collect stride metadata, request GPU allocations via
cubie.memory, and expose helpers for copying data between the CPU and
CUDA kernels. OutputArrays mirrors requested state, observable, and summary
buffers on the host and GPU for every solver launch.
Base utilities
ArrayContainer – attrs container shared by input and output managers.
BaseArrayManager – helper that manages host/device array bindings and synchronisation.
Input arrays
InputArrayContainer – checked attrs container describing solver inputs.
InputArrays – handles allocation, host buffers, and CUDA copies for input data.
Output arrays
OutputArrayContainer – attrs container for state, observables, and summary outputs.
ActiveOutputs – boolean flags describing which outputs and summaries are requested.
OutputArrays – prepares host/device arrays, handles CUDA transfers, and exposes host views.
Dependencies
cubie.outputhandling.output_sizessuppliesBatchOutputSizesmetadata for array shapes and active buffers.cubie.batchsolving.ArrayTypesdefines the array typing shared with solver kernels.cubie._utilsoffersslice_variable_dimensionto convert chunk indices into multidimensional slices.