Skip to main content

CpuPlan

Struct CpuPlan 

Source
pub struct CpuPlan { /* private fields */ }
Expand description

A compiled model prepared for CPU evaluation.

Implementations§

Source§

impl CpuPlan

Source

pub fn cache_event_batch( &self, batch: &EventBatch, ) -> RuntimeResult<CpuBatchCache>

Materializes the event-dependent cache for a batch.

§Errors

Returns RuntimeError when required columns are missing, expression shapes are invalid, cache construction fails, or a matrix is singular.

§Panics

Panics if a node selected by the validated cache plan was not evaluated.

Source§

impl CpuPlan

Source

pub fn evaluate_with_gradient( &self, params: &ParamValues, ) -> RuntimeResult<ValueGradient>

Evaluates an event-independent model and its free-parameter gradient.

§Errors

Returns RuntimeError when parameters are incompatible, the model requires event data, differentiation or evaluation fails, or a solve is singular.

Source

pub fn evaluate_cache( &self, params: &ParamValues, cache: &CpuBatchCache, ) -> RuntimeResult<Vec<Complex64>>

Evaluates every row in a materialized batch cache.

§Errors

Returns RuntimeError when parameters or cache layout are incompatible, evaluation fails, or a matrix is singular.

Source

pub fn evaluate_cache_with_gradient( &self, params: &ParamValues, cache: &CpuBatchCache, ) -> RuntimeResult<Vec<ValueGradient>>

Evaluates every cached row and its free-parameter gradient.

§Errors

Returns RuntimeError when parameters or cache layout are incompatible, or differentiation or evaluation fails.

Source§

impl CpuPlan

Source

pub fn cache_dataset( &self, dataset: &Dataset, ) -> RuntimeResult<CpuCachedDataset>

Materializes all event-dependent caches for a dataset.

§Errors

Returns RuntimeError when the dataset cannot be read, a batch schema is incompatible, cache construction fails, or a matrix is singular.

Source

pub fn cache_memory_estimate(&self, events: usize) -> usize

Estimates retained compiled-cache bytes for events.

Source

pub fn prepare_dataset( &self, execution: &Execution, dataset: &Dataset, ) -> RuntimeResult<CpuPreparedDataset>

Prepares a dataset according to its cache-storage policy.

§Errors

Returns RuntimeError when dataset reading or cache construction fails, or another distributed worker reports failure.

§Panics

Panics if successful preparation planning fails to record its staging memory decision, which would violate the planner invariant.

Source§

impl CpuPlan

Source

pub fn reduce( &self, execution: &Execution, params: &ParamValues, dataset: &CpuPreparedDataset, reduction: ReductionPlan, ) -> RuntimeResult<f64>

Execute a weighted reduction over a prepared dataset.

§Errors

Returns RuntimeError when streaming, cache validation, evaluation, or reduction fails, or another distributed worker reports failure.

Source

pub fn reduce_with_gradient( &self, execution: &Execution, params: &ParamValues, dataset: &CpuPreparedDataset, reduction: ReductionPlan, ) -> RuntimeResult<ReductionEvaluation>

Execute a weighted reduction and its free-parameter gradient.

§Errors

Returns RuntimeError when streaming, cache validation, differentiation, evaluation, or reduction fails, or another distributed worker reports failure.

Source

pub fn evaluate_cached_dataset( &self, params: &ParamValues, dataset: &CpuCachedDataset, ) -> RuntimeResult<Vec<Complex64>>

Evaluates every event in a fully cached dataset.

§Errors

Returns RuntimeError when parameters or a cache layout are incompatible, evaluation fails, or a matrix is singular.

Source

pub fn evaluate_cached_dataset_with_gradient( &self, params: &ParamValues, dataset: &CpuCachedDataset, ) -> RuntimeResult<Vec<ValueGradient>>

Evaluates every event and gradient in a fully cached dataset.

§Errors

Returns RuntimeError when parameters or a cache layout are incompatible, or differentiation or evaluation fails.

Source§

impl CpuPlan

Source

pub fn parameter_count(&self) -> usize

Returns the number of parameters, including fixed parameters.

Source

pub fn free_parameter_count(&self) -> usize

Returns the number of free parameters.

Source

pub fn cache_plan(&self) -> &CachePlan

Returns the event-cache layout required by this plan.

Source

pub fn required_event_scalars(&self) -> &[String]

Returns the event-scalar columns required by this prepared model.

Source

pub fn evaluate(&self, params: &ParamValues) -> RuntimeResult<Complex64>

Evaluates a model that has no event-dependent inputs.

§Errors

Returns RuntimeError when parameters are incompatible, the model requires event data, evaluation fails, or a matrix is singular.

Source

pub fn evaluate_with_event( &self, params: &ParamValues, event: &impl EventLookup, ) -> RuntimeResult<Complex64>

Evaluates the model using values supplied by an event lookup.

§Errors

Returns RuntimeError when a required event value is missing, parameters are incompatible, evaluation fails, or a solve is singular.

Source

pub fn evaluate_with_event_and_gradient( &self, params: &ParamValues, event: &impl EventLookup, ) -> RuntimeResult<ValueGradient>

Evaluates the model and gradient using values supplied by an event lookup.

§Errors

Returns RuntimeError when a required event value is missing, parameters are incompatible, or differentiation or evaluation fails.

Source

pub fn evaluate_cache_row( &self, params: &ParamValues, cache: &CpuBatchCache, row: usize, ) -> RuntimeResult<Complex64>

Evaluates one row in a materialized batch cache.

§Errors

Returns RuntimeError when row is out of range, parameters or cache layout are incompatible, evaluation fails, or a matrix is singular.

Source§

impl CpuPlan

Source

pub fn evaluate_cache_row_with_gradient( &self, params: &ParamValues, cache: &CpuBatchCache, row: usize, ) -> RuntimeResult<ValueGradient>

Evaluates one cached row and its free-parameter gradient.

§Errors

Returns RuntimeError when row is out of range, parameters or cache layout are incompatible, or differentiation or evaluation fails.

Source

pub fn evaluate_batch( &self, params: &ParamValues, batch: &EventBatch, ) -> RuntimeResult<Vec<Complex64>>

Evaluates the model for every event in a batch.

§Errors

Returns RuntimeError when cache materialization or evaluation fails.

Source

pub fn evaluate_batch_with_gradient( &self, params: &ParamValues, batch: &EventBatch, ) -> RuntimeResult<Vec<ValueGradient>>

Evaluates the model and gradient for every event in a batch.

§Errors

Returns RuntimeError when cache materialization, differentiation, or evaluation fails.

Trait Implementations§

Source§

impl Clone for CpuPlan

Source§

fn clone(&self) -> CpuPlan

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CpuPlan

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Any for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Source§

fn type_name(&self) -> &'static str

Source§

impl<T> AnySync for T
where T: Any + Send + Sync,

Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<SS, SP> SupersetOf<SS> for SP
where SS: SubsetOf<SP>,

Source§

fn to_subset(&self) -> Option<SS>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
Source§

fn is_in_subset(&self) -> bool

Checks if self is actually part of its subset T (and can be converted to it).
Source§

fn to_subset_unchecked(&self) -> SS

Use with care! Same as self.to_subset but without any property checks. Always succeeds.
Source§

fn from_subset(element: &SS) -> SP

The inclusion map: converts self to the equivalent element of its superset.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.