coordinate_transform.hpp File Reference

coordinate_transform.hpp File Reference#

Composable Kernel: coordinate_transform.hpp File Reference
coordinate_transform.hpp File Reference

Go to the source code of this file.

Classes

struct  ck_tile::base_transform< NDimLow, NDimUp >
struct  ck_tile::pass_through< LowLength >
struct  ck_tile::pad< LowLength, LeftPadLength, RightPadLength, SkipIsValidCheck >
struct  ck_tile::left_pad< LowLength, LeftPadLength, SkipIsValidCheck >
struct  ck_tile::right_pad< LowLength, RightPadLength, SkipIsValidCheck >
struct  ck_tile::embed< UpLengths, Coefficients, type >
struct  ck_tile::lambda_merge_generate_MagicDivision_calculate_magic_divisor< LowLengths >
struct  ck_tile::merge_v2_magic_division< LowLengths >
struct  ck_tile::merge_v3_division_mod< LowLengths >
struct  ck_tile::unmerge< UpLengths, Use24BitIntegerCalculation >
struct  ck_tile::freeze< LowerIndex >
struct  ck_tile::insert< UpperLength >
struct  ck_tile::replicate< UpLengths >
struct  ck_tile::slice< LowLength, SliceBegin, SliceEnd >
struct  ck_tile::modulo< Modulus, UpLength >
struct  ck_tile::xor_t< LowLengths >
struct  ck_tile::offset< LowLength, OffsetLength >
struct  ck_tile::indexing< UpLength, IndexingAdaptor >

Namespaces

namespace  ck_tile

Enumerations

enum struct  ck_tile::coord_transform_enum {
  ck_tile::undefined ,
  ck_tile::pass_through ,
  ck_tile::pad ,
  ck_tile::embed ,
  ck_tile::merge ,
  ck_tile::unmerge ,
  ck_tile::replicate ,
  ck_tile::xor_t ,
  ck_tile::offset ,
  ck_tile::indexing
}

Functions

template<typename LowLength>
CK_TILE_HOST_DEVICE constexpr auto ck_tile::make_pass_through_transform (const LowLength &low_length)
template<typename LowLength, typename LeftPad, typename RightPad, bool SkipIsValidCheck = false>
CK_TILE_HOST_DEVICE constexpr auto ck_tile::make_pad_transform (const LowLength &low_length, const LeftPad &left_pad, const RightPad &right_pad, bool_constant< SkipIsValidCheck >=bool_constant< false >{})
template<typename LowLength, typename LeftPadLength, bool SkipIsValidCheck = false>
CK_TILE_HOST_DEVICE constexpr auto ck_tile::make_left_pad_transform (const LowLength &low_length, const LeftPadLength &left_pad_, bool_constant< SkipIsValidCheck >=bool_constant< false >{})
template<typename LowLength, typename RightPadLength, bool SkipIsValidCheck = false>
CK_TILE_HOST_DEVICE constexpr auto ck_tile::make_right_pad_transform (const LowLength &low_length, const RightPadLength &right_pad_, bool_constant< SkipIsValidCheck >=bool_constant< false >{})
template<typename UpLengths, typename Coefficients, typename std::enable_if< UpLengths::size()==Coefficients::size(), bool >::type = false>
CK_TILE_HOST_DEVICE constexpr auto ck_tile::make_embed_transform (const UpLengths &up_lengths, const Coefficients &coefficients)
template<typename LowLengths>
CK_TILE_HOST_DEVICE constexpr auto ck_tile::make_merge_transform_v2_magic_division (const LowLengths &low_lengths)
template<typename LowLengths>
CK_TILE_HOST_DEVICE constexpr auto ck_tile::make_merge_transform_v3_division_mod (const LowLengths &low_lengths)
template<typename LowLengths>
CK_TILE_HOST_DEVICE constexpr auto ck_tile::make_merge_transform (const LowLengths &low_lengths)
template<typename UpLengths, bool Use24BitIntegerCalculation = false>
CK_TILE_HOST_DEVICE constexpr auto ck_tile::make_unmerge_transform (const UpLengths &up_lengths, bool_constant< Use24BitIntegerCalculation >=bool_constant< false >{})
template<typename LowerIndex>
CK_TILE_HOST_DEVICE constexpr auto ck_tile::make_freeze_transform (const LowerIndex &low_idx)
template<typename UpperIndex>
CK_TILE_HOST_DEVICE constexpr auto ck_tile::make_insert_transform (const UpperIndex &up_idx)
template<typename UpLengths>
CK_TILE_HOST_DEVICE constexpr auto ck_tile::make_replicate_transform (const UpLengths &up_lengths)
template<typename LowLength, typename SliceBegin, typename SliceEnd>
CK_TILE_HOST_DEVICE constexpr auto ck_tile::make_slice_transform (const LowLength &low_length, const SliceBegin &slice_begin, const SliceEnd &slice_end)
template<typename Modulus, typename UpLength>
CK_TILE_HOST_DEVICE constexpr auto ck_tile::make_modulo_transform (const Modulus &modulus, const UpLength &up_length)
template<typename LowLengths>
CK_TILE_HOST_DEVICE constexpr auto ck_tile::make_xor_transform (const LowLengths &low_lengths)
template<typename LowLength, typename OffsetLength>
CK_TILE_HOST_DEVICE constexpr auto ck_tile::make_offset_transform (const LowLength &low_length, const OffsetLength &offset_length)
template<typename UpLength, typename Indices>
CK_TILE_HOST_DEVICE constexpr auto ck_tile::make_indexing_transform (const UpLength &up_lengths, const Indices &indices)
template<typename UpLength, typename IndexingAdaptor>
CK_TILE_HOST_DEVICE constexpr auto ck_tile::make_indexing_transform_with_adaptor (const UpLength &up_lengths, const IndexingAdaptor &iadaptor)