solprop.backends.numba_cpu.batch#

Execute CPU member stages with one compiled batch update and segmented norms.

Classes

NumbaCpuBatchBackend(members)

Run fixed CPU batches with contiguous member update buffers.

class solprop.backends.numba_cpu.batch.NumbaCpuBatchBackend(members)[source]#

Bases: LockstepRunner

Run fixed CPU batches with contiguous member update buffers.

Each member uses its own compiled response, FFT and BLAS policies. Stage evaluation is interleaved; the accepted update traverses every member’s columns in one existing Numba kernel. Error partials are segmented before the unchanged singleton reduction, preserving operation order and member error histories.

Parameters:
memberssequence of solprop.backends.numba_cpu.NumbaCpuBackend

Loaded fibre workspaces with the same field layout, frequency mask and tableau. Material parameters and initial fields may differ.

Raises:
BackendError

If a member is not a compatible Numba CPU fibre problem.

close()[source]#

Release member owners and all packed CPU workspace arrays.

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

Count member slices once and include the two additional packing buffers.

Returns:
dict of str to int

Workspace bytes. Member update and partial views partition their backing arrays, so summing their ledgers already counts those allocations once.

metadata()[source]#

Record compiled update fusion while retaining each member’s policies.

Returns:
dict

Batch strategy and the specific compiled operation shared across members.