pub trait IndexedMovement<B>where
B: GroupedNeuralBackend,{
type Error;
// Required methods
fn index_demands(
&mut self,
indices: &B::Tensor,
upper_bound: usize,
context: &<B::Tensor as Tensor>::Context,
) -> Result<Vec<(usize, u64)>, Self::Error>;
fn remap_indices(
&mut self,
indices: &B::Tensor,
mapping: &[(usize, usize)],
context: &<B::Tensor as Tensor>::Context,
) -> Result<B::Tensor, Self::Error>;
fn select_rows(
&mut self,
value: &B::Tensor,
start: usize,
end: usize,
context: &<B::Tensor as Tensor>::Context,
) -> Result<B::Tensor, Self::Error>;
fn concatenate_rows(
&mut self,
values: &[B::Tensor],
context: &<B::Tensor as Tensor>::Context,
) -> Result<B::Tensor, Self::Error>;
}Expand description
Generic indexed tensor movement required by bounded grouped execution.
Implementations expose integer-index discovery and tensor movement without receiving architecture plans, bank meaning, or text lifecycle policy.
Required Associated Types§
Required Methods§
Sourcefn index_demands(
&mut self,
indices: &B::Tensor,
upper_bound: usize,
context: &<B::Tensor as Tensor>::Context,
) -> Result<Vec<(usize, u64)>, Self::Error>
fn index_demands( &mut self, indices: &B::Tensor, upper_bound: usize, context: &<B::Tensor as Tensor>::Context, ) -> Result<Vec<(usize, u64)>, Self::Error>
Returns deterministic demand counts for integer indices below upper_bound.
Sourcefn remap_indices(
&mut self,
indices: &B::Tensor,
mapping: &[(usize, usize)],
context: &<B::Tensor as Tensor>::Context,
) -> Result<B::Tensor, Self::Error>
fn remap_indices( &mut self, indices: &B::Tensor, mapping: &[(usize, usize)], context: &<B::Tensor as Tensor>::Context, ) -> Result<B::Tensor, Self::Error>
Rewrites source indices through one exact source-to-compact mapping.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".