Skip to main content

Module exec

Module exec 

Source
Expand description

Executors for batches of runs, with each outcome committed to a sink in request order.

A CPU model runs in lanes. Each lane drives one run at a time on its own thread pool, a single lane included. A GPU model runs on tracks, several runs sharing the device from the calling thread.

Structs§

ActiveRun
One run in progress.
ActiveRuns
Runs in progress and the tick each has reached, and the finished runs waiting to be committed, shared by clones.
ExecutionLayout
Lanes and GPU tracks a sweep runs on.
Executor
Runner of batches of one model, with its lane pools built once.
GpuTrackDepth
Command buffers and steps each GPU track keeps on the device.
RunRequest
One run for an executor to build and drive.
RunWatch
Entry of one run in an ActiveRuns table, removed when the watch is dropped.
SweepControl
Pause, resume and abort switch for a sweep, shared by clones.

Enums§

BatchEnd
End of a batch that did not fail.
Concurrency
Number of runs that a sweep keeps running at once.
ExecutionError
A batch that cannot run.

Constants§

JOBS_PER_THREAD
Number of jobs of one step for each thread of a lane.
POPULATION_PER_JOB
Population counted as one job when a model does not report its jobs.

Traits§

RunSink
Receiver of the outcomes of a batch.

Functions§

gpu_memory_budget
Returns the device memory budget in bytes for all GPU runs together on ctx: budget when given, and otherwise the device’s largest buffer.