TransposeTileDistributionTraits< TileDistributionEncoding_, DataType_, Policy, ReverseDirection > Struct Template Reference#
ck_tile::TransposeTileDistributionTraits< TileDistributionEncoding_, DataType_, Policy, ReverseDirection > Struct Template Reference
#include <load_tile_transpose.hpp>
Public Types | |
| using | InDstrEncode = remove_cvref_t<TileDistributionEncoding_> |
| using | QuadInputEncoding |
| using | QuadOutputEncoding |
| using | TransposedDstrEncode |
Static Public Attributes | |
| static constexpr auto | input_hs_lengthss = InDstrEncode::hs_lengthss_ |
| static constexpr index_t | LaneGroupSize |
| static constexpr auto | quad_input_hs_lengthss = QuadInputEncoding::hs_lengthss_ |
| static constexpr auto | quad_output_hs_lengthss = QuadOutputEncoding::hs_lengthss_ |
| static constexpr auto | input_ps_to_rhss_major = InDstrEncode::ps_to_rhss_major_ |
| static constexpr auto | input_ps_to_rhss_minor = InDstrEncode::ps_to_rhss_minor_ |
| static constexpr auto | input_ys_to_rhs_major = InDstrEncode::ys_to_rhs_major_ |
| static constexpr auto | input_ys_to_rhs_minor = InDstrEncode::ys_to_rhs_minor_ |
| static constexpr auto | I0 = number<0>{} |
| static constexpr auto | quad_input_ps_to_rhss_major0 = QuadInputEncoding::ps_to_rhss_major_[I0] |
| static constexpr auto | quad_input_ps_to_rhss_minor0 = QuadInputEncoding::ps_to_rhss_minor_[I0] |
| static constexpr auto | quad_output_ps_to_rhss_major0 = QuadOutputEncoding::ps_to_rhss_major_[I0] |
| static constexpr auto | quad_output_ps_to_rhss_minor0 = QuadOutputEncoding::ps_to_rhss_minor_[I0] |
| static constexpr auto | quad_output_ys_to_rhs_major = QuadOutputEncoding::ys_to_rhs_major_ |
| static constexpr auto | quad_output_ys_to_rhs_minor = QuadOutputEncoding::ys_to_rhs_minor_ |
| static constexpr index_t | dim0 = Policy::transpose_dims[0] |
| static constexpr index_t | dim1 = Policy::transpose_dims[1] |
| static constexpr auto | swap_one_and_two |
| static constexpr auto | outer_hs_lengthss |
| static constexpr auto | reversed_outer_hs_lengthss = tuple_reverse(outer_hs_lengthss) |
| static constexpr auto | dst_out_hs_lengthss |
| static constexpr auto | dst_ps_to_rhss_major |
| static constexpr auto | quad_idx_offset |
| static constexpr auto | quad_output_ps_minor_offset |
| static constexpr auto | quad_output_ys_minor_offset |
| static constexpr auto | dst_ps_to_rhss_minor |
| static constexpr auto | outer_input_ys_to_rhs_major = input_ys_to_rhs_major.pop_back() |
| static constexpr auto | dst_ys_to_rhs_major |
| static constexpr auto | dst_ys_to_rhs_minor |
Member Typedef Documentation
◆ InDstrEncode
template<typename TileDistributionEncoding_, typename DataType_, typename Policy = DefaultTranspose<DataType_>, bool ReverseDirection = false>
| using ck_tile::TransposeTileDistributionTraits< TileDistributionEncoding_, DataType_, Policy, ReverseDirection >::InDstrEncode = remove_cvref_t<TileDistributionEncoding_> |
◆ QuadInputEncoding
template<typename TileDistributionEncoding_, typename DataType_, typename Policy = DefaultTranspose<DataType_>, bool ReverseDirection = false>
| using ck_tile::TransposeTileDistributionTraits< TileDistributionEncoding_, DataType_, Policy, ReverseDirection >::QuadInputEncoding |
Initial value:
std::conditional_t<
ReverseDirection,
typename Policy::template QuadOutputEncoding<LaneGroupSize>,
typename Policy::template QuadInputEncoding<LaneGroupSize>>
std::conditional_t< ReverseDirection, typename Policy::template QuadInputEncoding< LaneGroupSize >, typename Policy::template QuadOutputEncoding< LaneGroupSize > > QuadOutputEncoding
Definition load_tile_transpose.hpp:219
std::conditional_t< ReverseDirection, typename Policy::template QuadOutputEncoding< LaneGroupSize >, typename Policy::template QuadInputEncoding< LaneGroupSize > > QuadInputEncoding
Definition load_tile_transpose.hpp:215
◆ QuadOutputEncoding
template<typename TileDistributionEncoding_, typename DataType_, typename Policy = DefaultTranspose<DataType_>, bool ReverseDirection = false>
| using ck_tile::TransposeTileDistributionTraits< TileDistributionEncoding_, DataType_, Policy, ReverseDirection >::QuadOutputEncoding |
Initial value:
std::conditional_t<
ReverseDirection,
typename Policy::template QuadInputEncoding<LaneGroupSize>,
typename Policy::template QuadOutputEncoding<LaneGroupSize>>
◆ TransposedDstrEncode
template<typename TileDistributionEncoding_, typename DataType_, typename Policy = DefaultTranspose<DataType_>, bool ReverseDirection = false>
| using ck_tile::TransposeTileDistributionTraits< TileDistributionEncoding_, DataType_, Policy, ReverseDirection >::TransposedDstrEncode |
Initial value:
tile_distribution_encoding<typename InDstrEncode::RsLengths,
remove_cv_t< std::remove_reference_t< T > > remove_cvref_t
Definition type_traits.hpp:21
static constexpr auto dst_ps_to_rhss_major
Definition load_tile_transpose.hpp:268
static constexpr auto dst_ys_to_rhs_minor
Definition load_tile_transpose.hpp:323
static constexpr auto dst_out_hs_lengthss
Definition load_tile_transpose.hpp:258
static constexpr auto dst_ps_to_rhss_minor
Definition load_tile_transpose.hpp:297
static constexpr auto dst_ys_to_rhs_major
Definition load_tile_transpose.hpp:320
Definition tile_distribution_encoding.hpp:26
Member Data Documentation
◆ dim0
template<typename TileDistributionEncoding_, typename DataType_, typename Policy = DefaultTranspose<DataType_>, bool ReverseDirection = false>
|
staticconstexpr |
◆ dim1
template<typename TileDistributionEncoding_, typename DataType_, typename Policy = DefaultTranspose<DataType_>, bool ReverseDirection = false>
|
staticconstexpr |
◆ dst_out_hs_lengthss
template<typename TileDistributionEncoding_, typename DataType_, typename Policy = DefaultTranspose<DataType_>, bool ReverseDirection = false>
|
staticconstexpr |
Initial value:
[](auto i) {
auto outer_i = reversed_outer_hs_lengthss[i];
return outer_i.push_back(quad_output_hs_lengthss[i]);
},
CK_TILE_HOST_DEVICE constexpr auto generate_tuple(F &&f, number< N >)
Definition tile/core/container/tuple.hpp:429
static constexpr auto reversed_outer_hs_lengthss
Definition load_tile_transpose.hpp:257
static constexpr auto quad_output_hs_lengthss
Definition load_tile_transpose.hpp:225
◆ dst_ps_to_rhss_major
template<typename TileDistributionEncoding_, typename DataType_, typename Policy = DefaultTranspose<DataType_>, bool ReverseDirection = false>
|
staticconstexpr |
Initial value:
[](auto i) {
{
return reduced_ps_to_rhss_major.transform(swap_one_and_two).push_back(quad_out);
}
else
{
}
},
number<input_ps_to_rhss_major.size()>{})
Definition load_tile_transpose.hpp:207
static constexpr auto quad_input_ps_to_rhss_major0
Definition load_tile_transpose.hpp:233
static constexpr auto quad_output_ps_to_rhss_major0
Definition load_tile_transpose.hpp:235
static constexpr auto swap_one_and_two
Definition load_tile_transpose.hpp:243
static constexpr auto input_ps_to_rhss_major
Definition load_tile_transpose.hpp:227
typename std::conditional< kHasContent, type0, type1 >::type type
Definition tile/core/container/sequence.hpp:302
◆ dst_ps_to_rhss_minor
template<typename TileDistributionEncoding_, typename DataType_, typename Policy = DefaultTranspose<DataType_>, bool ReverseDirection = false>
|
staticconstexpr |
Initial value:
[](auto i) {
{
constexpr auto outer_ps =
return outer_ps.push_back(quad_output_ps_minor_offset +
}
else
{
return input_i;
}
},
number<input_ps_to_rhss_minor.size()>{})
static constexpr auto quad_output_ps_to_rhss_minor0
Definition load_tile_transpose.hpp:236
static constexpr auto quad_input_ps_to_rhss_minor0
Definition load_tile_transpose.hpp:234
static constexpr auto quad_output_ps_minor_offset
Definition load_tile_transpose.hpp:292
static constexpr auto input_ps_to_rhss_minor
Definition load_tile_transpose.hpp:228
Definition tile/core/container/sequence.hpp:352
◆ dst_ys_to_rhs_major
template<typename TileDistributionEncoding_, typename DataType_, typename Policy = DefaultTranspose<DataType_>, bool ReverseDirection = false>
|
staticconstexpr |
Initial value:
=
static constexpr auto outer_input_ys_to_rhs_major
Definition load_tile_transpose.hpp:317
◆ dst_ys_to_rhs_minor
template<typename TileDistributionEncoding_, typename DataType_, typename Policy = DefaultTranspose<DataType_>, bool ReverseDirection = false>
|
staticconstexpr |
Initial value:
= input_ys_to_rhs_minor.pop_back().push_back(
static constexpr auto quad_output_ys_to_rhs_minor
Definition load_tile_transpose.hpp:238
static constexpr auto I0
Definition load_tile_transpose.hpp:232
static constexpr auto input_ys_to_rhs_minor
Definition load_tile_transpose.hpp:230
static constexpr auto quad_output_ys_minor_offset
Definition load_tile_transpose.hpp:294
◆ I0
template<typename TileDistributionEncoding_, typename DataType_, typename Policy = DefaultTranspose<DataType_>, bool ReverseDirection = false>
|
staticconstexpr |
◆ input_hs_lengthss
template<typename TileDistributionEncoding_, typename DataType_, typename Policy = DefaultTranspose<DataType_>, bool ReverseDirection = false>
|
staticconstexpr |
◆ input_ps_to_rhss_major
template<typename TileDistributionEncoding_, typename DataType_, typename Policy = DefaultTranspose<DataType_>, bool ReverseDirection = false>
|
staticconstexpr |
◆ input_ps_to_rhss_minor
template<typename TileDistributionEncoding_, typename DataType_, typename Policy = DefaultTranspose<DataType_>, bool ReverseDirection = false>
|
staticconstexpr |
◆ input_ys_to_rhs_major
template<typename TileDistributionEncoding_, typename DataType_, typename Policy = DefaultTranspose<DataType_>, bool ReverseDirection = false>
|
staticconstexpr |
◆ input_ys_to_rhs_minor
template<typename TileDistributionEncoding_, typename DataType_, typename Policy = DefaultTranspose<DataType_>, bool ReverseDirection = false>
|
staticconstexpr |
◆ LaneGroupSize
template<typename TileDistributionEncoding_, typename DataType_, typename Policy = DefaultTranspose<DataType_>, bool ReverseDirection = false>
|
staticconstexpr |
Initial value:
=
Policy::template ValidationTraits<InDstrEncode, ReverseDirection>::LaneGroupSize
◆ outer_hs_lengthss
template<typename TileDistributionEncoding_, typename DataType_, typename Policy = DefaultTranspose<DataType_>, bool ReverseDirection = false>
|
staticconstexpr |
Initial value:
[](auto i) {
},
static constexpr auto quad_input_hs_lengthss
Definition load_tile_transpose.hpp:224
static constexpr auto input_hs_lengthss
Definition load_tile_transpose.hpp:209
◆ outer_input_ys_to_rhs_major
template<typename TileDistributionEncoding_, typename DataType_, typename Policy = DefaultTranspose<DataType_>, bool ReverseDirection = false>
|
staticconstexpr |
◆ quad_idx_offset
template<typename TileDistributionEncoding_, typename DataType_, typename Policy = DefaultTranspose<DataType_>, bool ReverseDirection = false>
|
staticconstexpr |
Initial value:
=
CK_TILE_HOST_DEVICE constexpr auto transform_tuples(F f, const X &x)
Definition tile/core/container/tuple.hpp:505
◆ quad_input_hs_lengthss
template<typename TileDistributionEncoding_, typename DataType_, typename Policy = DefaultTranspose<DataType_>, bool ReverseDirection = false>
|
staticconstexpr |
◆ quad_input_ps_to_rhss_major0
template<typename TileDistributionEncoding_, typename DataType_, typename Policy = DefaultTranspose<DataType_>, bool ReverseDirection = false>
|
staticconstexpr |
◆ quad_input_ps_to_rhss_minor0
template<typename TileDistributionEncoding_, typename DataType_, typename Policy = DefaultTranspose<DataType_>, bool ReverseDirection = false>
|
staticconstexpr |
◆ quad_output_hs_lengthss
template<typename TileDistributionEncoding_, typename DataType_, typename Policy = DefaultTranspose<DataType_>, bool ReverseDirection = false>
|
staticconstexpr |
◆ quad_output_ps_minor_offset
template<typename TileDistributionEncoding_, typename DataType_, typename Policy = DefaultTranspose<DataType_>, bool ReverseDirection = false>
|
staticconstexpr |
Initial value:
CK_TILE_HOST_DEVICE constexpr auto generate_tuple_for(F &&f, sequence< ids... >)
Definition tile/core/container/tuple.hpp:423
CK_TILE_HOST_DEVICE constexpr auto to_sequence(tuple< number< Is >... >)
Definition tile/core/container/sequence.hpp:1055
static constexpr auto quad_idx_offset
Definition load_tile_transpose.hpp:288
◆ quad_output_ps_to_rhss_major0
template<typename TileDistributionEncoding_, typename DataType_, typename Policy = DefaultTranspose<DataType_>, bool ReverseDirection = false>
|
staticconstexpr |
◆ quad_output_ps_to_rhss_minor0
template<typename TileDistributionEncoding_, typename DataType_, typename Policy = DefaultTranspose<DataType_>, bool ReverseDirection = false>
|
staticconstexpr |
◆ quad_output_ys_minor_offset
template<typename TileDistributionEncoding_, typename DataType_, typename Policy = DefaultTranspose<DataType_>, bool ReverseDirection = false>
|
staticconstexpr |
Initial value:
static constexpr auto quad_output_ys_to_rhs_major
Definition load_tile_transpose.hpp:237
◆ quad_output_ys_to_rhs_major
template<typename TileDistributionEncoding_, typename DataType_, typename Policy = DefaultTranspose<DataType_>, bool ReverseDirection = false>
|
staticconstexpr |
◆ quad_output_ys_to_rhs_minor
template<typename TileDistributionEncoding_, typename DataType_, typename Policy = DefaultTranspose<DataType_>, bool ReverseDirection = false>
|
staticconstexpr |
◆ reversed_outer_hs_lengthss
template<typename TileDistributionEncoding_, typename DataType_, typename Policy = DefaultTranspose<DataType_>, bool ReverseDirection = false>
|
staticconstexpr |
◆ swap_one_and_two
template<typename TileDistributionEncoding_, typename DataType_, typename Policy = DefaultTranspose<DataType_>, bool ReverseDirection = false>
|
staticconstexpr |
Initial value:
The documentation for this struct was generated from the following file: