#[cutile_macro::module(tile_rust_crate = true)]
pub mod tileir {
use crate::_core::core::*;
#[cuda_tile::op(name="cuda_tile.atomic_red_view_tko", params=["view", "value", "index"])]
#[cuda_tile::variadic_op(N = 6)]
pub unsafe fn atomic_red_view_tko<
E: ElementType,
const D: [i32; N],
M: atomic::Mode,
O: ordering::AtomicMode,
Sc: scope::Mode,
>(
view: &mut PartitionMut<E, D>,
value: Tile<E, D>,
index: [i32; N],
mode: M,
memory_ordering: O,
memory_scope: Sc,
) -> Token {
unreachable!()
}
#[cuda_tile::ty(name="!cuda_tile.gather_scatter_view",
type_params=["tile"],
type_params_optional=["padding_value"])]
#[cuda_tile::variadic_struct(N = 6)]
pub struct GatherScatterView<
'a,
E: ElementType,
const TILE_SHAPE: [i32; N],
const SPARSE_DIM: i32,
> {
_marker: ::core::marker::PhantomData<(&'a (), E)>,
}
#[cuda_tile::op(name = "cuda_tile.make_gather_scatter_view")]
#[cuda_tile::variadic_op(N = 6)]
pub unsafe fn make_gather_scatter_view<
'a,
E: ElementType,
const TENSOR_SHAPE: [i32; N],
const TILE_SHAPE: [i32; N],
const SPARSE_DIM: i32,
P: padding::Mode,
>(
tensor_view: &'a Tensor<E, TENSOR_SHAPE>,
_tile: Shape<TILE_SHAPE>,
_padding: P,
) -> GatherScatterView<'a, E, TILE_SHAPE, SPARSE_DIM> {
unreachable!()
}
#[cuda_tile::op(name = "cuda_tile.load_gather_scatter_view_tko")]
#[cuda_tile::variadic_op(N = 6)]
pub unsafe fn load_gather_scatter_view_tko<
E: ElementType,
const TILE_SHAPE: [i32; N],
const SPARSE_DIM: i32,
const SPARSE_IDX_SIZE: i32,
O: ordering::AtomicMode,
Sc: scope::Mode,
>(
view: &GatherScatterView<'_, E, TILE_SHAPE, SPARSE_DIM>,
sparse_index: Tile<i32, { [SPARSE_IDX_SIZE] }>,
dense_index: i32,
token: Token,
memory_ordering: O,
memory_scope: Sc,
) -> (Tile<E, TILE_SHAPE>, Token) {
unreachable!()
}
#[cuda_tile::ty(name="!cuda_tile.strided_view",
type_params=["tile"],
type_params_optional=["traversal_strides", "dim_map", "padding_value"])]
#[cuda_tile::variadic_struct(N = 6)]
pub struct StridedView<
'a,
E: ElementType,
const TILE_SHAPE: [i32; N],
const TRAVERSAL_STRIDES: [i32; N],
const DIM_MAP: [i32; N],
> {
_marker: ::core::marker::PhantomData<(&'a (), E)>,
}
#[cuda_tile::op(name = "cuda_tile.make_strided_view")]
#[cuda_tile::variadic_op(N = 6)]
pub unsafe fn make_strided_view<
'a,
E: ElementType,
const TENSOR_SHAPE: [i32; N],
const TILE_SHAPE: [i32; N],
const TRAVERSAL_STRIDES: [i32; N],
const DIM_MAP: [i32; N],
P: padding::Mode,
>(
tensor_view: &'a Tensor<E, TENSOR_SHAPE>,
_tile: Shape<TILE_SHAPE>,
_padding: P,
) -> StridedView<'a, E, TILE_SHAPE, TRAVERSAL_STRIDES, DIM_MAP> {
unreachable!()
}
#[cuda_tile::op(name = "cuda_tile.load_strided_view_tko")]
#[cuda_tile::variadic_op(N = 6)]
pub unsafe fn load_strided_view_tko<
E: ElementType,
const TILE_SHAPE: [i32; N],
const TRAVERSAL_STRIDES: [i32; N],
const DIM_MAP: [i32; N],
O: ordering::AtomicMode,
Sc: scope::Mode,
>(
view: &StridedView<'_, E, TILE_SHAPE, TRAVERSAL_STRIDES, DIM_MAP>,
index: [i32; N],
token: Token,
memory_ordering: O,
memory_scope: Sc,
) -> (Tile<E, TILE_SHAPE>, Token) {
unreachable!()
}
}