pub struct C;Expand description
The CPU through C (crate::compile::compile_to_c): the decode step as one C program; a run builds its
generation program once, with no contraction of a product and a sum into one fused multiply-add, whose single
rounding the VM’s arithmetic never takes, and runs it.
Trait Implementations§
Source§impl Backend for C
impl Backend for C
Source§fn bring_up(
&self,
spec: &ModelSpec,
_checkpoint: &Path,
ctx: usize,
out: &Path,
) -> Result<Brought, Refused>
fn bring_up( &self, spec: &ModelSpec, _checkpoint: &Path, ctx: usize, out: &Path, ) -> Result<Brought, Refused>
Lower
spec’s program — the checkpoint at checkpoint — over caches of ctx positions, writing the artifacts
under out.Source§fn run(
&self,
spec: &ModelSpec,
checkpoint: &Path,
ctx: usize,
out: &Path,
sequences: &[Sequence],
) -> Result<Generated, Refused>
fn run( &self, spec: &ModelSpec, checkpoint: &Path, ctx: usize, out: &Path, sequences: &[Sequence], ) -> Result<Generated, Refused>
Run the model on this chip, what
Backend::bring_up wrote under out beside it: every one of sequences
from an empty state, its prompt (token ids from 0) and then as many tokens as it is judged against, generated
greedily through the one program — or refuse by name, a chip that is not on this machine, or whose run is not
built yet, saying which.Auto Trait Implementations§
impl Freeze for C
impl RefUnwindSafe for C
impl Send for C
impl Sync for C
impl Unpin for C
impl UnsafeUnpin for C
impl UnwindSafe for C
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<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.