pad< LowLength, LeftPadLength, RightPadLength, SkipIsValidCheck > Struct Template Reference

pad&lt; LowLength, LeftPadLength, RightPadLength, SkipIsValidCheck &gt; Struct Template Reference#

Composable Kernel: ck_tile::pad< LowLength, LeftPadLength, RightPadLength, SkipIsValidCheck > Struct Template Reference
ck_tile::pad< LowLength, LeftPadLength, RightPadLength, SkipIsValidCheck > Struct Template Reference

#include <coordinate_transform.hpp>

Inheritance diagram for ck_tile::pad< LowLength, LeftPadLength, RightPadLength, SkipIsValidCheck >:
ck_tile::base_transform< 1, 1 >

Public Types

using LowerIndex = multi_index<1>
using UpperIndex = multi_index<1>
using UpLengths = decltype(make_tuple(LowLength{} + LeftPadLength{} + RightPadLength{}))

Public Member Functions

CK_TILE_HOST_DEVICE constexpr pad ()
CK_TILE_HOST_DEVICE constexpr pad (const LowLength &low_length, const LeftPadLength &left_pad_length, const RightPadLength &right_pad_length)
CK_TILE_HOST_DEVICE constexpr const auto & get_upper_lengths () const
template<typename LowIdx, typename UpIdx>
CK_TILE_HOST_DEVICE constexpr void calculate_lower_index (LowIdx &idx_low, const UpIdx &idx_up) const
template<typename UpIdx>
CK_TILE_HOST_DEVICE constexpr bool is_valid_upper_index_mapped_to_valid_lower_index (const UpIdx &idx_up) const

Static Public Member Functions

template<typename LowIdxDiff, typename UpIdxDiff, typename LowIdx, typename UpIdx>
static CK_TILE_HOST_DEVICE void update_lower_index (LowIdxDiff &idx_diff_low, const UpIdxDiff &idx_diff_up, LowIdx &idx_low, const UpIdx &)
static CK_TILE_HOST_DEVICE constexpr bool is_valid_upper_index_always_mapped_to_valid_lower_index ()
static CK_TILE_HOST_DEVICE constexpr bool is_known_at_compile_time ()
Static Public Member Functions inherited from ck_tile::base_transform< 1, 1 >
static CK_TILE_HOST_DEVICE constexpr auto get_type_enum ()
static CK_TILE_HOST_DEVICE constexpr index_t get_num_of_lower_dimension ()
static CK_TILE_HOST_DEVICE constexpr index_t get_num_of_upper_dimension ()
static CK_TILE_HOST_DEVICE constexpr auto calculate_upper_dimension_safe_vector_length_strides (const LowVectorLengths &, const LowVectorStrides &)

Public Attributes

UpLengths up_lengths_
LeftPadLength left_pad_length_
RightPadLength right_pad_length_

Member Typedef Documentation

◆ LowerIndex

template<typename LowLength, typename LeftPadLength, typename RightPadLength, bool SkipIsValidCheck = false>
using ck_tile::pad< LowLength, LeftPadLength, RightPadLength, SkipIsValidCheck >::LowerIndex = multi_index<1>

◆ UpLengths

template<typename LowLength, typename LeftPadLength, typename RightPadLength, bool SkipIsValidCheck = false>
using ck_tile::pad< LowLength, LeftPadLength, RightPadLength, SkipIsValidCheck >::UpLengths = decltype(make_tuple(LowLength{} + LeftPadLength{} + RightPadLength{}))

◆ UpperIndex

template<typename LowLength, typename LeftPadLength, typename RightPadLength, bool SkipIsValidCheck = false>
using ck_tile::pad< LowLength, LeftPadLength, RightPadLength, SkipIsValidCheck >::UpperIndex = multi_index<1>

Constructor & Destructor Documentation

◆ pad() [1/2]

template<typename LowLength, typename LeftPadLength, typename RightPadLength, bool SkipIsValidCheck = false>
CK_TILE_HOST_DEVICE constexpr ck_tile::pad< LowLength, LeftPadLength, RightPadLength, SkipIsValidCheck >::pad ( )
inlineconstexpr

◆ pad() [2/2]

template<typename LowLength, typename LeftPadLength, typename RightPadLength, bool SkipIsValidCheck = false>
CK_TILE_HOST_DEVICE constexpr ck_tile::pad< LowLength, LeftPadLength, RightPadLength, SkipIsValidCheck >::pad ( const LowLength & low_length,
const LeftPadLength & left_pad_length,
const RightPadLength & right_pad_length )
inlineconstexpr

Member Function Documentation

◆ calculate_lower_index()

template<typename LowLength, typename LeftPadLength, typename RightPadLength, bool SkipIsValidCheck = false>
template<typename LowIdx, typename UpIdx>
CK_TILE_HOST_DEVICE constexpr void ck_tile::pad< LowLength, LeftPadLength, RightPadLength, SkipIsValidCheck >::calculate_lower_index ( LowIdx & idx_low,
const UpIdx & idx_up ) const
inlineconstexpr

◆ get_upper_lengths()

template<typename LowLength, typename LeftPadLength, typename RightPadLength, bool SkipIsValidCheck = false>
CK_TILE_HOST_DEVICE constexpr const auto & ck_tile::pad< LowLength, LeftPadLength, RightPadLength, SkipIsValidCheck >::get_upper_lengths ( ) const
inlineconstexpr

◆ is_known_at_compile_time()

template<typename LowLength, typename LeftPadLength, typename RightPadLength, bool SkipIsValidCheck = false>
CK_TILE_HOST_DEVICE constexpr bool ck_tile::pad< LowLength, LeftPadLength, RightPadLength, SkipIsValidCheck >::is_known_at_compile_time ( )
inlinestaticconstexpr

◆ is_valid_upper_index_always_mapped_to_valid_lower_index()

template<typename LowLength, typename LeftPadLength, typename RightPadLength, bool SkipIsValidCheck = false>
CK_TILE_HOST_DEVICE constexpr bool ck_tile::pad< LowLength, LeftPadLength, RightPadLength, SkipIsValidCheck >::is_valid_upper_index_always_mapped_to_valid_lower_index ( )
inlinestaticconstexpr

◆ is_valid_upper_index_mapped_to_valid_lower_index()

template<typename LowLength, typename LeftPadLength, typename RightPadLength, bool SkipIsValidCheck = false>
template<typename UpIdx>
CK_TILE_HOST_DEVICE constexpr bool ck_tile::pad< LowLength, LeftPadLength, RightPadLength, SkipIsValidCheck >::is_valid_upper_index_mapped_to_valid_lower_index ( const UpIdx & idx_up) const
inlineconstexpr

◆ update_lower_index()

template<typename LowLength, typename LeftPadLength, typename RightPadLength, bool SkipIsValidCheck = false>
template<typename LowIdxDiff, typename UpIdxDiff, typename LowIdx, typename UpIdx>
CK_TILE_HOST_DEVICE void ck_tile::pad< LowLength, LeftPadLength, RightPadLength, SkipIsValidCheck >::update_lower_index ( LowIdxDiff & idx_diff_low,
const UpIdxDiff & idx_diff_up,
LowIdx & idx_low,
const UpIdx &  )
inlinestatic

Member Data Documentation

◆ left_pad_length_

template<typename LowLength, typename LeftPadLength, typename RightPadLength, bool SkipIsValidCheck = false>
LeftPadLength ck_tile::pad< LowLength, LeftPadLength, RightPadLength, SkipIsValidCheck >::left_pad_length_

◆ right_pad_length_

template<typename LowLength, typename LeftPadLength, typename RightPadLength, bool SkipIsValidCheck = false>
RightPadLength ck_tile::pad< LowLength, LeftPadLength, RightPadLength, SkipIsValidCheck >::right_pad_length_

◆ up_lengths_

template<typename LowLength, typename LeftPadLength, typename RightPadLength, bool SkipIsValidCheck = false>
UpLengths ck_tile::pad< LowLength, LeftPadLength, RightPadLength, SkipIsValidCheck >::up_lengths_

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