pub struct CpuLinkRegistry;Expand description
The built-in CPU backend’s LinkRegistry — resolves a contract’s
entry_point symbols against CPU_BINARY_ENTRY_POINTS,
CPU_AFFINE_CLAMP_POWI_ENTRY_POINTS, CPU_UNARY_ENTRY_POINTS,
CPU_COMPARE_ENTRY_POINTS, CPU_WHERE_ENTRY_POINTS,
CPU_REDUCE_ENTRY_POINTS, CPU_REDUCE_TO_ENTRY_POINTS,
CPU_NORM_ENTRY_POINTS, CPU_NORM_BACKWARD_ENTRY_POINTS,
CPU_ROPE_ENTRY_POINTS, CPU_SSM_ENTRY_POINTS,
CPU_CONV_ENTRY_POINTS, CPU_PADDING_ENTRY_POINTS,
CPU_SHAPE_OPS_ENTRY_POINTS, CPU_INDEXING_ENTRY_POINTS,
CPU_MATMUL_ENTRY_POINTS,
CPU_ATTENTION_ENTRY_POINTS, CPU_INPLACE_ENTRY_POINTS, and
CPU_CAST_ENTRY_POINTS.
Unresolved → None, which the importer turns into a typed
UnknownEntryPoint error (never a panic, never a fabricated pointer).
Trait Implementations§
Source§impl LinkRegistry for CpuLinkRegistry
impl LinkRegistry for CpuLinkRegistry
Source§fn resolve_primitive(&self, symbol: &str) -> Option<KernelRef>
fn resolve_primitive(&self, symbol: &str) -> Option<KernelRef>
Resolve a primitive (
op_kind) kernel’s entry point.Source§fn resolve_fused(&self, symbol: &str) -> Option<KernelRef>
fn resolve_fused(&self, symbol: &str) -> Option<KernelRef>
Resolve a fused (
fused_op) kernel’s entry point.Source§fn resolve_cost_fn(&self, _name: &str) -> Option<CostFn>
fn resolve_cost_fn(&self, _name: &str) -> Option<CostFn>
Resolve a contract’s
cost.cost_fn NAME into a concrete CostFn
pointer — the cost-model analogue of Self::resolve_primitive (§4.4
cost-fn trampoline, Task-F). A provider that pins real cost fns exports
its own &'static [(&str, CostFn)] table and overrides this over it
(exactly as it exports its entry_point table); the built-in default
is None (no cost-fn table), so every existing LinkRegistry impl and
test stub compiles unchanged and a section that names no cost fn is
unaffected. The importer never fabricates a pointer: an unresolved name
is a typed FkcError::UnknownCostFn, never a silent unknown_cost
fallback (P9 — the resolved cost model is a real registered fn, not a
serialized pointer).Auto Trait Implementations§
impl Freeze for CpuLinkRegistry
impl RefUnwindSafe for CpuLinkRegistry
impl Send for CpuLinkRegistry
impl Sync for CpuLinkRegistry
impl Unpin for CpuLinkRegistry
impl UnsafeUnpin for CpuLinkRegistry
impl UnwindSafe for CpuLinkRegistry
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
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> ⓘ
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
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