space_filling_curve< TensorLengths, DimAccessOrder, ScalarsPerAccess, SnakeCurved > Struct Template Reference#
ck_tile::space_filling_curve< TensorLengths, DimAccessOrder, ScalarsPerAccess, SnakeCurved > Struct Template Reference
#include <space_filling_curve.hpp>
Public Types | |
| using | Index = multi_index<nDim> |
Static Public Member Functions | |
| static CK_TILE_HOST_DEVICE constexpr index_t | get_num_of_access () |
| template<index_t AccessIdx1dHead, index_t AccessIdx1dTail> | |
| static CK_TILE_HOST_DEVICE constexpr auto | get_step_between (number< AccessIdx1dHead >, number< AccessIdx1dTail >) |
| template<index_t AccessIdx1d> | |
| static CK_TILE_HOST_DEVICE constexpr auto | get_forward_step (number< AccessIdx1d >) |
| template<index_t AccessIdx1d> | |
| static CK_TILE_HOST_DEVICE constexpr auto | get_backward_step (number< AccessIdx1d >) |
| template<index_t AccessIdx1d> | |
| static CK_TILE_HOST_DEVICE constexpr Index | _get_index (number< AccessIdx1d >) |
| template<index_t AccessIdx1d> | |
| static CK_TILE_HOST_DEVICE constexpr auto | get_index (number< AccessIdx1d >) |
Static Public Attributes | |
| static constexpr index_t | TensorSize |
| static constexpr index_t | nDim = TensorLengths::size() |
| static constexpr index_t | ScalarPerVector |
| static constexpr auto | access_lengths = TensorLengths{} / ScalarsPerAccess{} |
| static constexpr auto | dim_access_order = DimAccessOrder{} |
| static constexpr auto | ordered_access_lengths |
| static constexpr auto | to_index_adaptor |
| static constexpr auto | I0 = number<0>{} |
| static constexpr auto | I1 = number<1>{} |
Member Typedef Documentation
◆ Index
template<typename TensorLengths, typename DimAccessOrder, typename ScalarsPerAccess, bool SnakeCurved = true>
| using ck_tile::space_filling_curve< TensorLengths, DimAccessOrder, ScalarsPerAccess, SnakeCurved >::Index = multi_index<nDim> |
Member Function Documentation
◆ _get_index()
template<typename TensorLengths, typename DimAccessOrder, typename ScalarsPerAccess, bool SnakeCurved = true>
template<index_t AccessIdx1d>
|
inlinestaticconstexpr |
◆ get_backward_step()
template<typename TensorLengths, typename DimAccessOrder, typename ScalarsPerAccess, bool SnakeCurved = true>
template<index_t AccessIdx1d>
|
inlinestaticconstexpr |
◆ get_forward_step()
template<typename TensorLengths, typename DimAccessOrder, typename ScalarsPerAccess, bool SnakeCurved = true>
template<index_t AccessIdx1d>
|
inlinestaticconstexpr |
◆ get_index()
template<typename TensorLengths, typename DimAccessOrder, typename ScalarsPerAccess, bool SnakeCurved = true>
template<index_t AccessIdx1d>
|
inlinestaticconstexpr |
◆ get_num_of_access()
template<typename TensorLengths, typename DimAccessOrder, typename ScalarsPerAccess, bool SnakeCurved = true>
|
inlinestaticconstexpr |
◆ get_step_between()
template<typename TensorLengths, typename DimAccessOrder, typename ScalarsPerAccess, bool SnakeCurved = true>
|
inlinestaticconstexpr |
Member Data Documentation
◆ access_lengths
template<typename TensorLengths, typename DimAccessOrder, typename ScalarsPerAccess, bool SnakeCurved = true>
|
staticconstexpr |
◆ dim_access_order
template<typename TensorLengths, typename DimAccessOrder, typename ScalarsPerAccess, bool SnakeCurved = true>
|
staticconstexpr |
◆ I0
template<typename TensorLengths, typename DimAccessOrder, typename ScalarsPerAccess, bool SnakeCurved = true>
|
staticconstexpr |
◆ I1
template<typename TensorLengths, typename DimAccessOrder, typename ScalarsPerAccess, bool SnakeCurved = true>
|
staticconstexpr |
◆ nDim
template<typename TensorLengths, typename DimAccessOrder, typename ScalarsPerAccess, bool SnakeCurved = true>
|
staticconstexpr |
◆ ordered_access_lengths
template<typename TensorLengths, typename DimAccessOrder, typename ScalarsPerAccess, bool SnakeCurved = true>
|
staticconstexpr |
Initial value:
=
CK_TILE_HOST_DEVICE constexpr auto container_reorder_given_new2old(const array< TData, NSize > &old_array, sequence< IRs... >)
Definition tile/core/container/container_helper.hpp:39
static constexpr auto access_lengths
Definition tensor_space_filling_curve.hpp:28
static constexpr auto dim_access_order
Definition tensor_space_filling_curve.hpp:29
◆ ScalarPerVector
template<typename TensorLengths, typename DimAccessOrder, typename ScalarsPerAccess, bool SnakeCurved = true>
|
staticconstexpr |
Initial value:
=
CK_TILE_HOST_DEVICE constexpr index_t reduce_on_sequence(Seq, Reduce f, number< Init >)
Definition tile/core/container/sequence.hpp:982
Definition tile/core/numeric/math.hpp:98
◆ TensorSize
template<typename TensorLengths, typename DimAccessOrder, typename ScalarsPerAccess, bool SnakeCurved = true>
|
staticconstexpr |
Initial value:
=
◆ to_index_adaptor
template<typename TensorLengths, typename DimAccessOrder, typename ScalarsPerAccess, bool SnakeCurved = true>
|
staticconstexpr |
Initial value:
CK_TILE_HOST_DEVICE constexpr auto make_merge_transform(const LowLengths &low_lengths)
Definition coordinate_transform.hpp:1615
CK_TILE_HOST_DEVICE constexpr auto make_single_stage_tensor_adaptor(const Transforms &transforms, LowerDimensionOldTopIdss, UpperDimensionNewTopIdss)
Definition tile/core/tensor/tensor_adaptor.hpp:359
CK_TILE_HOST_DEVICE constexpr auto make_tuple(Xs &&... xs)
Definition tile/core/container/tuple.hpp:360
static constexpr auto ordered_access_lengths
Definition tensor_space_filling_curve.hpp:30
typename conditional< kHasContent, type0, type1 >::type type
Definition utility/sequence.hpp:271
Definition tile/core/container/sequence.hpp:49
The documentation for this struct was generated from the following file: