solprop.backends.numpy_ref.batch#

Evaluate reference Runge-Kutta stage arrays across a leading member axis.

Functions

lockstep_runner(owners)

Build the reference's lockstep runner for loaded members (the registry's row).

Classes

NumpyBatchBackend(members)

Evaluate batch stage arithmetic with independently parameterised responses.

class solprop.backends.numpy_ref.batch.NumpyBatchBackend(members)[source]#

Bases: HostGroup

Evaluate batch stage arithmetic with independently parameterised responses.

Stage sums, input construction and the final update operate on arrays with a leading member axis. Response evaluation retains each member’s own transform, material and statistics context. Norms are reduced within each member in the same order as the singleton reference.

Parameters:
memberssequence of solprop.backends.numpy_ref.NumpyRefBackend

Loaded reference workspaces with matching shapes, fixed schedules and Runge-Kutta tableaus. Ownership transfers on successful construction.

Raises:
BackendError

If the fixed-schedule contract, backend or tableau differs between members, or a member is single precision.

close()[source]#

Release the reference member workspaces and common march state.

helpers = Helpers(name='plain')#
memory_ledger()[source]#

Include transient array packing alongside the reference step peak.

Returns:
dict of str to int

Conservative peak workspace bytes. Existing member ledgers account for stage stacks and accumulators; these entries cover concatenation inputs, outputs and expression temporaries that coexist with them.

metadata()[source]#

Record vector stage arithmetic and independent response workspaces.

Returns:
dict

Batch execution settings; no device-kernel fusion is claimed.

solprop.backends.numpy_ref.batch.lockstep_runner(owners)[source]#

Build the reference’s lockstep runner for loaded members (the registry’s row).

solprop.backends.registry.select_batch() reads it from the reference’s registry row.

Parameters:
ownerscollections.abc.Sequence of solprop.backends.protocol.Backend

Compatible, loaded numpy_ref members.

Returns:
solprop.backends.protocol.BatchBackend

NumpyBatchBackend, or HostGroup when a member is single precision.