/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/develop/include/ck_tile/core/algorithm/coordinate_transform.hpp File Reference

/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/develop/include/ck_tile/core/algorithm/coordinate_transform.hpp File Reference#

Composable Kernel: /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/develop/include/ck_tile/core/algorithm/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

 ck_tile
 

Enumerations

enum class  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 >
constexpr CK_TILE_HOST_DEVICE auto ck_tile::make_pass_through_transform (const LowLength &low_length)
 
template<typename LowLength , typename LeftPad , typename RightPad , bool SkipIsValidCheck = false>
constexpr CK_TILE_HOST_DEVICE 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>
constexpr CK_TILE_HOST_DEVICE 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>
constexpr CK_TILE_HOST_DEVICE 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>
constexpr CK_TILE_HOST_DEVICE auto ck_tile::make_embed_transform (const UpLengths &up_lengths, const Coefficients &coefficients)
 
template<typename LowLengths >
constexpr CK_TILE_HOST_DEVICE auto ck_tile::make_merge_transform_v2_magic_division (const LowLengths &low_lengths)
 
template<typename LowLengths >
constexpr CK_TILE_HOST_DEVICE auto ck_tile::make_merge_transform_v3_division_mod (const LowLengths &low_lengths)
 
template<typename LowLengths >
constexpr CK_TILE_HOST_DEVICE auto ck_tile::make_merge_transform (const LowLengths &low_lengths)
 
template<typename UpLengths , bool Use24BitIntegerCalculation = false>
constexpr CK_TILE_HOST_DEVICE auto ck_tile::make_unmerge_transform (const UpLengths &up_lengths, bool_constant< Use24BitIntegerCalculation >=bool_constant< false >{})
 
template<typename LowerIndex >
constexpr CK_TILE_HOST_DEVICE auto ck_tile::make_freeze_transform (const LowerIndex &low_idx)
 
template<typename UpperIndex >
constexpr CK_TILE_HOST_DEVICE auto ck_tile::make_insert_transform (const UpperIndex &up_idx)
 
template<typename UpLengths >
constexpr CK_TILE_HOST_DEVICE auto ck_tile::make_replicate_transform (const UpLengths &up_lengths)
 
template<typename LowLength , typename SliceBegin , typename SliceEnd >
constexpr CK_TILE_HOST_DEVICE auto ck_tile::make_slice_transform (const LowLength &low_length, const SliceBegin &slice_begin, const SliceEnd &slice_end)
 
template<typename Modulus , typename UpLength >
constexpr CK_TILE_HOST_DEVICE auto ck_tile::make_modulo_transform (const Modulus &modulus, const UpLength &up_length)
 
template<typename LowLengths >
constexpr CK_TILE_HOST_DEVICE auto ck_tile::make_xor_transform (const LowLengths &low_lengths)
 
template<typename LowLength , typename OffsetLength >
constexpr CK_TILE_HOST_DEVICE auto ck_tile::make_offset_transform (const LowLength &low_length, const OffsetLength &offset_length)
 
template<typename UpLength , typename Indices >
constexpr CK_TILE_HOST_DEVICE auto ck_tile::make_indexing_transform (const UpLength &up_lengths, const Indices &indices)
 
template<typename UpLength , typename IndexingAdaptor >
constexpr CK_TILE_HOST_DEVICE auto ck_tile::make_indexing_transform_with_adaptor (const UpLength &up_lengths, const IndexingAdaptor &iadaptor)