pub(crate) mod algebra;
pub mod launch;
pub mod layout;
pub mod ops;
pub mod space;
pub mod stage;
pub(crate) mod tile;
pub mod kind {
pub use crate::tile::accumulator::planes_output::PlanesOutput;
pub use crate::tile::accumulator::smem_accumulation::SmemAccumulation;
pub use crate::tile::accumulator::smem_cyclic::SmemCyclicAccumulation;
pub use crate::tile::kind::memory::base::{Boundary, Schedule, Storage, Write};
pub use crate::tile::kind::memory::global::GlobalOperand;
pub use crate::tile::kind::memory::view::masked::{Masked, MaskedMut};
pub use crate::tile::packing::base::Field;
}
pub mod procedural {
pub use crate::tile::kind::procedural::affine::{AffineCoordinate, affine_along};
pub use crate::tile::kind::procedural::base::{Reads, Recipe, RecipeCoords, RecipeExpand};
pub use crate::tile::kind::procedural::constant::Constant;
pub use crate::tile::kind::procedural::kind::Procedural;
pub use crate::tile::kind::procedural::normalization::{DivGuard, TapSupport};
pub use crate::tile::kind::procedural::phase::Phase;
pub use crate::tile::kind::procedural::product::{Product, product_of};
pub use crate::tile::kind::procedural::separable::Factors;
pub use crate::tile::kind::procedural::sum::{Sum, sum_of};
}
#[allow(unused_imports)]
pub(crate) use {algebra::*, launch::*, layout::*, ops::*, space::*, stage::*, tile::*};
pub use algebra::monoid::{Carrier, Monoid};
pub use algebra::semiring::Semiring;
pub use launch::arg::tensor::{TileArg, TileArgLaunch};
pub use launch::base::Launcher;
pub use launch::spec::TileSpec;
pub use layout::geometry::Geometry;
pub use layout::projection::Projection;
pub use ops::matmul::config::RegisterBlock;
pub use ops::matmul::instruction::Instruction;
pub use space::axis::Axis;
pub use space::base::Space;
pub use space::partition::base::Partitioning;
pub use space::partition::level::Level;
pub use space::partition::levels::Levels;
pub use space::region::{Leaves, Region};
pub use space::walk::base::Walk;
pub use stage::base::StageStorage;
pub use stage::pipeline::base::Stages;
pub use tile::accumulator::base::{Accumulate, AccumulateExpand, Scratch};
pub use tile::base::{Tile, TileExpand};
pub use tile::slices::{AxisSlices, AxisSlicesExpand};