Struct EvaluationMapPlan
pub struct EvaluationMapPlan { /* private fields */ }Description
An admitted ordered inventory of complete inputs for one immutable Program or time Plan.
Position identifies an occurrence within one execution. Equal inputs remain separate: no sorting, deduplication, default anchor, retry or sampling occurs during execution.
Implementations§
§impl EvaluationMapPlan
impl EvaluationMapPlan
pub fn execute_recorded<C>(
&self,
should_cancel: C,
) -> Result<EvaluationCollection, Diagnostic>where
C: FnMut() -> bool,
pub fn execute_recorded<C>(
&self,
should_cancel: C,
) -> Result<EvaluationCollection, Diagnostic>where
C: FnMut() -> bool,
Execute through ordinary delivery and capture even explicitly released members.
Returned collections can be incomplete; inspect is_complete. Recording owns
additional payload storage outside the map’s numerical-retention charge and
enforces the shared encoded artifact bound. No member is implicitly rerun.
§impl EvaluationMapPlan
impl EvaluationMapPlan
pub fn from_partition(
program: Arc<DifferentiableProgram>,
shared_values: &DifferentiableValues,
mapped_values: &[DifferentiableValues],
policy: EvaluationMapExecutionPolicy,
) -> Result<EvaluationMapPlan, Diagnostic>
pub fn from_partition( program: Arc<DifferentiableProgram>, shared_values: &DifferentiableValues, mapped_values: &[DifferentiableValues], policy: EvaluationMapExecutionPolicy, ) -> Result<EvaluationMapPlan, Diagnostic>
Compose typed shared inputs with ordered typed mapped occurrences.
Shared leaves may appear in any order. Each mapped product must contain exactly the remaining Program inputs in Program order. An empty mapped inventory has no occurrences; all-shared maps use one empty product per occurrence. The Plan retains this sharing declaration for every derivative view. Grid axes belong to the consuming map/product projection.
§Errors
Rejects foreign signatures and incomplete or reordered mapped products, including invalid shared signatures in an empty map, before execution.
§impl EvaluationMapPlan
impl EvaluationMapPlan
pub fn from_time_requests<F>(
plan: Arc<CommonTimePlan>,
requests: &[CommonTimeRunRequest],
checkpoints: Option<&[Option<CommonTimeCheckpoint>]>,
policy: EvaluationMapExecutionPolicy,
member_bytes_limit: usize,
run: F,
) -> Result<EvaluationMapPlan, Diagnostic>where
F: Fn(&CommonTimeRunRequest, Option<&CommonTimeCheckpoint>) -> Result<ControlFlow<CommonTimeCheckpoint, CommonResult>, Vec<Diagnostic>> + Send + Sync + 'static,
pub fn from_time_requests<F>(
plan: Arc<CommonTimePlan>,
requests: &[CommonTimeRunRequest],
checkpoints: Option<&[Option<CommonTimeCheckpoint>]>,
policy: EvaluationMapExecutionPolicy,
member_bytes_limit: usize,
run: F,
) -> Result<EvaluationMapPlan, Diagnostic>where
F: Fn(&CommonTimeRunRequest, Option<&CommonTimeCheckpoint>) -> Result<ControlFlow<CommonTimeCheckpoint, CommonResult>, Vec<Diagnostic>> + Send + Sync + 'static,
Admit complete independent time requests through the ordinary time Run adapter.
Every request must use this exact Plan and the same retained output times. Initial States and internal steps/events may differ. No padding, interpolation, output retiming, failed-member filtering or trajectory derivative is introduced. The ordinary Run owns event-side sampling and complete-horizon acceptance.
run executes one ordinary Run and returns its accepted Result or atomic
checkpoint. It must create independent numerical state per call; the existing
Plan/Run/Result owners admit its backend and history. The callback can observe
its own cancellation token within a member; map cancellation is also checked
before dispatch. Checkpoints, when supplied, bind the original complete requests.
The storage charge includes request coordinates/output inventories, encoded checkpoints, indexed terminal records and the configured per-member encoded Result/checkpoint limit times the retention/worker count. Shared Plan storage, callback captures, allocator overhead, solver/history scratch, serialization buffers and OS thread stacks are excluded; this is not a heap or peak-memory bound. Each produced member is checked before collection acceptance. Recompute retains a canonical Result fingerprint excluding elapsed wall time.
§Errors
Rejects foreign Plans/checkpoints, inconsistent observation schedules and unaddressable or excessive storage charges before copying or running members.
pub fn time_plan(&self) -> Option<&CommonTimePlan>
pub fn time_plan(&self) -> Option<&CommonTimePlan>
The immutable time Plan, absent for steady evaluation maps.
pub fn time_requests(&self) -> Option<&[CommonTimeRunRequest]>
pub fn time_requests(&self) -> Option<&[CommonTimeRunRequest]>
Complete original time requests in occurrence order, including repeats.
pub fn time_checkpoints(&self) -> Option<&[Option<CommonTimeCheckpoint>]>
pub fn time_checkpoints(&self) -> Option<&[Option<CommonTimeCheckpoint>]>
Explicit restart checkpoints in the same original occurrence order.
§impl EvaluationMapPlan
impl EvaluationMapPlan
pub fn new(
program: Arc<DifferentiableProgram>,
points: &[DifferentiableValues],
shared_inputs: &[Id<Parameter>],
policy: EvaluationMapExecutionPolicy,
) -> Result<EvaluationMapPlan, Diagnostic>
pub fn new( program: Arc<DifferentiableProgram>, points: &[DifferentiableValues], shared_inputs: &[Id<Parameter>], policy: EvaluationMapExecutionPolicy, ) -> Result<EvaluationMapPlan, Diagnostic>
Admit complete points, an explicit shared-input selection and execution policy.
Shared inputs retain their selected order and must be bit-identical across all points. An empty selection makes every input occurrence-local.
The storage estimate includes every planned point and indexed terminal evidence, the policy’s resident numerical buffers and bounded ordering buffers, plus the explicit shared-input ID inventory. Deployment metadata uses its encoded-size charge, not a heap upper bound. Shared Program storage, allocator overhead, solver scratch, OS thread stacks, diagnostic strings and callback-owned allocations are excluded: this is neither a process-memory nor peak-memory limit.
§Errors
Rejects foreign Models, roles, types or input order, unsupported providers and checked count/storage overflow before any member executes or points are copied.
pub fn from_samples(
program: Arc<DifferentiableProgram>,
samples: &[SampledParameterPoint],
shared_inputs: &[Id<Parameter>],
policy: EvaluationMapExecutionPolicy,
) -> Result<EvaluationMapPlan, Diagnostic>
pub fn from_samples( program: Arc<DifferentiableProgram>, samples: &[SampledParameterPoint], shared_inputs: &[Id<Parameter>], policy: EvaluationMapExecutionPolicy, ) -> Result<EvaluationMapPlan, Diagnostic>
Admit already frozen sampled points with their full sampling identity.
No sampler is retained or called. Repeated IDs and equal points keep their separate request positions; chunking and recomputation cannot change the generator, master stream, coupling, lineage or frozen input.
§Errors
Rejects a foreign Program or point/input order and the same structural, provider and storage limits as Self::new, including sample metadata.
pub fn model(&self) -> &ModelArtifactReference
pub fn model(&self) -> &ModelArtifactReference
Exact Model shared by every admitted occurrence.
pub fn len(&self) -> usize
pub fn len(&self) -> usize
Complete occurrence count, including repeated and unstarted requests.
pub fn program_identity(
&self,
) -> Result<&DifferentiableProgramIdentity, Diagnostic>
pub fn program_identity( &self, ) -> Result<&DifferentiableProgramIdentity, Diagnostic>
Exact steady program identity; time maps reject this derivative projection.
Explicit shared steady inputs; equal values never imply sharing.
pub fn points(&self) -> Result<&[DifferentiableValues], Diagnostic>
pub fn points(&self) -> Result<&[DifferentiableValues], Diagnostic>
Complete frozen steady points; time maps retain their original Run requests instead.
pub fn samples(&self) -> Option<&[SampledParameterPoint]>
pub fn samples(&self) -> Option<&[SampledParameterPoint]>
Full frozen parameter-sampling association, when constructed from samples. Time sampling identities remain on the original time requests.
pub const fn policy(&self) -> EvaluationMapExecutionPolicy
pub const fn policy(&self) -> EvaluationMapExecutionPolicy
Explicit scheduling and accepted-state lifetime.
pub const fn estimated_storage_bytes(&self) -> usize
pub const fn estimated_storage_bytes(&self) -> usize
Admitted defined storage charge, not actual heap or peak process memory.
pub fn execute(
&self,
) -> Result<CompleteEvaluationMap, EvaluationMapTerminalReport>
pub fn execute( &self, ) -> Result<CompleteEvaluationMap, EvaluationMapTerminalReport>
Execute with this plan’s bounded host scheduling and retention policy.
§Errors
Returns indexed partial outcomes, never a fake complete collection.
pub fn execute_with_cancellation<C>(
&self,
should_cancel: C,
) -> Result<CompleteEvaluationMap, EvaluationMapTerminalReport>where
C: FnMut() -> bool,
pub fn execute_with_cancellation<C>(
&self,
should_cancel: C,
) -> Result<CompleteEvaluationMap, EvaluationMapTerminalReport>where
C: FnMut() -> bool,
Execute with cooperative cancellation before dispatching occurrences.
In-flight members finish ordinary acceptance; no cancellation poll occurs within a member or after all occurrences are accepted. Empty maps are already complete. A failed member stays failed even if cancellation also arrives; independently accepted in-flight members remain inspectable.
§Errors
Returns indexed failure/cancelled/not-started states on incomplete work.
pub fn execute_with_delivery<C, D>(
&self,
should_cancel: C,
deliver: D,
) -> Result<CompleteEvaluationMap, EvaluationMapTerminalReport>where
C: FnMut() -> bool,
D: FnMut(EvaluationMapOccurrenceId, EvaluationMapOccurrence<'_>),
pub fn execute_with_delivery<C, D>(
&self,
should_cancel: C,
deliver: D,
) -> Result<CompleteEvaluationMap, EvaluationMapTerminalReport>where
C: FnMut() -> bool,
D: FnMut(EvaluationMapOccurrenceId, EvaluationMapOccurrence<'_>),
Deliver accepted members in request order, at bounded chunk boundaries.
The occurrence ID binds delivery to this exact execution and request position. A fresh execution mints a fresh identity, including a retry of equal inputs. The callback only borrows each evaluation. Under Recompute, its primal and derivative buffers are released immediately after delivery. Retained callback copies are caller-owned, outside this plan’s storage charge. Accepted members of an incomplete chunk may also be delivered; only the final return type establishes complete membership. No reduction, failure filtering or normalization is implicit in delivery.
§Errors
Preserves every member failure and cancellation in an indexed report.
Trait Implementations§
§impl Clone for EvaluationMapPlan
impl Clone for EvaluationMapPlan
§impl Debug for EvaluationMapPlan
impl Debug for EvaluationMapPlan
§impl PartialEq for EvaluationMapPlan
impl PartialEq for EvaluationMapPlan
§fn eq(&self, other: &EvaluationMapPlan) -> bool
fn eq(&self, other: &EvaluationMapPlan) -> bool
self and other values to be equal, and is used by ==.Auto Trait Implementations§
impl Freeze for EvaluationMapPlan
impl !RefUnwindSafe for EvaluationMapPlan
impl Send for EvaluationMapPlan
impl Sync for EvaluationMapPlan
impl Unpin for EvaluationMapPlan
impl UnsafeUnpin for EvaluationMapPlan
impl !UnwindSafe for EvaluationMapPlan
Blanket Implementations§
Source§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
§fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
§impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
§type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
§fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
Source§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T, Dst> ConvAsUtil<Dst> for T
impl<T, Dst> ConvAsUtil<Dst> for T
§fn approx(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
fn approx(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
§impl<T> ConvUtil for T
impl<T> ConvUtil for T
§fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
§fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
§fn into_as<Dst>(self) -> Dstwhere
Self: Sized + Into<Dst>,
fn into_as<Dst>(self) -> Dstwhere
Self: Sized + Into<Dst>,
§fn try_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + TryInto<Dst>,
fn try_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + TryInto<Dst>,
§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
fn rand<T>(&self, rng: &mut (impl Rng + ?Sized)) -> Twhere
Self: Distribution<T>,
Source§impl<T> From<T> for T
impl<T> From<T> for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T, U> Into<U> for Twhere
U: From<T>,
impl<T, U> Into<U> for Twhere
U: From<T>,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>where
F: FnOnce(&Self) -> bool,
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>where
F: FnOnce(&Self) -> bool,
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> Same for T
impl<T> Same for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.