pub struct FusedTransformer { /* private fields */ }Expand description
A complete N-layer fused transformer. All ops bypass candle.
Implementations§
Source§impl FusedTransformer
impl FusedTransformer
Sourcepub fn new(
cfg: TransformerConfig,
layers: Vec<LayerWeights>,
norm_w: Vec<f32>,
) -> Self
pub fn new( cfg: TransformerConfig, layers: Vec<LayerWeights>, norm_w: Vec<f32>, ) -> Self
Create from pre-extracted layer weights.
Sourcepub fn forward(&mut self, input: &[f32], tokens: usize) -> Vec<f32>
pub fn forward(&mut self, input: &[f32], tokens: usize) -> Vec<f32>
Forward: input [tokens, hidden] → output [tokens, hidden] (f32 vecs).
Sourcepub fn create_gpu_buffer(&self, data: &[f32]) -> Option<GpuBuffer>
pub fn create_gpu_buffer(&self, data: &[f32]) -> Option<GpuBuffer>
Create a Metal buffer from f32 data (shared memory, zero-copy on Apple Silicon). Returns None if Metal not available. Create a GPU buffer from f32 data. Returns None if GPU not available.
pub fn reset(&mut self)
Auto Trait Implementations§
impl Freeze for FusedTransformer
impl RefUnwindSafe for FusedTransformer
impl Send for FusedTransformer
impl Sync for FusedTransformer
impl Unpin for FusedTransformer
impl UnsafeUnpin for FusedTransformer
impl UnwindSafe for FusedTransformer
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