reverse_slice_sequence_impl< sequence< x >, sequence< m >, sequence< id >, SliceSize > Struct Template Reference

reverse_slice_sequence_impl&lt; sequence&lt; x &gt;, sequence&lt; m &gt;, sequence&lt; id &gt;, SliceSize &gt; Struct Template Reference#

Composable Kernel: ck_tile::impl::reverse_slice_sequence_impl< sequence< x >, sequence< m >, sequence< id >, SliceSize > Struct Template Reference
ck_tile::impl::reverse_slice_sequence_impl< sequence< x >, sequence< m >, sequence< id >, SliceSize > Struct Template Reference

#include <sequence.hpp>

Public Types

using dim_lengths = sequence<slice_length>
using dim_slices = sequence<x / slice_length>
using remaining_slice_sizes

Static Public Attributes

static constexpr auto slice_size = SliceSize
static constexpr auto slice_length
static constexpr index_t _flag
static constexpr index_t split_flag = std::conditional_t<m, number<_flag>, number<0>>::value
static constexpr index_t split_idx

Member Typedef Documentation

◆ dim_lengths

template<index_t x, index_t m, index_t id, index_t SliceSize>
using ck_tile::impl::reverse_slice_sequence_impl< sequence< x >, sequence< m >, sequence< id >, SliceSize >::dim_lengths = sequence<slice_length>

◆ dim_slices

template<index_t x, index_t m, index_t id, index_t SliceSize>
using ck_tile::impl::reverse_slice_sequence_impl< sequence< x >, sequence< m >, sequence< id >, SliceSize >::dim_slices = sequence<x / slice_length>

◆ remaining_slice_sizes

template<index_t x, index_t m, index_t id, index_t SliceSize>
using ck_tile::impl::reverse_slice_sequence_impl< sequence< x >, sequence< m >, sequence< id >, SliceSize >::remaining_slice_sizes
Initial value:
Definition tile/core/container/sequence.hpp:49

Member Data Documentation

◆ _flag

template<index_t x, index_t m, index_t id, index_t SliceSize>
index_t ck_tile::impl::reverse_slice_sequence_impl< sequence< x >, sequence< m >, sequence< id >, SliceSize >::_flag
staticconstexpr
Initial value:
=
slice_length != x && remaining_slice_sizes{}.front().value == 1
typename sequence_merge< std::conditional_t< m, sequence< slice_size/slice_length >, sequence< slice_size > >, typename old_scan::remaining_slice_sizes >::type remaining_slice_sizes
Definition tile/core/container/sequence.hpp:1150

◆ slice_length

template<index_t x, index_t m, index_t id, index_t SliceSize>
auto ck_tile::impl::reverse_slice_sequence_impl< sequence< x >, sequence< m >, sequence< id >, SliceSize >::slice_length
staticconstexpr
Initial value:
=
std::conditional_t<m, number<gcd(x, slice_size)>, number<x>>::value
constant< v > number
Definition tile/core/numeric/integral_constant.hpp:37
CK_TILE_HOST_DEVICE constexpr index_t gcd(index_t x, index_t y)
Definition tile/core/numeric/math.hpp:268
const GenericPointer< typename T::ValueType > T2 value
Definition pointer.h:1697

◆ slice_size

template<index_t x, index_t m, index_t id, index_t SliceSize>
auto ck_tile::impl::reverse_slice_sequence_impl< sequence< x >, sequence< m >, sequence< id >, SliceSize >::slice_size = SliceSize
staticconstexpr

◆ split_flag

template<index_t x, index_t m, index_t id, index_t SliceSize>
index_t ck_tile::impl::reverse_slice_sequence_impl< sequence< x >, sequence< m >, sequence< id >, SliceSize >::split_flag = std::conditional_t<m, number<_flag>, number<0>>::value
staticconstexpr

◆ split_idx

template<index_t x, index_t m, index_t id, index_t SliceSize>
index_t ck_tile::impl::reverse_slice_sequence_impl< sequence< x >, sequence< m >, sequence< id >, SliceSize >::split_idx
staticconstexpr
Initial value:
=
std::conditional_t<split_flag, number<id>, number<0>>::value

The documentation for this struct was generated from the following file: