pub type CollectTensor<'l, const T: Tu, D, Chip, Cluster, Slice, Time, Packet> = StreamTensor<'l, T, PositionCollect, D, Chip, Cluster, Slice, Time, Packet>;Expand description
Tensor after collect engine: packet is exactly 32 bytes (one flit).
Aliased Type§
pub struct CollectTensor<'l, const T: Tu, D, Chip, Cluster, Slice, Time, Packet> { /* private fields */ }Implementations§
Source§impl<'l, const T: Tu, D: Scalar, Chip: M, Cluster: M, Slice: M, Time: M, Packet: M> CollectTensor<'l, T, D, Chip, Cluster, Slice, Time, Packet>
impl<'l, const T: Tu, D: Scalar, Chip: M, Cluster: M, Slice: M, Time: M, Packet: M> CollectTensor<'l, T, D, Chip, Cluster, Slice, Time, Packet>
Sourcepub fn to_trf<Row: M, Element: M>(
self,
address: TrfAddress,
) -> TrfTensor<D, Chip, Cluster, Slice, Row, Element>
pub fn to_trf<Row: M, Element: M>( self, address: TrfAddress, ) -> TrfTensor<D, Chip, Cluster, Slice, Row, Element>
Stores to the tensor register file.
Sourcepub fn to_vrf<Element2: M>(
self,
address: Address,
) -> VrfTensor<D, Chip, Cluster, Slice, Element2>where
D: VeScalar,
pub fn to_vrf<Element2: M>(
self,
address: Address,
) -> VrfTensor<D, Chip, Cluster, Slice, Element2>where
D: VeScalar,
Stores to the vector register file.
Sourcepub fn vector_init(
self,
) -> VectorInitTensor<'l, T, D, Chip, Cluster, Slice, Time, Packet>where
D: VeScalar,
pub fn vector_init(
self,
) -> VectorInitTensor<'l, T, D, Chip, Cluster, Slice, Time, Packet>where
D: VeScalar,
Initializes Vector Engine processing for this tensor.
Sourcepub fn align<OutTime: M, OutPacket: M, Row: M, TrfElement: M>(
self,
trf_tensor: &TrfTensor<D, Chip, Cluster, Slice, Row, TrfElement>,
) -> AlignedPair<'l, T, D, Chip, Cluster, Slice, Row, OutTime, OutPacket>
pub fn align<OutTime: M, OutPacket: M, Row: M, TrfElement: M>( self, trf_tensor: &TrfTensor<D, Chip, Cluster, Slice, Row, TrfElement>, ) -> AlignedPair<'l, T, D, Chip, Cluster, Slice, Row, OutTime, OutPacket>
Aligns LHS stream (via Feed Buffer) and RHS TRF (via TRF Sequencer) to computation shape.
Sourcepub fn transpose<OutTime: M, OutPacket: M>(
self,
) -> TransposeTensor<'l, T, D, Chip, Cluster, Slice, OutTime, OutPacket>
pub fn transpose<OutTime: M, OutPacket: M>( self, ) -> TransposeTensor<'l, T, D, Chip, Cluster, Slice, OutTime, OutPacket>
Performs transpose operation.
Trait Implementations§
Source§impl<'l, const T: Tu, D: VeScalar, Chip: M, Cluster: M, Slice: M, Time: M, Packet: M> StreamCast<D> for CollectTensor<'l, T, D, Chip, Cluster, Slice, Time, Packet>
impl<'l, const T: Tu, D: VeScalar, Chip: M, Cluster: M, Slice: M, Time: M, Packet: M> StreamCast<D> for CollectTensor<'l, T, D, Chip, Cluster, Slice, Time, Packet>
Source§type CastOutput<D2: Scalar, OutPacket: M> = StreamTensor<'l, T, PositionCast, D2, Chip, Cluster, Slice, Time, OutPacket>
where
D: Cast<D2>
type CastOutput<D2: Scalar, OutPacket: M> = StreamTensor<'l, T, PositionCast, D2, Chip, Cluster, Slice, Time, OutPacket> where D: Cast<D2>
The output tensor type after casting to scalar type
D2.