solprop.driver.executors.batch#

Dispatch compatible scan members through their selected lockstep backend.

Classes

Batch(size[, memory_limit])

Run fixed-schedule scan batches in the calling process.

class solprop.driver.executors.batch.Batch(size, memory_limit=None)[source]#

Bases: object

Run fixed-schedule scan batches in the calling process.

The builder selects the backend. Compatible adjacent points share a fixed march, while each retains its input, material tables, noise and statistics. Smaller groups are used at layout boundaries and when memory requires them. Adaptive simulations must first discover and calibrate a replay schedule.

Attributes:
sizeint

Positive maximum number of simultaneously advancing members.

memory_limitint or None

Optional positive host-memory limit in bytes, further restricted by the physical or scheduler allocation. Twenty percent remains as headroom.

budgetslist of dict

Admission calculations recorded for this invocation, in dispatch order. Resolved backend policies and the actual batch size are stored per point.

budgets: list[dict[str, int | None]]#
memory_limit: int | None = None#
run(points, work)[source]#

Execute scan work through its backend-preserving batch operation.

Parameters:
pointsiterable

Globally indexed scan jobs, consumed with bounded lookahead.

workcallable

Scan worker exposing the common driver’s batch operation.

Yields:
object

Independently validated results, including failures and skipped points.

Raises:
DriverError

If work does not implement scan batching or a contract cannot execute.

size: int#