use crate::prelude::*;
pub fn copy_bulk<C: CubePrimitive>(
_from: &Slice<C>,
_from_index: u32,
_to: &mut SliceMut<C>,
_to_index: u32,
_length: u32,
) {
}
pub mod copy_bulk {
use crate::ir::{CopyMemoryBulkOperator, Instruction, Operator};
use super::*;
pub fn expand<C: CubeType>(
context: &mut CubeContext,
from: ExpandElementTyped<Slice<C>>,
from_index: ExpandElementTyped<u32>,
to: ExpandElementTyped<SliceMut<C>>,
to_index: ExpandElementTyped<u32>,
length: u32,
) {
context.register(Instruction::new(
Operator::CopyMemoryBulk(CopyMemoryBulkOperator {
out_index: to_index.expand.consume(),
input: from.expand.consume(),
in_index: from_index.expand.consume(),
len: length,
}),
*to.expand,
));
}
}