pub struct DecodeTokenData {
pub token_ids: Arc<RwLock<Storage>>,
pub rope_cos: Arc<RwLock<Storage>>,
pub rope_sin: Arc<RwLock<Storage>>,
pub mask: Arc<RwLock<Storage>>,
pub offset: Option<Arc<RwLock<Storage>>>,
}Expand description
Per-token re-bound data-Const Arcs for a persistent decode step
(Phase D · D2b). Each is a device-resident fuel_memory::Storage
built from freshly recomputed host bytes (token-ids = the new token,
RoPE cos+sin at position = cached_len, mask with the shifted -inf
boundary). DecodeSession::realize_token overwrites the held
base_cache’s stable data-Const entries with these for the token.
Fields§
§token_ids: Arc<RwLock<Storage>>§rope_cos: Arc<RwLock<Storage>>§rope_sin: Arc<RwLock<Storage>>§mask: Arc<RwLock<Storage>>§offset: Option<Arc<RwLock<Storage>>>The device-resident KV-write offset (cached_len as a rank-0
I64), present ONLY on the device-offset decode path (CUDA/CPU
targets, where Op::WriteSliceDoff reads the start from this
buffer at kernel launch — capture-ready). None on the SymEnv
path (Vulkan), where the KV write is Op::WriteSlice with a
DynScalar::Sym(cached_len) offset resolved host-side per token.
Auto Trait Implementations§
impl Freeze for DecodeTokenData
impl RefUnwindSafe for DecodeTokenData
impl Send for DecodeTokenData
impl Sync for DecodeTokenData
impl Unpin for DecodeTokenData
impl UnsafeUnpin for DecodeTokenData
impl UnwindSafe for DecodeTokenData
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<T> ErasedDestructor for Twhere
T: 'static,
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> ⓘ
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> ⓘ
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