pub struct MatmulGeometry {
pub tile_x: u32,
pub tile_y: u32,
pub micro_m: u32,
pub micro_n: u32,
pub depth: u32,
}Expand description
Shape of one MATMUL workgroup: tile_x × tile_y invocations, each accumulating a
micro_m × micro_n register block, over shared-memory slabs depth deep in k. Every
dimension is a power of two and the two slabs stage evenly over the invocations.
Fields§
§tile_x: u32§tile_y: u32§micro_m: u32§micro_n: u32§depth: u32Implementations§
Source§impl MatmulGeometry
impl MatmulGeometry
Sourcepub const fn wide(tile: u32) -> Self
pub const fn wide(tile: u32) -> Self
The square register-tiled geometry: tile × tile invocations, MATMUL_MICRO² each,
tile deep — a 64 × 64 block at the preferred tile.
pub const fn invocations(self) -> u32
pub const fn block_m(self) -> u32
pub const fn block_n(self) -> u32
pub const fn local_size(self) -> [u32; 3]
Two binary32 slabs: lhs block_m × depth (stored transposed) and rhs depth × block_n.
Trait Implementations§
Source§impl Clone for MatmulGeometry
impl Clone for MatmulGeometry
Source§fn clone(&self) -> MatmulGeometry
fn clone(&self) -> MatmulGeometry
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for MatmulGeometry
Source§impl Debug for MatmulGeometry
impl Debug for MatmulGeometry
impl Eq for MatmulGeometry
Source§impl PartialEq for MatmulGeometry
impl PartialEq for MatmulGeometry
Source§fn eq(&self, other: &MatmulGeometry) -> bool
fn eq(&self, other: &MatmulGeometry) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for MatmulGeometry
Auto Trait Implementations§
impl Freeze for MatmulGeometry
impl RefUnwindSafe for MatmulGeometry
impl Send for MatmulGeometry
impl Sync for MatmulGeometry
impl Unpin for MatmulGeometry
impl UnsafeUnpin for MatmulGeometry
impl UnwindSafe for MatmulGeometry
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