merge_v3_division_mod< LowLengths > Struct Template Reference#
Public Types |
Public Member Functions |
Static Public Member Functions |
Public Attributes |
Static Public Attributes |
List of all members
ck_tile::merge_v3_division_mod< LowLengths > Struct Template Reference
#include <coordinate_transform.hpp>
Inheritance diagram for ck_tile::merge_v3_division_mod< LowLengths >:

Public Types | |
using | LowerIndex = multi_index< NDimLow > |
using | UpperIndex = multi_index< 1 > |
using | LowLengthsScan = decltype(container_reverse_exclusive_scan(LowLengths{}, multiplies{}, number< 1 >{})) |
using | UpLengths = decltype(make_tuple(container_reduce(LowLengths{}, multiplies{}, number< 1 >{}))) |
Public Member Functions | |
constexpr CK_TILE_HOST_DEVICE | merge_v3_division_mod ()=default |
constexpr CK_TILE_HOST_DEVICE | merge_v3_division_mod (const LowLengths &low_lengths) |
constexpr CK_TILE_HOST_DEVICE const auto & | get_upper_lengths () const |
template<typename LowIdx , typename UpIdx > | |
constexpr CK_TILE_HOST_DEVICE void | calculate_lower_index (LowIdx &idx_low, const UpIdx &idx_up) const |
template<typename LowIdxDiff , typename UpIdxDiff , typename LowIdx , typename UpIdx > | |
CK_TILE_HOST_DEVICE void | update_lower_index (LowIdxDiff &idx_diff_low, const UpIdxDiff &, LowIdx &idx_low, const UpIdx &idx_up_new) const |
CK_TILE_HOST_DEVICE void | print () const |
Static Public Member Functions | |
static constexpr CK_TILE_HOST_DEVICE bool | is_valid_upper_index_always_mapped_to_valid_lower_index () |
static constexpr CK_TILE_HOST_DEVICE bool | is_known_at_compile_time () |
template<typename UpIdx > | |
static constexpr CK_TILE_HOST_DEVICE bool | is_valid_upper_index_mapped_to_valid_lower_index (const UpIdx &) |
template<typename LowVectorLengths , typename LowVectorStrides > | |
static constexpr CK_TILE_HOST_DEVICE auto | calculate_upper_dimension_safe_vector_length_strides (const LowVectorLengths &low_vector_lengths, const LowVectorStrides &low_vector_strides) |
![]() | |
static constexpr CK_TILE_HOST_DEVICE auto | get_type_enum () |
static constexpr CK_TILE_HOST_DEVICE index_t | get_num_of_lower_dimension () |
static constexpr CK_TILE_HOST_DEVICE index_t | get_num_of_upper_dimension () |
static constexpr CK_TILE_HOST_DEVICE auto | calculate_upper_dimension_safe_vector_length_strides (const LowVectorLengths &, const LowVectorStrides &) |
Public Attributes | |
LowLengths | low_lengths_ |
LowLengthsScan | low_lengths_scan_ |
UpLengths | up_lengths_ |
Static Public Attributes | |
static constexpr index_t | NDimLow = LowLengths::size() |
Member Typedef Documentation
◆ LowerIndex
template<typename LowLengths >
using ck_tile::merge_v3_division_mod< LowLengths >::LowerIndex = multi_index<NDimLow> |
◆ LowLengthsScan
template<typename LowLengths >
using ck_tile::merge_v3_division_mod< LowLengths >::LowLengthsScan = decltype(container_reverse_exclusive_scan(LowLengths{}, multiplies{}, number<1>{})) |
◆ UpLengths
template<typename LowLengths >
using ck_tile::merge_v3_division_mod< LowLengths >::UpLengths = decltype(make_tuple(container_reduce(LowLengths{}, multiplies{}, number<1>{}))) |
◆ UpperIndex
template<typename LowLengths >
using ck_tile::merge_v3_division_mod< LowLengths >::UpperIndex = multi_index<1> |
Constructor & Destructor Documentation
◆ merge_v3_division_mod() [1/2]
template<typename LowLengths >
|
constexprdefault |
◆ merge_v3_division_mod() [2/2]
template<typename LowLengths >
|
inlineconstexpr |
Member Function Documentation
◆ calculate_lower_index()
template<typename LowLengths >
template<typename LowIdx , typename UpIdx >
|
inlineconstexpr |
◆ calculate_upper_dimension_safe_vector_length_strides()
template<typename LowLengths >
template<typename LowVectorLengths , typename LowVectorStrides >
|
inlinestaticconstexpr |
◆ get_upper_lengths()
template<typename LowLengths >
|
inlineconstexpr |
◆ is_known_at_compile_time()
template<typename LowLengths >
|
inlinestaticconstexpr |
◆ is_valid_upper_index_always_mapped_to_valid_lower_index()
template<typename LowLengths >
|
inlinestaticconstexpr |
◆ is_valid_upper_index_mapped_to_valid_lower_index()
template<typename LowLengths >
template<typename UpIdx >
|
inlinestaticconstexpr |
◆ print()
template<typename LowLengths >
|
inline |
◆ update_lower_index()
template<typename LowLengths >
template<typename LowIdxDiff , typename UpIdxDiff , typename LowIdx , typename UpIdx >
|
inline |
Member Data Documentation
◆ low_lengths_
template<typename LowLengths >
LowLengths ck_tile::merge_v3_division_mod< LowLengths >::low_lengths_ |
◆ low_lengths_scan_
template<typename LowLengths >
LowLengthsScan ck_tile::merge_v3_division_mod< LowLengths >::low_lengths_scan_ |
◆ NDimLow
template<typename LowLengths >
|
staticconstexpr |
◆ up_lengths_
template<typename LowLengths >
UpLengths ck_tile::merge_v3_division_mod< LowLengths >::up_lengths_ |
The documentation for this struct was generated from the following file:
- /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-composable-kernel/checkouts/docs-6.4.3/include/ck_tile/core/algorithm/coordinate_transform.hpp