BatchSolverConfig
- class cubie.batchsolving.BatchSolverConfig.BatchSolverConfig(precision: type[float16] | type[float32] | type[float64] | dtype[float16] | dtype[float32] | dtype[float64], loop_fn: Callable | None = None, compile_flags: OutputCompileFlags | None = NOTHING, max_registers: int | None = None, coefficients_shape: Tuple = (0, 0, 0), kernel_name: str | None = None, cache: CacheSettings | bool | str | Path | None = NOTHING, blocksize: int | None = None, auto_performance: bool = True, *, jit_flags: JITFlags = NOTHING, unroll: UnrollFlags = NOTHING)[source]
Bases:
CUDAFactoryConfigCompile-critical settings for the batch solver kernel.
- precision
NumPy floating-point data type used for host and device arrays.
- Type:
type[numpy.float16] | type[numpy.float32] | type[numpy.float64] | numpy.dtype[numpy.float16] | numpy.dtype[numpy.float32] | numpy.dtype[numpy.float64]
- loop_fn
CUDA device loop function generated by
SingleIntegratorRun.- Type:
Callable | None
- compile_flags
Boolean compile-time controls for output features.
- Type:
cubie.outputhandling.output_config.OutputCompileFlags | None
- max_registers
Per-thread register cap passed to
cuda.jit.Noneleaves allocation to ptxas (currently 255 for large systems, limiting occupancy to one block per SM); capping trades spill traffic for more resident warps.- Type:
int | None
- coefficients_shape
Driver-coefficient layout
(num_segments, num_drivers, order + 1)baked into the compiled driver evaluators as closure constants. The Solver keeps it aligned withArrayInterpolator.coefficients_shape; input sizing and device-array validation check supplied coefficient arrays against it. The zero default marks kernels never given driver metadata (sizing floors it to a unit placeholder).
- kernel_name
Name of the compiled kernel function, shown in profiler and disassembly output.
Nonederives{algorithm}_{system name}; the LTO state is appended as_ltoon/_ltooffeither way.- Type:
str | None
- cache
CacheSettings; accepts thecacheshorthand and loosecache_*keys throughupdate.- Type:
cubie.batchsolving.BatchSolverConfig.CacheSettings
- blocksize
Threads per block;
None= the kernel picks underauto_performance, elseDEFAULT_BLOCKSIZE.- Type:
int | None
- auto_performance
Pick the launch’s block size and residency.
- Type:
- property active_outputs: ActiveOutputs
Derive ActiveOutputs from compile_flags.
- auto_performance: bool
- cache: CacheSettings
- compile_flags: OutputCompileFlags | None