Skip to content

sgns::sgprocessing::ExecutionContext

More...

#include <execution_context.hpp>

Public Functions

Name
ExecutionContext() =default
ExecutionContext(const ExecutionContext & ) =delete
ExecutionContext & operator=(const ExecutionContext & ) =delete
ExecutionContext(ExecutionContext && ) =delete
ExecutionContext & operator=(ExecutionContext && ) =delete
std::unique_ptr< ExecutionContext > NoOp()

Public Attributes

Name
CancellationToken cancelToken
Per-job cancellation token (D-02)
std::function< void(ProgressEvent)> progressCallback
Processor calls at stage boundaries (D-10)
std::function< void(const std::vector< uint8_t > &quantizedBytes, const std::vector< uint8_t > &preQuantizeBytes)> rawOutputCapture
uint64_t deadlineMs
Per-pass wall-clock deadline in ms; 0 = no deadline (D-08)
uint64_t gpuMemoryBudget
Estimated GPU memory in bytes; 0 = no budget (D-08)
uint64_t maxOutputArtifactBytes
Max output artifact size in bytes; 0 = no budget (D-08)

Detailed Description

struct sgns::sgprocessing::ExecutionContext;

Bundles everything a processor needs for an execution (D-01, D-02, D-06, D-08, D-10).

One ExecutionContext per job (D-02), shared across all passes in the job's pass graph.

Public Functions Documentation

function ExecutionContext

ExecutionContext() =default

function ExecutionContext

ExecutionContext(
    const ExecutionContext & 
) =delete

function operator=

ExecutionContext & operator=(
    const ExecutionContext & 
) =delete

function ExecutionContext

ExecutionContext(
    ExecutionContext && 
) =delete

function operator=

ExecutionContext & operator=(
    ExecutionContext && 
) =delete

function NoOp

static inline std::unique_ptr< ExecutionContext > NoOp()

Returns a fully no-op ExecutionContext as a heap-allocated unique_ptr. Used in tests. ExecutionContext is non-copyable, non-movable due to CancellationToken containing std::atomic.

Public Attributes Documentation

variable cancelToken

CancellationToken cancelToken;

Per-job cancellation token (D-02)

variable progressCallback

std::function< void(ProgressEvent)> progressCallback;

Processor calls at stage boundaries (D-10)

variable rawOutputCapture

std::function< void(const std::vector< uint8_t > &quantizedBytes, const std::vector< uint8_t > &preQuantizeBytes)> rawOutputCapture;

Capture-only hook: fires with (quantized bytes, pre-quantize bytes) at each processor's existing hash call site. Stays unset (nullptr) in production job execution; only tools/capture/capture_harness.cpp (Wave 3) ever sets this. Mirrors progressCallback's opt-in injection pattern via ExecutionContext, not a new StartProcessing() parameter.

variable deadlineMs

uint64_t deadlineMs = 0;

Per-pass wall-clock deadline in ms; 0 = no deadline (D-08)

variable gpuMemoryBudget

uint64_t gpuMemoryBudget = 0;

Estimated GPU memory in bytes; 0 = no budget (D-08)

variable maxOutputArtifactBytes

uint64_t maxOutputArtifactBytes = 0;

Max output artifact size in bytes; 0 = no budget (D-08)


Updated on 2026-09-17 at 06:29:14 +0000