pub struct DsaDecodePaging {
pub num_seqs: usize,
pub num_q_heads: usize,
pub num_kv_heads: usize,
pub max_blocks_per_seq: usize,
pub block_size: usize,
pub cache_stride_bytes: u64,
}Expand description
Paging geometry the decode needs and the selection does not.
Fields§
§num_seqs: usize§num_q_heads: usize§num_kv_heads: usize§max_blocks_per_seq: usize§block_size: usize§cache_stride_bytes: u64Implementations§
Source§impl DsaDecodePaging
impl DsaDecodePaging
Sourcepub fn validate(&self, cfg: &Glm5NextDsaConfig) -> Result<()>
pub fn validate(&self, cfg: &Glm5NextDsaConfig) -> Result<()>
🪤 block_size % index_kpool == 0 is required by the selector, not this kernel:
pools are built over absolute positions, so a block that straddles a pool boundary
makes a pool’s tokens span two pages. The gather itself is per-token and would not
notice — which is exactly why the check belongs here rather than nowhere.
Trait Implementations§
Source§impl Clone for DsaDecodePaging
impl Clone for DsaDecodePaging
Source§fn clone(&self) -> DsaDecodePaging
fn clone(&self) -> DsaDecodePaging
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for DsaDecodePaging
impl Debug for DsaDecodePaging
Source§impl PartialEq for DsaDecodePaging
impl PartialEq for DsaDecodePaging
impl Copy for DsaDecodePaging
impl Eq for DsaDecodePaging
impl StructuralPartialEq for DsaDecodePaging
Auto Trait Implementations§
impl Freeze for DsaDecodePaging
impl RefUnwindSafe for DsaDecodePaging
impl Send for DsaDecodePaging
impl Sync for DsaDecodePaging
impl Unpin for DsaDecodePaging
impl UnwindSafe for DsaDecodePaging
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.